将 H2OGPTE 的 API 封装为标准的 OpenAI API 格式,方便与各种 AI 应用和工具集成。
- ✅
/v1/models- 获取可用模型列表 - ✅
/v1/chat/completions- 聊天补全接口(支持流式和非流式) - ✅ 会话池 (Session Pool) - 后台自动管理和预热会话,提升响应速度
- ✅ 标准 OpenAI API 格式响应
- ✅ CORS 支持
⚠️ 注意:当前仅支持登录模式,访客 (Guest) 模式暂不可用。
pip install -r requirements.txt复制 .env.example 为 .env 并填写你的配置:
cp .env.example .env编辑 .env 文件:
H2OGPTE_BASE_URL=https://h2ogpte.genai.h2o.ai
IS_GUEST=false
H2OGPTE_SESSION=your-session-id-here (必填)
H2OGPTE_CSRF_TOKEN=your-csrf-token-here (必填)
H2OGPTE_WORKSPACE_ID=workspaces/your-uuid-here (用户自定义的uuid)
H2OGPTE_PROMPT_TEMPLATE_ID=your-prompt-template-uuid (可选)
API_KEY=your-secret-key (可选)获取凭据 (非 Guest 模式):
- 登录 h2ogpte 网站
- 打开浏览器开发者工具 (F12)
- Session ID & Token: 在网络请求中找到 Cookie (
h2ogpte.session) 和 Header (x-csrf-token)- Workspace ID: 查看浏览器地址栏或网络请求,格式通常为
workspaces/uuid。如果是 guest 用户,默认为workspaces/h2ogpte-guest。- Prompt Template ID: 在 "Customize chat" > "Prompts" 中选择模板后,从网络请求
set_chat_session_prompt_template的参数中获取 UUID。
python main.py服务将在 http://localhost:<PORT> 启动,未设置 PORT 时默认使用 2156。
curl http://localhost:2156/v1/modelscurl http://localhost:2156/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [
{"role": "user", "content": "你好"}
]
}'curl http://localhost:2156/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [
{"role": "user", "content": "你好"}
],
"stream": true
}'可以将此服务作为 OpenAI API 的替代,配置到各种支持自定义 API 端点的应用中:
API Base URL: http://localhost:2156/v1
API Key: any-value (当前未启用验证)
h2ogpt2api/
├── main.py # FastAPI 主应用
├── config.py # 配置管理
├── models.py # Pydantic 数据模型
├── h2ogpte_client.py # H2OGPTE API 客户端
├── session_manager.py # 会话池管理器
├── credential_store.py # 凭据存储管理(自动续期逻辑)
├── requirements.txt # Python 依赖
├── .env.example # 环境变量模板
└── README.md # 项目说明
- 仅登录模式可用:当前访客 (Guest) 模式不可用,必须使用登录用户的凭据。
- Session & 凭据:建议定期更新 Session ID 以保持连接有效。
- 请求限制:请注意 H2OGPTE 服务的请求频率限制。
- 安全性:建议在
.env中设置API_KEY以启用基础验证。