经过精心设计的提示是用于AI模型以确保一致和可靠输出的精心设计的输入,在涉及大型语言模型的自动化过程中起着至关重要的作用。
项目描述
PromptArchitect
关于工程化提示的PromptArchitect
工程化提示:自动化流程的结构化输入
在人工智能快速发展的背景下,“工程化提示”的概念越来越受到重视,尤其是在利用大型语言模型(LLMs)和其他AI系统的环境中。工程化提示是精心设计的输入,旨在与AI模型进行交互,以确保一致和可靠的输出。这些提示不仅仅是查询,而是构成它们在其中运行的自动化流程的基本工具。
定义和目的
工程化提示是一种精心设计的输入,用于从AI模型生成特定类型的响应。与随意或临时的提示不同,工程化提示是通过严格的过程开发的,考虑了模型的语言理解和输出能力的细微差别。它们类似于软件开发中的代码,作为与AI交互以可靠执行特定任务的基本组件。
工程化提示的特点
- 精确性和清晰性:工程化提示精确、明确,旨在从AI模型诱导出特定类型的响应或行为。
- 可重用性:这些提示设计用于在类似任务或模型中重用,确保自动化过程中的效率和一致性。
- 可扩展性:工程化提示可以根据不同的需求或AI模型行为的改变进行扩展或修改。
开发和维护
就像任何软件代码一样,工程化提示需要结构化的开发和维护过程,以确保它们保持有效且安全使用。
- 版本控制:跟踪不同版本的提示词至关重要,尤其是在模型和需求不断演变的情况下。版本控制允许开发者系统地管理更改,在需要时回滚到先前版本,并了解提示词有效性随时间的变化。
- 文档:全面的文档对于工程化提示词至关重要。它应详细说明设计原理、预期输出、模型兼容性和任何依赖项。此类文档对于当前使用和未来修改都至关重要。
- 测试和验证:严格的测试是提示词开发的基石。这包括单元测试以验证提示词功能、集成测试以确保与AI模型的兼容性,以及验证测试以确认提示词生成预期输出。
- 性能测试:性能测试评估提示词在速度和资源利用率方面的表现,确保即使在扩展规模时提示词也是高效的。
- 回归测试:当底层AI模型更新或从不同提供商切换模型时,这一点尤为重要。回归测试有助于验证更新或更改不会对提示词的性能产生负面影响。
用例
工程化提示词被用于客户服务、内容生成、自动编程帮助等众多领域。在每种情况下,提示词都充当用户需求和模型能力之间的桥梁,促进可控且可预测的AI交互。
新功能:默认模型配置
PromptArchitect现在支持为每个提供商指定默认模型。这确保了在没有指定模型的情况下,使用提供商的默认模型。
配置
更新您的提供商配置文件以包含一个default_model
键。以下是一个提供商配置文件的示例
{
"gpt-3.5-turbo-instruct": {
"input_tokens": 0.0000015,
"output_tokens": 0.000002
},
"gpt-4o-mini": {
"input_tokens": 0.00000015,
"output_tokens": 0.0000006
},
"gpt-4o": {
"input_tokens": 0.00005,
"output_tokens": 0.000015
},
"default_model": "gpt-4o"
}
更多信息
安装
使用以下命令安装PromptArchitect
pip install promptarchitect
用法
以下是如何使用PromptArchitect模块中的EngineeredPrompt类的示例
from promptarchitect import EngineeredPrompt
# Initialize the EngineeredPrompt
prompt = EngineeredPrompt(prompt_file_path='path_to_prompt_file.prompt', output_path='output_directory')
# Execute the prompt
response = prompt.execute(input_file='path_to_input_file.txt')
print(response)
这是对README.md
的补充,包括对Ollama模型(如Gemma2、Llama3.1和Mistral)的支持
对Ollama模型的支持
PromptArchitect支持通过Ollama在本地运行的开源模型的使用。此功能允许您利用强大的本地托管模型,如Gemma2、Llama3.1和Mistral,从而在AI模型部署中提供更大的控制和灵活性。
支持模型
- Gemma2:一个强大且多功能的模型,适用于各种自然语言处理任务。
- Llama3.1:一个提供尖端性能的高级模型,在语言理解和生成方面表现卓越。
- Mistral:一个轻量级、高效的模型,设计用于快速响应和降低资源使用。
需求
为您的操作系统安装Ollama。在使用模型之前,请确保先下载它。
from promptarchitect import EngineeredPrompt
prompt.completion.download_model("gemma2")
配置
要使用这些模型,更新您的配置文件以将Ollama指定为提供商,并指定您希望使用的模型。以下是一个示例配置
{
"ollama": {
"gemma2": {
"input_tokens": 0.0,
"output_tokens": 0.0
},
"llama3.1": {
"input_tokens": 0.0,
"output_tokens": 0.000004,
"default": true
},
}
}
用法
这是如何使用Ollama模型与.prompt
文件一起使用的示例
---
provider: ollama
model: gemma2
prompt_version: 1.0
temperature: 0.2
input: examples/inputs/podcast_titels/beschrijving.txt
output: title-ollama.txt
test_path: examples/tests/podcast_titels
---
# Instructions
Generate 5 titles for a podcast
使用Ollama模型的好处
- 本地控制:在您自己的硬件上本地运行模型,确保数据隐私并减少对云服务的依赖。
- 成本效益:通过使用本地资源避免云计算成本。
- 灵活性:轻松切换到不同的模型,如Gemma2、Llama3.1和Mistral,以满足您的特定需求。
许可
本项目采用MIT许可。有关详细信息,请参阅LICENSE文件。
贡献
我们欢迎贡献!请参阅CONTRIBUTING.md获取更多详细信息。
联系方式
如有任何问题或问题,请在此GitHub存储库中打开一个issue或联系维护者。
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。