如何避开SDK使用原生Fetch调用Groq最新API?解决404报错
解决Groq API 404错误:使用最新fetch/curl调用方式
你的404错误确实是因为用了Groq已经废弃的/v1/engines/{model}/completions端点,现在官方最新的API统一使用Chat Completions接口,下面给你修正后的fetch代码和对应的curl示例:
修正后的Fetch调用代码
const response = await fetch('https://api.groq.com/v1/chat/completions', { method: 'POST', headers: { 'Content-Type': 'application/json', Authorization: `Bearer ${env.GROQ_API_KEY}` }, body: JSON.stringify({ model: 'llama3-70b-8192', // 替换为你要用的具体Llama3模型版本,比如llama3-8b-8192 messages: [ { role: 'user', content: prompt } // 原prompt放在user角色的消息里 ], max_tokens: 150000, // 注意参数名从maxTokens改为下划线格式 temperature: 0.5, top_p: 1.0, // topP改为top_p n: 1, stop: null }) }); // 处理响应 if (!response.ok) { throw new Error(`API请求失败: ${response.status} ${response.statusText}`); } const data = await response.json(); console.log(data.choices[0].message.content); // 从message.content获取返回内容
对应的Curl调用示例
curl https://api.groq.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer YOUR_GROQ_API_KEY" \ -d '{ "model": "llama3-70b-8192", "messages": [ {"role": "user", "content": "你的提问内容"} ], "max_tokens": 150000, "temperature": 0.5, "top_p": 1.0, "n": 1, "stop": null }'
关键变化说明
- 端点路径:从
/v1/engines/{model}/completions改为/v1/chat/completions,模型参数需要放在请求体的model字段里 - 请求体结构:不再直接传
prompt,而是用messages数组,每个元素包含role(可选user/assistant/system)和content - 参数命名:部分驼峰命名参数改为下划线格式(比如
maxTokens→max_tokens,topP→top_p)
内容的提问来源于stack exchange,提问作者chovy
相关产品推荐
相关产品推荐

