OpenAI 接口
使用 OpenAI 兼容协议调用 Hakan AI 上的所有模型
Hakan AI 完全兼容 OpenAI API 格式。你可以直接使用 OpenAI 官方 SDK,仅需修改 base_url 和 api_key 即可调用所有支持的模型。
接口地址
| 端点类型 | 地址 | 说明 |
|---|---|---|
| Chat Completions | https://hakanaiktn.com/v1/chat/completions | 聊天补全接口 |
| Responses | https://hakanaiktn.com/v1/responses | Response 接口 |
| 标准端点 | https://hakanaiktn.com/v1 | SDK 推荐用于 base_url |
| 基础端点 | https://hakanaiktn.com | 部分应用使用 |
⚠️ 配置
base_url时必须加上/v1后缀,否则会报 404 错误。
接口选择
Chat Completions 接口
- 路径:
/v1/chat/completions - 适用模型:GPT-4o、GPT-4、绝大多数模型
- 最大超时:约 5 分钟
- 方式:
POST /v1/chat/completions
Response 接口(部分推理模型必须)
- 路径:
/v1/responses - 适用模型:
o3-pro、gpt-5.x-pro等高级推理模型(仅支持此接口) - 最大超时:约 20 分钟
- 方式:
POST /v1/responses
优势:
- 更长的超时时间(最长可达 20 分钟)
- 更好的推理过程支持
- 支持推理 token 预算等高级功能
对于同时支持两种接口的模型(如 o1、o3),平台会自动适配。但仅支持 Response 接口的模型必须显式使用 /v1/responses。
快速开始
cURL
Chat Completions:
curl https://hakanaiktn.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxx" \
-d '{
"model": "gpt-4o",
"messages": [{"role": "user", "content": "你好!"}]
}'Response 接口:
curl https://hakanaiktn.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sk-xxxxxxxx" \
-d '{
"model": "gpt-5.2-pro",
"input": "解释一下量子计算的基本原理"
}'Python
Chat Completions:
from openai import OpenAI
client = OpenAI(
base_url='https://hakanaiktn.com/v1',
api_key='sk-xxxxxxxx',
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "你好!"}
]
)
print(response.choices[0].message.content)Response 接口(基础用法):
from openai import OpenAI
client = OpenAI(
base_url='https://hakanaiktn.com/v1',
api_key='sk-xxxxxxxx',
)
response = client.responses.create(
model="gpt-5.2-pro",
input="解释一下量子计算的基本原理"
)
print(response.output_text)Response 接口(带推理参数):
response = client.responses.create(
model="gpt-5.2-pro",
input="这道数学题怎么解?",
reasoning={
"effort": "high" # low / medium / high
}
)
print(response.output_text)Chat Completions 流式:
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "讲一个故事"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)Response 接口流式:
stream = client.responses.create(
model="gpt-5.2-pro",
input="讲一个故事",
stream=True,
)
for event in stream:
if getattr(event, "type", None) == "response.output_text.delta":
print(event.delta, end="", flush=True)JavaScript / Node.js
基础用法:
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://hakanaiktn.com/v1',
apiKey: 'sk-xxxxxxxx',
});
const response = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: '你好!' }],
});
console.log(response.choices[0].message.content);流式输出:
const stream = await client.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: '讲一个故事' }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content ?? '');
}LangChain
环境变量配置:
import os
os.environ["OPENAI_API_BASE"] = "https://hakanaiktn.com/v1"
os.environ["OPENAI_API_KEY"] = "sk-xxxxxxxx"代码配置:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="gpt-4o",
base_url="https://hakanaiktn.com/v1",
api_key="sk-xxxxxxxx",
)
print(llm.invoke("你好!").content)注意:
OPENAI_API_BASE环境变量需要带/v1后缀。
多模态:图片理解
URL 方式
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "这张图片里有什么?"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.jpg"}}
]
}]
)Base64 方式
import base64
with open("image.jpg", "rb") as f:
b64 = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model="gpt-4o",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "描述这张图片"},
{"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{b64}"}}
]
}]
)函数 / 工具调用(Tools)
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取指定城市的天气",
"parameters": {
"type": "object",
"properties": {
"city": {"type": "string", "description": "城市名"}
},
"required": ["city"]
}
}
}]
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "北京今天天气怎么样?"}],
tools=tools,
)
print(response.choices[0].message.tool_calls)常见问题
404 错误
确认 base_url 添加了 /v1 后缀:
# ✅ 正确
base_url='https://hakanaiktn.com/v1'
# ❌ 错误
base_url='https://hakanaiktn.com'旧版 OpenAI SDK(< 1.0)
import openai
openai.api_base = "https://hakanaiktn.com/v1"
openai.api_key = "sk-xxxxxxxx"建议升级到 OpenAI SDK 1.0 及以上版本。