Kouri Ai
Gemini 接口
使用 Gemini 原生协议或 OpenAI 兼容协议调用 Gemini 模型
Kouri Ai 的 Gemini 模型支持原生的 Google Gemini SDK 协议,也支持 OpenAI SDK 兼容协议。推荐优先使用原生协议,稳定性更高、功能更丰富。
协议选择
| 协议类型 | 端点地址 | 说明 |
|---|---|---|
| Gemini 协议 | https://api.kourichat.com/v1beta | 原生协议,推荐使用,支持所有模型 |
| OpenAI 协议 | https://api.kourichat.com/v1 | 兼容协议,简单场景使用 |
推荐使用原生 Gemini 协议:Dify、Chatbox 等主流应用均支持原生协议。OpenAI 兼容协议仅建议在只支持 OpenAI 格式的应用中使用。
cURL 请求(原生协议)
curl "https://api.kourichat.com/v1beta/models/gemini-2.5-pro:generateContent" \
-H "x-goog-api-key: sk-xxxxxxxx" \
-H "Content-Type: application/json" \
-X POST \
-d '{
"contents": [
{
"parts": [
{
"text": "你好!"
}
]
}
]
}'原生 Gemini 协议
Python SDK(新版 google-genai)
使用最新的 google-genai SDK:
from google import genai
from google.genai import types
client = genai.Client(
api_key="sk-xxxxxxxx", # 替换为您的 Kouri Ai 令牌
http_options=types.HttpOptions(
api_version="v1beta",
base_url="https://api.kourichat.com"
),
)
response = client.models.generate_content(
model='gemini-2.5-pro',
contents="你好!",
config=types.GenerateContentConfig()
)
print(response.text)使用新版 SDK 时,建议设置 api_version: "v1beta" 以使用正确的 API 版本。
Python SDK(旧版 google-generativeai)
如果您使用旧版 google-generativeai SDK:
import google.generativeai as genai
# 必须明确指定 rest 协议调用,不支持默认的 grpc 调用
genai.configure(
api_key='sk-xxxxxxxx', # 替换为您的 Kouri Ai 令牌
transport="rest", # 重要:必须指定 rest 协议
client_options={"api_endpoint": "https://api.kourichat.com/v1beta"},
)
model = genai.GenerativeModel('gemini-2.5-pro')
response = model.generate_content("你好!")
print(response.text)重要:必须明确指定 transport="rest",否则会默认使用 gRPC 协议导致报错。
流式输出
import google.generativeai as genai
genai.configure(
api_key='sk-xxxxxxxx',
transport="rest",
client_options={"api_endpoint": "https://api.kourichat.com/v1beta"},
)
model = genai.GenerativeModel('gemini-2.5-pro')
response = model.generate_content(
"讲一个故事",
stream=True
)
for chunk in response:
print(chunk.text, end="", flush=True)多轮对话
import google.generativeai as genai
genai.configure(
api_key='sk-xxxxxxxx',
transport="rest",
client_options={"api_endpoint": "https://api.kourichat.com/v1beta"},
)
model = genai.GenerativeModel('gemini-2.5-pro')
chat = model.start_chat(history=[])
response = chat.send_message("你好,我是小明")
print(response.text)
response = chat.send_message("我叫什么名字?")
print(response.text)图片理解
import google.generativeai as genai
from PIL import Image
genai.configure(
api_key='sk-xxxxxxxx',
transport="rest",
client_options={"api_endpoint": "https://api.kourichat.com/v1beta"},
)
model = genai.GenerativeModel('gemini-2.5-pro')
# 使用本地图片
image = Image.open("image.jpg")
response = model.generate_content(["描述这张图片", image])
print(response.text)图片生成
from google import genai
from google.genai import types
prompt = "A popular anime games screenshot"
aspect_ratio = "16:9"
resolution = "4K"
client = genai.Client(
api_key="sk-xxxxxxxx", # 替换为您的 Kouri Ai 令牌
http_options=types.HttpOptions(
base_url="https://api.kourichat.com"
),
)
response = client.models.generate_content(
model="gemini-3-pro-image-preview",
contents=prompt,
config=types.GenerateContentConfig(
response_modalities=['TEXT', 'IMAGE'],
image_config=types.ImageConfig(
aspect_ratio=aspect_ratio,
image_size=resolution
),
)
)
for part in response.parts:
if part.text is not None:
print(part.text)
elif image := part.as_image():
image.save("test.png")常见参数
原生协议参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | 模型名称 |
contents | string/list | 输入内容 |
config | GenerateContentConfig | 生成配置 |
GenerateContentConfig 选项
| 参数 | 类型 | 说明 |
|---|---|---|
temperature | float | 随机性,0-2 之间 |
top_p | float | 核采样参数 |
top_k | int | Top-K 采样 |
max_output_tokens | int | 最大输出 token 数 |
stop_sequences | list | 停止序列 |
常见问题
gRPC 协议报错
如果遇到 gRPC 相关错误,请确保:
- 使用
transport="rest"参数(旧版 SDK) - 或正确设置
http_options(新版 SDK)
响应超时
Gemini 模型在处理复杂任务时可能需要较长时间,如遇到超时:
- 尝试减少输入长度
- 使用流式输出模式
- 增加客户端超时设置