Google OAuth 登录
点击下方按钮启动 Google OAuth 登录流程,获取访问 Token。
手动添加 Token(回调链接)
如果自动回调失败,可以将浏览器地址栏中的完整回调链接粘贴到下方。
手动添加 Token(直接输入)
直接粘贴您的 Google OAuth Token 信息。如果您已经通过其他方式获取了 Token,可以在此处手动添加。
必填项:访问令牌
可选项:刷新令牌(用于自动续期)
Token 有效期,默认 3600 秒(1小时)
已有 Token 账号
🌐 API 端点概览
基础 URL
http://localhost:8045
本服务提供与 OpenAI API 兼容的接口,可无缝对接任何支持 OpenAI 格式的应用程序。
📋 GET /v1/models
功能:获取所有可用的AI模型列表
认证:需要 Bearer Token
请求示例:
curl http://localhost:8045/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"
响应示例:
{
"object": "list",
"data": [
{
"id": "gemini-2.0-flash-exp",
"object": "model",
"created": 1234567890,
"owned_by": "google"
},
{
"id": "gemini-exp-1206",
"object": "model",
"created": 1234567890,
"owned_by": "google"
}
]
}
💬 POST /v1/chat/completions
功能:创建聊天对话补全,支持流式和非流式响应
认证:需要 Bearer Token
内容类型:application/json
流式请求示例(推荐):
curl http://localhost:8045/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gemini-2.0-flash-exp",
"messages": [
{"role": "system", "content": "你是一个有帮助的AI助手"},
{"role": "user", "content": "介绍一下你自己"}
],
"stream": true,
"temperature": 1.0,
"max_tokens": 8096
}'
非流式请求示例:
curl http://localhost:8045/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "gemini-exp-1206",
"messages": [
{"role": "user", "content": "什么是人工智能?"}
],
"stream": false
}'
流式响应格式:
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","created":xxx,"model":"gemini-2.0-flash-exp","choices":[{"index":0,"delta":{"content":"你好"},"finish_reason":null}]}
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","created":xxx,"model":"gemini-2.0-flash-exp","choices":[{"index":0,"delta":{"content":"!"},"finish_reason":null}]}
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","created":xxx,"model":"gemini-2.0-flash-exp","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
非流式响应格式:
{
"id": "chatcmpl-1234567890",
"object": "chat.completion",
"created": 1234567890,
"model": "gemini-2.0-flash-exp",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "你好!我是一个AI助手..."
},
"finish_reason": "stop"
}
]
}
📝 请求参数详解
| 参数名 |
类型 |
必需 |
说明 |
model |
string |
✓ 是 |
要使用的模型ID,如 "gemini-2.0-flash-exp" |
messages |
array |
✓ 是 |
对话消息数组,每条消息包含 role(system/user/assistant)和 content |
stream |
boolean |
否 |
是否使用流式输出,默认 true。流式输出可实时显示生成内容 |
temperature |
number |
否 |
采样温度,范围 0-2,默认 1.0。越高越随机,越低越确定 |
max_tokens |
integer |
否 |
生成的最大token数量,默认 8096 |
top_p |
number |
否 |
核采样参数,范围 0-1,默认 0.85。与 temperature 二选一使用 |
top_k |
integer |
否 |
Top-K采样参数,默认 50。限制每步只考虑概率最高的K个token |
🔐 认证方式
所有API请求都需要在请求头中包含有效的API密钥:
Authorization: Bearer YOUR_API_KEY
⚠️ 注意:
- 请妥善保管您的API密钥,不要在公开场合泄露
- 可在"密钥管理"页面生成和管理API密钥
- 支持为不同密钥设置独立的频率限制
⚡ 频率限制
当请求超过频率限制时,API会返回429状态码:
{
"error": {
"message": "请求频率超限",
"type": "rate_limit_exceeded"
}
}
响应头会包含以下信息:
X-RateLimit-Limit: 时间窗口内允许的最大请求数
X-RateLimit-Remaining: 剩余可用请求数
X-RateLimit-Reset: 限制重置前的等待秒数
💡 使用建议
- 使用流式输出:对于长对话,建议使用 stream: true 以获得更好的用户体验
- 温度参数调节:创意写作可使用较高温度(1.2-1.5),事实性回答使用较低温度(0.3-0.7)
- 合理设置max_tokens:根据实际需求设置,避免不必要的token消耗
- 错误处理:建议实现重试机制,处理网络超时和临时错误
- 日志记录:在"日志查看"页面可查看所有API请求记录
🔗 常见集成方式
Python (OpenAI SDK)
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="http://localhost:8045/v1"
)
response = client.chat.completions.create(
model="gemini-2.0-flash-exp",
messages=[
{"role": "user", "content": "你好"}
],
stream=True
)
for chunk in response:
print(chunk.choices[0].delta.content or "", end="")
JavaScript (Fetch API)
const response = await fetch('http://localhost:8045/v1/chat/completions', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer YOUR_API_KEY'
},
body: JSON.stringify({
model: 'gemini-2.0-flash-exp',
messages: [{ role: 'user', content: '你好' }],
stream: true
})
});
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
const text = decoder.decode(value);
console.log(text);
}
Node.js (OpenAI SDK)
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'YOUR_API_KEY',
baseURL: 'http://localhost:8045/v1'
});
const stream = await client.chat.completions.create({
model: 'gemini-2.0-flash-exp',
messages: [{ role: 'user', content: '你好' }],
stream: true
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
}
统计:
0 条日志 |
信息: 0 |
成功: 0 |
警告: 0 |
错误: 0