百度文心一言API调用全流程详解:从鉴权到实战(附代码示例)

[复制链接]
发表于 2025-10-1 11:32:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
弁言

百度文心一言(ERNIE Bot)作为领先的自然语言处置处罚大模子,其API调用本领被广泛应用于智能客服、内容天生、数据分析等场景。本文基于官方流程梳理**完备调用步调**,团结实战代码和避坑指南,助你高效接入文心一言API!

一、调用流程总览

根据头脑导图,调用流程分为三大阶段:  
1. **鉴权认证**:获取API调用权限。  
2. **参数处置处罚**:规范哀求格式。  
3. **调用与相应**:实行哀求并剖析结果。
 
文兴一言api调用流程图:  


二、分步详解与代码实战

1. 鉴权流程:获取API调用凭据
步调分析:  

①获取AK/SK:从百度智能云控制台申请API Key(AK)和Secret Key(SK)。  
②天生Authorization:通过AK/SK天生署名,确保哀求合法性。  
代码示例(Python):  
  1. import requests
  2. import hashlib
  3. import hmac
  4. import base64
  5. from urllib.parse import urlencode
  6. # 替换为你的AK/SK
  7. AK = "your_access_key"
  8. SK = "your_secret_key"
  9. # 生成鉴权签名
  10. def get_authorization():
  11.     timestamp = str(int(time.time()))
  12.     signature = hmac.new(SK.encode('utf-8'), timestamp.encode('utf-8'), hashlib.sha256).digest()
  13.     signature = base64.b64encode(signature).decode('utf-8')
  14.     return f'ak={AK}&timestamp={timestamp}&signature={signature}'
  15. authorization = get_authorization()
复制代码
 
2. 哀求参数处置处罚:JSON格式化与编码 
关键利用:  
①将输入文本、模子参数等封装为JSON。  
② 添加`access_token`(通过鉴权获取)。  
**示例哀求体**:  
  1. json
  2. {
  3.   "header": {
  4.     "app_id": "your_app_id"
  5.   },
  6.   "payload": {
  7.     "message": {
  8.       "text": "你好,请生成一篇关于AI的短文。"
  9.     }
  10.   }
  11. }
复制代码
 
3. 发起API哀求与结果剖析
代码示例(Python):  
  1. url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions"
  2. headers = {
  3.     "Content-Type": "application/json",
  4.     "Authorization": authorization
  5. }
  6. response = requests.post(url, headers=headers, json=payload)
  7. result = response.json()
  8. if result["error_code"] == 0:
  9.     print("生成结果:", result["result"]["response"])
  10. else:
  11.     print("请求失败:", result["error_msg"])
复制代码
 
4.完备调用代码(单句复兴)
该代码段在可实行单句会复兴
  1. import requests
  2. import json
  3. class WenxinAI:
  4.         def __init__(self):
  5.                
  6.                 self.API_KEY = "N5jT65E9Pc4erGBvaWci9X0Vv" # 此处直接替换xxxxxxx为获取到的 API_KEY
  7.                 self.SECRET_KEY = "BcUT78xKyeMfvjGC1JxvRyfrz1slKmB" # 此处直接替换xxxxxxx为获取到的 SECRET_KEY
  8.                 self.ACCESS_TOKEN=self.get_access_token()
  9.                
  10.         def get_access_token(self):
  11.                 url="https://aip.baidubce.com/oauth/2.0/token"
  12.                 params={
  13.                         "grant_type":"client_credentials",
  14.                         "client_id":self.API_KEY,
  15.                         "client_secret":self.SECRET_KEY
  16.                         }
  17.                 return str(requests.post(url,params=params).json().get("access_token"))
  18.         def chat(self,text):
  19.                 url=("https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token="+self.ACCESS_TOKEN)
  20.                 payload=json.dumps({"messages":[{"role":"user","content":text}]})
  21.                 headers={"Content-Type":"application/json"}
  22.                 response=requests.request("post",url,headers=headers,data=payload)
  23.                 return response.json()["result"]
  24. Twenxin_AI=WenxinAI()
  25. chat_text="你是谁呀"#设置问题语句,可回复单句
  26. result=Twenxin_AI.chat(chat_text)
  27. print(result)
复制代码
运行图


三、注意事项与最佳实践


  
1. 安全管控:  

   • AK/SK需存储在环境变量或加密设置中,**切勿袒露在代码堆栈**。  
   • 发起定期轮换密钥。  
2. 错误处置处罚:  
   • 查抄HTTP状态码(如429限频、401鉴权失败)。  
   • 添加重试机制(如指数退避)。  
3. 性能优化:  
   • 利用毗连池(如`requests.Session`)镌汰耽误。  
   • 异步调用提升吞吐量(如`aiohttp`库)。  

四、结语  

通过上述流程,你可以快速完成文心一言API的集成。实际开发中,发起团结官方文档[百度智能云-文心一言API](https://cloud.baidu.com/product/wenxinworkshop)调解参数细节。如有疑问,欢迎在品评区交换!

#### **附录**  
• [文心一言API官方文档](https://cloud.baidu.com/doc/WENXINWORKSHOP/s/8lkil9z8u)  

--- 
**立即动手实践,解锁文心一言的强大本领吧!** 🚀
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表