简介
Prompt Engine是一种自然语言生成工具,旨在帮助人们更轻松地编写和生成文本内容,特别是针对机器学习领域。Prompt Engine可以通过输入简短的文本提示或指令,自动生成符合上下文的语言内容,从而缩短文本生成的时间和提高生成内容的质量。
背景
像GPT-3和Codex这样的LLM一直在突破AI能力的限制——它们可以生成语言和代码,但也能够生成诸如问题回答、总结、分类和对话等及时性行为。在LLM中启用特定行为的最佳技术之一被称为prompt engineering——精心设计输入,引导模型产生某些类型的输出。给出少量输入和输出的示例,模型就可以根据示例输出你想要的输出类型。
目的
Prompt Engine的目的是为了使自然语言生成变得更加容易和高效,可以保证输出的文本具有一定的质量和准确性,也可以处理大量的文本数据,从中提取有用的信息,并为应用程序提供更好的智能化服务。
github: prompt-engine-py
安装
简介
prompt-engine-py是微软abhimasand Abhishek Masand提供的一款开源的python第三方库,它同时支持PromptEngine、CodeEngine、ChatEngine,这三种都促进了prompt engineering的模式,其中prompt 由描述、输入和输出的示例、用户和模型通信时正在进行的输入/输出的“对话框”(会话缓冲区),以及“对话框”确保模型(无状态)具有到目前为止对话中发生的内容的上下文组成。
架构图
下面是PromptEngine类中可以用到的函数以及继承的函数
示例:
输出:
Code Engine 为 自然语言转化为代码的场景创建prompt
Code prompt通常需要一个描述,描述应该给出关于模型应该生成的编程语言和应该使用的库,还需要提供一下需求
并且还要给出交互的示例,说明生成的代码类型
CodeEngine默认使用 Python 作为编程语言,您可以将不同的CodeEngineConfig传递给构造函数来为不同的语言创建prompt
假如如果我们想要生成 JavaScript 的prompt,我们可以通过 CodeEngine 实例化 javascript_config 来指定它应该使用的注释运算符:
示例:
输出:
就像Code Engine一样,Chat Engine创建prompt 应该带有描述和示例,不同之处在于Chat Engine为对话场景创建prompt,其中用户和模型都使用自然语言。
示例:
输出:
我们可以把不同的prompt变成不同的yaml文件,这样我们就可以不同的场景进行随意的切换,prompt-engine提供了YAML文件加载到prompt-engine类中的方法。
示例:
chat.yaml
输出: