4.1 KiB
4.1 KiB
OpenAI集成说明
✅ 已完成
已成功集成OpenAI API,LLM节点现在可以真实调用OpenAI模型。
功能特性
1. LLM服务 (backend/app/services/llm_service.py)
- 支持OpenAI API调用
- 支持自定义模型、温度、最大token数等参数
- 异步调用,提高性能
- 错误处理和异常捕获
2. 工作流引擎集成
- LLM节点现在会真实调用OpenAI API
- 支持prompt模板和变量替换
- 自动处理输入数据格式化
配置方法
1. 设置OpenAI API Key
在 backend/.env 文件中添加:
OPENAI_API_KEY=your-openai-api-key-here
OPENAI_BASE_URL=https://api.openai.com/v1
或者使用环境变量:
export OPENAI_API_KEY=your-openai-api-key-here
export OPENAI_BASE_URL=https://api.openai.com/v1
2. 重启后端服务
docker-compose -f docker-compose.dev.yml restart backend
使用方法
1. 在工作流中添加LLM节点
- 打开工作流设计器
- 从节点工具箱拖拽"LLM"节点到画布
- 配置节点参数(见下方)
2. 配置LLM节点
LLM节点支持以下配置(在节点配置面板中设置):
{
"prompt": "请处理以下输入:\n{input}",
"provider": "openai",
"model": "gpt-3.5-turbo",
"temperature": 0.7,
"max_tokens": 1000
}
参数说明:
prompt: 提示词模板,支持变量替换(如{input},{key}等)provider: LLM提供商,目前支持openaimodel: 模型名称,如gpt-3.5-turbo,gpt-4,gpt-4-turbo-preview等temperature: 温度参数(0-2),控制输出的随机性,默认0.7max_tokens: 最大生成token数,可选
3. Prompt模板示例
基础模板
请处理以下输入数据:{input}
带变量替换
用户输入:{user_input}
请根据以上输入生成回复。
复杂模板
输入数据:
{input}
请分析以上数据并给出:
1. 主要观点
2. 关键信息
3. 建议
4. 执行工作流
- 保存工作流
- 点击"运行"按钮
- 输入初始数据(JSON格式)
- 查看执行结果
输入数据处理
LLM节点会自动处理输入数据:
-
如果输入是字典:
- 支持在prompt中使用
{key}替换变量 - 如果prompt中没有变量,会将整个输入作为JSON附加到prompt
- 支持在prompt中使用
-
如果输入是字符串或其他类型:
- 直接替换
{input}占位符 - 如果没有占位符,附加到prompt末尾
- 直接替换
错误处理
如果OpenAI API调用失败,节点会返回错误信息:
{
"output": null,
"status": "failed",
"error": "LLM调用失败: 具体错误信息"
}
常见错误:
- API Key未配置:
OpenAI API Key未配置,请在环境变量中设置OPENAI_API_KEY - API调用失败:检查网络连接、API Key有效性、余额等
- 模型不存在:检查模型名称是否正确
支持的模型
目前支持所有OpenAI Chat模型:
gpt-3.5-turbogpt-4gpt-4-turbo-previewgpt-4-32k- 其他OpenAI兼容的模型(如果使用自定义base_url)
示例工作流
示例1:简单文本处理
开始 → LLM节点 → 结束
LLM节点配置:
{
"prompt": "请将以下文本翻译成英文:{input}",
"model": "gpt-3.5-turbo"
}
输入:
{
"input": "你好,世界"
}
示例2:数据分析
开始 → LLM节点 → 条件节点 → 输出
LLM节点配置:
{
"prompt": "分析以下数据:\n{input}\n\n请判断数据是否正常(返回true或false)",
"model": "gpt-4",
"temperature": 0.3
}
注意事项
- API费用:每次调用都会产生费用,请注意控制调用频率
- API限制:注意OpenAI的速率限制和配额
- 网络连接:确保服务器可以访问OpenAI API
- 错误处理:建议在工作流中添加错误处理节点
后续计划
- 支持更多LLM提供商(Anthropic Claude、本地模型等)
- 支持流式输出(Streaming)
- 支持函数调用(Function Calling)
- 支持多轮对话上下文
- 添加模型选择UI组件
状态: ✅ 已完成 时间: 2024年