HTTP code 200 from API (<!doctype html><html lang="en"><head><meta charset="utf-8"/><link rel="icon" href="https://yinchao.oss-cn-hangzhou.aliyuncs.com/orisoundlogo.jpg"/><meta name="viewport" content="width=device-width,initial-scale=1"/><meta name="theme-color" content="#ffffff"/><meta name="description" content="OpenAI API 模型接口聚合管理,一键集成google gemini、百度等模型,统一用open AI接口标准进行调研不同模型;支持最新模型;支持高并发;在一个地方访问所有AI模型;"/><title>AiHubMix</title><script defer="defer" src="/static/js/main.e3829e34.js"></script><link href="/static/css/main.bd618626.css" rel="stylesheet"
出现以上的报错信息,分析错误:
(1)code 200说明API通信正常,执行了正常的http握手
(2)后面返回了一串说明,表明aihubmix的服务是正常的,为了实现
因此可能的原因是参数设置错误
排查原始的代码,aihubmix.com采用的是openai兼容api形式,但是除了正常的规定模型参数之外,需要修改openai的base url。原始代码如下:
import openai
openai.api_key = "your key"
openai.api_base = "https://aihubmix.com/"
response = openai.ChatCompletion.create(
# api_base="https://aihubmix.com/",
model="gpt-4-1106-preview",
messages=[
{
"role": "user",
"content": "prompt"
}
],
temperature=0,
max_tokens=1024,
top_p=0,
frequency_penalty=0,
presence_penalty=0
)
因此问题既有可能出现在aihubmix的网址上,我们进入到openai的方法上进行查看,原始openai api是如何声明的
api_base = os.environ.get("OPENAI_API_BASE", "https://api.openai.com/v1") api_type = os.environ.get("OPENAI_API_TYPE", "open_ai")
可以看到原始openai的base url设置包含了一个v1
因此把原始请求的url添加一个v1即可
openai.api_base = "https://aihubmix.com/v1"
这样程序运行正常。
这个方法同样适用其他的替换服务。