关于 openai-api
openai-api 是供 AI Agent 在工作流中调用 OpenAI API 的技能,涵盖文本与聊天生成、函数调用、助手管理、嵌入和微调。
主要功能
- 01文本与聊天补全
- 02函数调用
- 03助手管理
- 04生成嵌入向量
- 05访问微调接口
适用场景
- 01生成聊天机器人回复
- 02为语义搜索生成嵌入向量
- 03将 API 函数集成为工具
- 04总结内容或分析数据
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill openai-api安装后在 Claude Code 中输入/openai-api确认已加载。
详细介绍
openai-api
用途
此技能提供对 OpenAI API 的直接访问,可用于生成文本补全、处理函数调用、管理助手和创建嵌入。它旨在帮助 AI Agent 将 OpenAI 的能力集成到工作流中。
使用时机
当你需要动态生成文本(例如,用于聊天机器人)、用于语义搜索的嵌入,或用于工具集成的函数调用时,请使用此技能。在需要实时 AI 响应的场景中使用,例如代码生成、内容摘要或数据分析。简单任务无需使用;应将其留给复杂的 AI 驱动操作,尤其是在 OpenAI 的模型优于本地替代方案时。
主要功能
- 文本补全:使用 /completions 端点,搭配 text-davinci-003 等模型进行基本的提示词生成。
- 聊天补全:利用 /chat/completions 实现对话式 AI,支持基于角色的消息和工具。
- 函数调用:在请求正文中定义函数,通过 /chat/completions 启用工具,实现动态 API 交互。
- 助手:通过 /assistants 端点管理自定义助手,创建配备工具和文件的持久化 AI Agent。
- 嵌入:通过 /embeddings 生成向量表示,用于相似性搜索等应用。
- 微调:访问 /fine-tunes 以自定义模型,但需要使用特定的输入格式,例如 JSONL 文件。
使用模式
始终通过环境变量设置 API 密钥:export OPENAI_API_KEY=your_api_key。向基础 URL https://api.openai.com/v1/ 发送请求。使用命令行或脚本时,可使用 curl 或 OpenAI SDK 等工具。使用 JSON 负载构造请求,其中包含 model(例如 gpt-3.5-turbo)和 max_tokens(例如 150)等参数。通过指数退避实现重试逻辑,以处理速率限制。若要使用函数调用,请在请求中加入 "tools" 数组,并检查响应中的 "tool_calls"。
常用命令/API
通过 HTTP 请求或 OpenAI SDK 进行交互。进行身份验证时,请添加标头:Authorization: Bearer $OPENAI_API_KEY。主要端点:
- 文本补全:向 /completions 发送 POST 请求,正文为 {"model": "text-davinci-003", "prompt": "Hello world", "max_tokens": 50}。
示例片段:
curl https://api.openai.com/v1/completions \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -H "Content-Type: application/json" \ -d '{"model": "text-davinci-003", "prompt": "Explain AI"}' - 聊天补全:向 /chat/completions 发送 POST 请求,正文为 {"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Hello"}], "tools": [...]}。
示例片段:
curl https://api.openai.com/v1/chat/completions \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{"model": "gpt-3.5-turbo", "messages": [{"role": "user", "content": "Summarize this: AI is changing the world"}]}' - 嵌入:向 /embeddings 发送 POST 请求,正文为 {"model": "text-embedding-ada-002", "input": "Your text here"}。 示例:在代码中这样使用:response = openai.Embedding.create(model="text-embedding-ada-002", input="Hello")
- 配置格式:请求通常使用类似 {"temperature": 0.7, "top_p": 1} 的 JSON 来控制输出随机性。
集成说明
在所用语言中导入 OpenAI SDK 进行集成(例如,Python 中使用 pip install openai)。设置事件驱动模式,例如在用户输入时触发补全。对于函数调用,请将工具定义为字典列表(例如,{"type": "function", "function": {"name": "get_weather", "parameters": {"location": "string"}}})。通过规范化响应格式,确保与其他 AI API 兼容。使用 Webhook 让助手处理异步事件。使用模拟服务测试集成,以避免产生真实 API 费用。
错误处理
常见错误包括 429(超出速率限制)、401(未授权)和 400(请求错误)。检查响应状态码,并从 JSON 正文中解析错误消息(例如,{"error": {"message": "Invalid model", "type": "invalid_request_error"}})。针对暂时性错误实现重试逻辑:使用循环并通过 time.sleep() 延迟。若身份验证失败,请确认已设置 $OPENAI_API_KEY 且密钥未过期。记录包含错误代码和消息等详细信息的错误日志,然后回退到默认响应或其他技能。
图关系
- 所属集群:ai-apis
- 相关标签:ai-apis、api
- 潜在链接:可与同一集群中的技能集成,例如结合其他 AI API 构建工作流;依赖身份验证服务进行密钥管理。