Skip to content

XxxXTeam/HuatuoGPT2API

Repository files navigation

HuatuoGPT2API

https://www.huatuogpt.cn 的对话接口包装成标准 OpenAI 兼容接口(/v1/chat/completions)。

启动

先创建配置文件:

cp .env.example .env

然后按需修改 .env

go run .

环境变量:

  • PORT:监听端口(默认 8080
  • API_KEY:可选;设置后需要鉴权(Authorization: Bearer <key>X-API-Key: <key>
  • HUATUO_BASE_URL:上游地址(默认 https://www.huatuogpt.cn
  • UPSTREAM_MODE:上游请求模式(std/tls)。如果你遇到上游返回 UNKNOWN_ERROR/空内容,改成 tls
  • CORS_ALLOW_ORIGIN:CORS 允许来源(默认 *
  • UPSTREAM_USER_AGENT:上游请求 UA(默认 Mozilla/5.0 (HuatuoGPT2API)
  • SESSION_TTL_SECONDS:会话缓存过期时间(默认 0=不启用)
  • SESSION_CLEANUP_INTERVAL_SECONDS:会话清理间隔(默认 60
  • READ_HEADER_TIMEOUT_SECONDS:HTTP 读 header 超时(默认 10

健康检查:GET /healthz

OpenAI 兼容用法

伪多轮说明

Huatuo 上游本质上更适合单次提问。现在这个适配层会自动读取标准 OpenAI 请求里的 messages, 把完整上下文压缩成一条单次输入,再让上游只回答最后一条用户消息。

  • 只有一条 user 消息时:直接透传,保持最简单路径
  • 存在多条 messages(含 system / assistant 历史)时:自动启用“伪多轮”压缩
  • 启用“伪多轮”压缩时:默认不会复用内存里的 Huatuo 会话,避免上游 session 和记忆重复叠加
  • 如果你明确传了 X-Huatuo-Session-Id / X-Huatuo-Question-Id,仍会优先按你指定的上游会话发送

非流式

curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "huatuogpt",
    "messages": [{"role":"user","content":"你好"}]
  }'

流式(SSE)

curl -N http://127.0.0.1:8080/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "huatuogpt",
    "stream": true,
    "messages": [{"role":"user","content":"你好"}]
  }'

保持同一对话(适合单条 user 续聊)

Huatuo 的上下文依赖 sessionId / questionId。本项目用 X-Conversation-Id 做内存会话映射:

curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-Conversation-Id: demo" \
  -d '{
    "model": "huatuogpt",
    "messages": [{"role":"user","content":"你是谁?"}]
  }'

curl http://127.0.0.1:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-Conversation-Id: demo" \
  -d '{
    "model": "huatuogpt",
    "messages": [{"role":"user","content":"继续"}]
  }'

也可以手动指定:

  • X-Huatuo-Session-Id
  • X-Huatuo-Question-Id

About

将华佗GPT接口转换为标准的OpenAI接口

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages