使用Aihubmix API 服务中遇到错误与解决

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"

这样程序运行正常。
这个方法同样适用其他的替换服务。

posted @ 2024-03-28 12:24  六一路晗晗  阅读(130)  评论(0编辑  收藏  举报