马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
各人好啊!我是NiJiMingCheng
我的博客:NiJiMingCheng
上一节我们分享了实现AI智能回复微信的内容,这一节我们来探索此中需要的百度文心一言,本文详细介绍了我们从注册账号到实现百度文心一言智能回复,同时多种模型自行选择,加油哦!
Python实现百度文心一言智能回复微信
目录
结果演示:
注册百度千帆平台账户--并注册api
python装配库
代码团体介绍
代码详细分析
(一)API 密钥设置
(二)获取访问令牌函数 get_access_token
(三)与文心 API 交互函数 main_
(四)主步调入口
总结
在当今的软件开发范畴,与各类人工智能 API 进行集成以实现丰富多样的功能变得愈发常见。本文将深入分析一段 Python 代码,该代码重要实现了通过调用百度文心 API 来进行文本交互的功能,为各人详细解读此中的技术细节与实现逻辑。
结果演示:
Python实现文心一言智能回复微信 注册百度千帆平台账户--并注册api
1、文心一言的利用需要注册一个百度账户,可以利用百度网盘的账户进行登录百度智能云-登录 (baidu.com)
2、申请以后,进入文心千帆大模型利用百度智能云控制台 (baidu.com)
3、选择右侧边栏的应用接入,再点击创建应用就可以申请一个api了
4、创建过程中只需要填写当前api的名称以及形貌,默认全部服务都是勾选的(对api的利用没有任何影响)
5、创建成功后会返回到应用接入的界面,记录下此时AppID、API Key、Secret Key
配置api,开通服务接口
1、点击控制台右上角的计费管理开通服务
2、 留意文心一言的api的调用是需要付费的,而且提供多个大模型可以根据自己的选择进行开通,博主只开通了 ERNIE-Bot-turbo大模型公有云在线调用服务和ERNIE-Bot大模型公有云在线调用服务,不同服务的差别可以参考API列表API列表 - 千帆大模型平台 | 百度智能云文档 (baidu.com)
代码团体介绍
这段 Python 代码的核心目标是与百度文心 API 建立连接,向其发送用户提供的文本内容,并获取 API 返回的相应回复,从而实现一个简单的文本交互系统。代码中重要涉及到了 requests 库用于发送 HTTP 请求,以及对返回结果的处理,同时通过自定义函数来完成获取访问令牌(Access Token)以及与 API 进行交互的完备流程。
代码详细分析
(一)API 密钥设置
- API_KEY = "YOUR_API_KEY"
- SECRET_KEY = "YOUR_SECRET_KEY"
复制代码 这两个密钥分别是百度 AI 平台提供的 API Key 和 Secret Key,它们是与百度文心 API 进行安全认证和交互的关键凭据,用于后续天生访问令牌以及验证请求的合法性。
(二)获取访问令牌函数 get_access_token
- def get_access_token():
- """
- 使用 AK,SK 生成鉴权签名(Access Token)
- :return: access_token,或是None(如果错误)
- """
- url = "https://aip.baidubce.com/oauth/2.0/token"
- params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
- # print(str(requests.post(url, params=params).json().get("access_token")))
- return str(requests.post(url, params=params).json().get("access_token"))
复制代码 此函数的重要作用是向百度 AI 平台的认证服务器发送请求,通过提供之前定义的 API Key 和 Secret Key 作为参数,按照 client_credentials 授权类型来获取访问令牌(Access Token)。该访问令牌将用于后续与文心 API 进行详细的文本交互利用,它是验证请求泉源合法性以及获取服务权限的重要标识。
(三)与文心 API 交互函数 main_
- def main_(content):
- url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-char-8k?access_token=" + get_access_token()
- payload = json.dumps({
- "messages": [
- {
- "role": "user",
- "content": content
- }
- ]
- })
- headers = {
- 'Content-Type': 'application/json'
- }
- # print(payload)
- response = requests.request("POST", url, headers=headers, data=payload).json()
- print(response['result'])
- return response['result']
复制代码
- 构建请求 URL:首先,函数内部会构建与文心 API 进行交互的完备 URL。它通过拼接固定的 API 端点地址以及通过调用 get_access_token 函数获取到的访问令牌来形成一个有效的请求链接,确保请求能够被精确辨认和处理。
- 准备请求数据:接着,将用户提供的文本内容 content 按照 API 要求的格式进行封装。这里利用 json.dumps 函数将包罗用户消息脚色(user)和详细内容的字典数据结构转换为 JSON 字符串格式,作为请求的有效载荷(payload)。
- 设置请求头:同时,设置了请求头 headers,明确指定了 Content-Type 为 application/json,以告知服务器请求数据的格式类型。
- 发送请求并处理结果:最后,利用 requests 库的 request 函数以 POST 方式向构建好的 URL 发送请求,携带准备好的请求头和数据。接收到服务器返回的相应后,将其转换为 JSON 格式,并从中提取出 result 字段的值作为 API 的回复内容进行打印输出,同时返回该值以便在其他地方进一步利用。
(四)主步调入口
在 if __name__ == '__main__': 部分:
- if __name__ == '__main__':
- res = main_('你好')
- print(res)
复制代码 这里作为步调的主入口点,简单地调用了 main_ 函数并传入文本内容 '你好',然后将获取到的 API 回复进行打印输出,展示了整个代码从发送请求到获取并展示回复的完备流程。
总结
全部代码
- # -*- coding:utf-8 -*-import requestsimport jsonAPI_KEY = "YOUR_API_KEY"
- SECRET_KEY = "YOUR_SECRET_KEY"
- def main_(content):
- url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-char-8k?access_token=" + get_access_token()
- payload = json.dumps({
- "messages": [
- {
- "role": "user",
- "content": content
- }
- ]
- })
- headers = {
- 'Content-Type': 'application/json'
- }
- # print(payload)
- response = requests.request("POST", url, headers=headers, data=payload).json()
- print(response['result'])
- return response['result']
- def get_access_token():
- """
- 使用 AK,SK 生成鉴权签名(Access Token)
- :return: access_token,或是None(如果错误)
- """
- url = "https://aip.baidubce.com/oauth/2.0/token"
- params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
- # print(str(requests.post(url, params=params).json().get("access_token")))
- return str(requests.post(url, params=params).json().get("access_token"))
- if __name__ == '__main__':
- res = main_('你好')
- print(res)
复制代码 通过对这段 Python 代码的详细解析,我们清楚地看到了怎样利用百度文心 API 的相关接口,通过获取访问令牌、构建符合的请求数据和 URL,以及精确处理返回结果等一系列步调,实现了一个简单而有效的文本交互功能。这为我们在开发中集成第三方 AI 服务提供了一个很好的示例,希望读者能够通过本文的解读,更好地理解此类代码的实现原理与应用场景,在自己的项目中灵活运用雷同的技术本领。
请留意,在实际应用中,需要确保 API Key 和 Secret Key 的安全性和精确利用,同时也要关注百度文心 API 的相关利用规范和限定条件,以保证步调的正常运行和合法利用。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |