使用cloudflare workers代理gemini API.
访问 https://ai.cneko.org 以预览
- 创建一个cloudflare workers账户
- 创建一个新workers
- 按照引导将workers部署到本地
- 使用(https://github.com/CSneko/workers-ai/blob/main/workers/chat-ai/src/worker.ts)[worker文件]替换掉你的`项目路径/src/workers.js` 文件
- 按照以下编辑
wrangler.toml文件
name = "chat-ai"
main = "src/worker.ts"
workers_dev = true
[[routes]]
pattern = "YOUR_DOMAIN_PATTERN"
zone_name = "YOUR_DOMAIN"
custom_domain = true
[placement]
mode = "smart"
[vars]
API_KEY = "YOUR_API_KEY"
MODEL_NAME = "gemini-1.0-pro"
PROMPT = "You are a cute catgrild."注意:如果你没有gemini API KEY,请从https://aistudio.google.com获取
如果你没有域名,请删除routes部分
最简单的调用方法为发送一个get请求,包含一个t查询参数,并读取返回值中的response字段.
| 参数名 | 描述 | 是否可选 | 默认值 |
|---|---|---|---|
| t | 用户输入 | 否 | 无 |
| p | 提示词 | 是 | 配置文件中的PROMPT |
| model | 模型名称 | 是 | 配置文件中的MODEL_NAME |
| key | gemini API KEY | 是 | 配置文件中的API_KEY |
这是一个可选的请求头,用于包含历史聊天记录.
内容格式如下:
{
"contents":[
{
"role":"user",
"parts":[
{"text":"你好"}
]
},{
"role":"model",
"parts":[
{"text":"喵~你好呀~"}
]
},
{
"role":"user",
"parts":[
{"text":"过的怎样呢"}
]
},{
"role":"model",
"parts":[
{"text":"非常棒"}
]
}
]
}返回值是一个json对象,包含以下字段:
| 字段名 | 描述 | 类型 |
|---|---|---|
| response | 模型输出 | string |
| source_response | gemini API返回的原始模型输出 | string |
| input | 用户输入 | string |
| prompt | 提示词 | string |
| model | 模型名称 | string |
| status | 状态码 | number |
| headers | 请求头 | object |