使用Google Gemini API时如何传入对话历史
Google Gemini API 对话历史请求格式修正
- 你的请求格式存在问题:Gemini API 的
generateContent接口没有history字段,所有对话上下文(历史消息+当前提问)都需要放在contents数组中,按实际对话顺序排列。 - 正确格式规则:
contents数组内的消息必须严格遵循用户(user)与模型(model)交替的顺序,最后一条必须是用户的当前提问。- 无需额外设置
history字段,历史对话直接追加到contents数组即可。
修正后的cURL命令
curl --location 'https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=你的API密钥' \ --header 'Content-Type: application/json' \ --data '{ "contents": [ { "role": "user", "parts": [ { "text": "Hello, I have 2 dogs in my house." } ] }, { "role": "model", "parts": [ { "text": "Great to meet you. What would you like to know?" } ] }, { "role": "user", "parts": [ { "text": "...你的当前用户输入" } ] } ] }'
关键注意事项
- 替换
你的API密钥为实际的Google API密钥,否则请求会鉴权失败。 - 确保
contents内的消息角色交替无误,最后一条必须是user角色的当前提问,模型会基于完整的对话上下文生成延续性回复。
内容的提问来源于stack exchange,提问作者ABDUL HAAFIZ
相关产品推荐
相关产品推荐

