mcpField
O
openai-api

openai-api

github.com/alphaonedev开发48 次安装
代码仓库

关于 openai-api

openai-api 是供 AI Agent 在工作流中调用 OpenAI API 的技能,涵盖文本与聊天生成、函数调用、助手管理、嵌入和微调。

主要功能

  1. 01文本与聊天补全
  2. 02函数调用
  3. 03助手管理
  4. 04生成嵌入向量
  5. 05访问微调接口

适用场景

  1. 01生成聊天机器人回复
  2. 02为语义搜索生成嵌入向量
  3. 03将 API 函数集成为工具
  4. 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 构建工作流;依赖身份验证服务进行密钥管理。

评论

支持 Markdown