跳转到主要内容

经过精心设计的提示是用于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或联系维护者。

项目详情


发行历史 发行通知 | RSS源

下载文件

下载适合您平台文件。如果您不确定选择哪一个,请了解更多关于 安装包 的信息。

源分发

promptarchitect-0.4.0.tar.gz (35.0 MB 查看哈希值)

上传时间 源代码

构建分发

promptarchitect-0.4.0-py3-none-any.whl (43.8 kB 查看哈希值)

上传时间 Python 3

支持者