aiconfig 项目介绍
aiconfig 是一个开源框架,用于构建生产级别的生成型人工智能应用程序。它通过将生成型 AI 的提示、模型和模型参数管理为可进行版本控制、评估、监控并可在本地编辑器中进行快速原型设计的 JSON 可序列化配置,简化了生成型 AI 应用的开发流程。aiconfig 支持将生成型 AI 的行为与应用程序代码分离,为开发者提供了一种流畅的 AI 开发工作流。
快速开始
对于使用 Visual Studio Code 的用户,可以安装 AIConfig Editor VS Code Extension,以便轻松进行编辑。如果不使用 VS Code,可以按照以下步骤操作:
- 安装 Python 版本:
pip3 install python-aiconfig
- 设置 OpenAI API 密钥:
export OPENAI_API_KEY='your-key'
- 编辑 aiconfig:
aiconfig edit
安装指南
aiconfig 支持 Python 和 Node.js 环境,可以使用以下命令进行安装:
-
对于 Python:
pip3 install python-aiconfig
或使用 poetry:
poetry add python-aiconfig
-
对于 Node.js:
npm install aiconfig
或使用 yarn:
yarn add aiconfig
使用 AIConfig Editor 来创建和迭代提示时需要安装 python-aiconfig 包,即使计划在应用程序代码中使用 Node SDK 来与 aiconfig 交互。
在 VS Code 中打开 AIConfig Editor
通过 AIConfig Editor,用户可以直观地创建和编辑被存储为 AIConfigs 的提示和模型参数:
- 安装 VS Code 扩展程序。
- 打开
travel.aiconfig.json
文件,这将自动在 VS Code 中打开 AIConfig Editor。
在编辑器中运行提示
使用 AIConfig Editor,可以创建和运行复杂的提示链和变量。编辑器每隔 15 秒自动保存,用户也可以手动保存,更新将在 AIConfig JSON 文件中反映。
使用 AIConfig SDK
aiconfig 提供了 Python 和 Node.js 的 SDK,使得开发者可以在应用代码中运行由 AIConfig Editor 生成的 aiconfig 提示。以下是 Python SDK 的示例代码:
from aiconfig import AIConfigRuntime, InferenceOptions
import asyncio
config = AIConfigRuntime.load("travel.aiconfig.json")
inference_options = InferenceOptions(stream=True)
async def gen_nyc_itinerary():
gen_itinerary_response = await config.run("gen_itinerary", params={"order_by": "location"}, options=inference_options, run_with_dependencies=True)
asyncio.run(gen_nyc_itinerary())
config.save('updated_travel.aiconfig.json', include_outputs=True)
项目重要性
在传统的应用开发中过于交错的生成型 AI 设置往往增加了复杂性,不易于对提示进行迭代或尝试不同的模型。aiconfig 帮助将提示、模型参数和特定模型逻辑与应用代码分离,带来以下优点:
- 精简应用程序代码。
- 打开 aiconfig 在 playground 中快速迭代。
- 对 aiconfig 进行版本控制和评估。
特性
- 提示作为配置:使用标准化的 JSON 格式来存储提示和模型设置。
- 提示编辑器:通过 AIConfig Editor 快速原型制作。
- 模型无关和多模态 SDK:支持 Python 和 Node.js。
- 可扩展性:可以扩展 aiconfig 以适用于任何生成型 AI 模型。
- 协作开发:支持不同人员协同工作。
应用场景
aiconfig 在处理复杂的提示链和生成型 AI 工作流方面极具优势,下面是一些使用示例:
- 带有 AIConfig 的检索增强生成(RAG)。
- 使用 OpenAI 的功能调用。
- 命令行界面(CLI)聊天机器人。
- 提示路由。
- 多模型一致性。
- 针对大型语言模型(LLM)的安全防护。
支持的模型
aiconfig 支持多种生成型 AI 模型,如 OpenAI 的 GPT-3、GPT-4、Google PaLM 等,并支持自定义 ModelParser 来适配未提供的模型。
贡献
aiconfig 是一个快速发展的项目,欢迎社区贡献代码和想法: