# 百度文心一言API调用教程
## 简介
文心一言是百度推出的大语言模型,是国内最早发布的大模型产品之一。它在中文理解和生成方面有着出色的表现,特别适合需要处理中文内容的应用场景。本文将详细介绍如何调用文心一言API。
## 准备工作
### 1. 创建百度智能云账号
访问百度智能云官网(https://cloud.baidu.com),注册并完成实名认证。
### 2. 创建应用获取密钥
1. 进入百度智能云控制台
2. 找到"千帆大模型平台"
3. 创建应用,获取API Key和Secret Key
### 3. 安装依赖
```python
pip install requests
```
## 获取Access Token
文心一言API使用OAuth 2.0认证,需要先获取access_token:
```python
import requests
def get_access_token(api_key, secret_key):
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {
"grant_type": "client_credentials",
"client_id": api_key,
"client_secret": secret_key
}
response = requests.post(url, params=params)
return response.json().get("access_token")
# 使用示例
access_token = get_access_token("your_api_key", "your_secret_key")
```
## 调用文心一言
### ERNIE-Bot对话
```python
import requests
import json
def chat_with_ernie(access_token, messages):
url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={access_token}"
payload = {
"messages": messages,
"temperature": 0.8,
"top_p": 0.8
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, headers=headers, data=json.dumps(payload))
return response.json()
# 使用示例
messages = [
{"role": "user", "content": "你好,请介绍一下你自己"}
]
result = chat_with_ernie(access_token, messages)
print(result["result"])
```
### 多轮对话
```python
def multi_turn_chat(access_token):
messages = []
while True:
user_input = input("你: ")
if user_input.lower() == "退出":
break
messages.append({"role": "user", "content": user_input})
result = chat_with_ernie(access_token, messages)
assistant_reply = result["result"]
print(f"文心一言: {assistant_reply}")
messages.append({"role": "assistant", "content": assistant_reply})
```
## 模型选择
百度提供多个模型可供选择:
- **ERNIE-Bot**: 基础版本,平衡性能和成本
- **ERNIE-Bot-turbo**: 更快的响应速度
- **ERNIE-Bot 4.0**: 最强大的版本,适合复杂任务
- **ERNIE-Speed**: 极速版本,适合高并发场景
## 最佳实践
1. **Token管理**: access_token有效期30天,建议缓存并定期刷新
2. **错误处理**: 处理网络异常和API限流
3. **成本控制**: 根据业务需求选择合适的模型
4. **内容安全**: 遵守内容安全规范
## 总结
文心一言是中文AI应用的优秀选择,API调用简单直接。通过本教程,你应该能够快速集成文心一言到自己的应用中。
暂无评论。成为第一个评论的人吧!