配置了以上的方式,还是不行。因为项目默认使用的是国内的大模型服务商,但是接口是和openapi通用的,所以可以直接使用,但是项目中有的链接还是要走系统代理的,所以就需要将两者区分开,配置openapi不走系统代理,单独配置了 openai.proxy = None 没有生效,所以需要改造一下,因为我这里用的只有一个图片识别的接口,所以可以简单改造,使用 requests 这个库改造:
import base64
import requests
headers = {
"Authorization": f"Bearer 你的api key",
"Content-Type": "application/json"
}
# 需要传给大模型的图片
image_path = "../assets/down.png"
def encode_image(img_path):
with open(img_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
# 将图片转为Base64编码
base64_image = f"data:image/png;base64,{encode_image(image_path)}"
data = {
"model": "doubao-1-5-vision-pro-32k-250115",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "请返回这种图片中橙色的单词给我"},
{
"type": "image_url",
"image_url": {
"url": base64_image
},
},
],
}
]
}
response = requests.post(
"https://ark.cn-beijing.volces.com/api/v3/chat/completions",
json=data,
headers=headers,
proxies=None # 明确不使用代理
)
print(response.json())
单独搞一个请求就可以了: