Files
WulaFallenEmpireRW/MCP/使用转发服务指南.md
2025-08-30 16:18:32 +08:00

4.2 KiB
Raw Blame History

OpenAI兼容接口到阿里云百炼平台智能体应用转发服务使用指南

本文档介绍了如何使用Python编写的转发服务将OpenAI兼容的API请求转换为阿里云百炼平台智能体应用的请求。

工作原理

该转发服务作为一个代理服务器运行接收OpenAI兼容的API请求并将其转换为阿里云百炼平台智能体应用的请求格式然后将响应转换回OpenAI格式返回给客户端。

客户端 -> OpenAI兼容请求 -> 转发服务 -> 阿里云百炼平台 -> 转发服务 -> OpenAI兼容响应 -> 客户端

配置要求

环境变量设置

需要设置以下环境变量:

  1. DASHSCOPE_API_KEY - 阿里云百炼平台的API Key
  2. DASHSCOPE_APP_ID - 智能体应用的APP ID
  3. PROXY_PORT (可选) - 转发服务监听的端口默认为8000

您可以在项目目录下的 .env 文件中配置这些变量:

DASHSCOPE_API_KEY="sk-xxxxxxxx"
DASHSCOPE_APP_ID="app-xxxxxxxx"
PROXY_PORT=8000

在Windows系统中设置环境变量的示例

set DASHSCOPE_API_KEY=your_api_key_here
set DASHSCOPE_APP_ID=your_app_id_here
set PROXY_PORT=8000

在Linux/macOS系统中设置环境变量的示例

export DASHSCOPE_API_KEY=your_api_key_here
export DASHSCOPE_APP_ID=your_app_id_here
export PROXY_PORT=8000

启动服务

运行转发服务:

python openai_to_dashscope_proxy.py

服务启动后,将显示以下信息:

OpenAI到阿里云百炼平台转发服务启动监听端口 8000
Base URL: http://localhost:8000/v1
模型名称: dashscope-app

在Kilo Code中配置

在Kilo Code中按以下步骤配置

  1. 打开Kilo Code设置面板
  2. 选择"API Provider"为"OpenAI Compatible"
  3. 设置Base URL为: http://localhost:8000/v1 (如果使用默认端口)
  4. API Key可以任意填写(服务不会验证)
  5. 模型名称填写: dashscope-app

支持的功能

1. 基本文本对话

发送聊天完成请求:

{
  "model": "dashscope-app",
  "messages": [
    {
      "role": "user",
      "content": "你好,你是谁?"
    }
  ]
}

2. 流式输出

启用流式输出:

{
  "model": "dashscope-app",
  "messages": [
    {
      "role": "user",
      "content": "讲一个有趣的故事"
    }
  ],
  "stream": true
}

技术细节

请求转换

OpenAI兼容请求格式

{
  "model": "dashscope-app",
  "messages": [
    {"role": "user", "content": "提示词"}
  ]
}

转换为阿里云百炼平台请求格式:

{
  "input": {
    "prompt": "提示词"
  },
  "parameters": {},
  "debug": {}
}

响应转换

阿里云百炼平台响应格式:

{
  "output": {
    "text": "响应内容",
    "finish_reason": "stop"
  }
}

转换为OpenAI兼容响应格式

{
  "id": "chatcmpl-request_id",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "dashscope-app",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "响应内容"
      },
      "finish_reason": "stop"
    }
  ]
}

故障排除

1. 环境变量未设置

错误信息:

ValueError: 请设置环境变量 DASHSCOPE_API_KEY

解决方案: 确保已正确设置环境变量 DASHSCOPE_API_KEYDASHSCOPE_APP_ID

2. 网络连接问题

错误信息:

requests.exceptions.ConnectionError

解决方案: 检查网络连接,确保可以访问阿里云百炼平台。

3. API Key或APP ID错误

错误信息:

401 Unauthorized

解决方案: 检查API Key和APP ID是否正确。

4. 端口被占用

错误信息:

OSError: [Errno 98] Address already in use

解决方案: 更改端口号,通过设置 PROXY_PORT 环境变量或修改代码中的默认端口。

最佳实践

  1. 安全性:在生产环境中,建议将转发服务部署在安全的网络环境中
  2. 监控:启用日志记录以便监控服务运行状态
  3. 错误处理:确保正确处理各种错误情况
  4. 性能对于高并发场景考虑使用异步框架如FastAPI替代内置的HTTP服务器