以下是使用 Python 调用几种常见大语言模型 API 接口的详细步骤和示例代码:
1. 调用 OpenAI 的 GPT 模型 API
OpenAI 提供了强大的 GPT 系列模型,使用其 API 需要先注册 OpenAI 账号并获取 API 密钥。
步骤:
- 安装
openai
库:pip install openai
- 获取 OpenAI API 密钥,并设置环境变量或直接在代码中使用
示例代码:
import openai# 设置API密钥
openai.api_key = "your_api_key"# 调用Chat Completion API
response = openai.ChatCompletion.create(model="gpt-3.5-turbo", # 选择模型messages=[{"role": "system", "content": "你是一个友善的助手。"},{"role": "user", "content": "给我讲一个笑话。"}]
)# 提取生成的回复
answer = response['choices'][0]['message']['content']
print(answer)
2. 调用百度文心一言 API
百度文心一言是百度的大语言模型,使用其 API 需要在百度智能云平台注册并创建应用,获取 API Key 和 Secret Key。
步骤:
- 安装
requests
库(如果未安装):pip install requests
- 获取 API Key 和 Secret Key
示例代码:
收起
import requests# 获取access_token
def get_access_token():API_KEY = "your_api_key"SECRET_KEY = "your_secret_key"url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={API_KEY}&client_secret={SECRET_KEY}"response = requests.get(url)return response.json().get("access_token")# 调用文心一言API
def call_wenxin_api():access_token = get_access_token()url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token={access_token}"headers = {"Content-Type": "application/json"}data = {"messages": [{"role": "user","content": "给我讲一个笑话"}]}response = requests.post(url, headers=headers, json=data)return response.json()result = call_wenxin_api()
print(result)
3. 调用火山引擎云雀模型 API
火山引擎提供的云雀模型,使用其 API 需要在火山引擎平台注册并创建密钥。
步骤:
- 安装
volcengine
库:pip install volcengine
- 获取 Access Key 和 Secret Key
示例代码:
from volcengine.core import Credentials
from volcengine.core.session import Session
from volcengine.core.constant import REGION_CN_NORTH_1
from volcengine.core.rest import RESTClient
from volcengine.core.config import Config# 配置认证信息
credentials = Credentials("your_access_key", "your_secret_key")
session = Session(credentials, REGION_CN_NORTH_1)
config = Config()
client = RESTClient(session, config)# 调用API
body = {"input": {"messages": [{"role": "user","content": "给我讲一个笑话"}]},"parameters": {"max_new_tokens": 200,"temperature": 0.8}
}response = client.post("/invoke", json=body)
print(response.json())
注意事项:
- API 密钥安全:不要将 API 密钥硬编码在代码中,建议使用环境变量或配置文件来管理。
- 请求频率限制:各平台对 API 调用频率有一定限制,避免频繁调用导致请求被拒绝。
- 错误处理:在实际应用中,需要添加适当的错误处理代码,以应对网络异常、API 调用失败等情况。