当前位置:   article > 正文

esp32用micropython接入百度大模型_写一个micropython esp32采集i2s利用百度智能云的语音识别代码

写一个micropython esp32采集i2s利用百度智能云的语音识别代码

目录

前言

二、所需环境

三、micropython代码

1.引入所需的库

2.填入你自己的参数 

3.全部代码 

总结


前言

因为网上用micropython接入百度大模型的资料太少了,就自己查了百度api文档改了一个


一、如何获取百度模型API

       这东西网上有很多,我就不过多赘述

我参考的是这篇(就因为他是用arduino写的所以才有这篇文章)

https://vor2345.blog.csdn.net/article/details/135372118


二、所需环境

1.Thonny(新手推荐)

2.烧录好最新micropython固件的esp32开发板(防止固件中有的库没有)

3.有Wifi


三、micropython代码

micropython代码是根据百度官方给的python代码改的

1.引入所需的库

  1. import network
  2. import requests
  3. import json

2.填入你自己的参数 

  1. #替换你自己的应用API Key、应用Secret Key
  2. url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API Key]&client_secret=[Secret Key]"
  3. #填入你的问题
  4. "content": "现在几点了?"
  5. #填入你的WiFi信息
  6. wlan.connect('WiFi名称', 'WiFi密码')

3.全部代码 

  1. import network
  2. import requests
  3. import json
  4. def get_access_token():
  5. #使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
  6. url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API Key]&client_secret=[Secret Key]"
  7. payload = json.dumps("")
  8. headers = {
  9. 'Content-Type': 'application/json',
  10. 'Accept': 'application/json'
  11. }
  12. response = requests.request("POST", url, headers=headers, data=payload)
  13. return response.json().get("access_token")
  14. def main():
  15. #与大模型进行对话
  16. url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-3.5-8k-0205?access_token=" + get_access_token()
  17. payload = json.dumps({
  18. "messages": [
  19. {
  20. "role": "user",
  21. "content": "为现在几点了?" #填入你的问题
  22. }
  23. ]
  24. })
  25. headers = {
  26. 'Content-Type': 'application/json'
  27. }
  28. response = requests.request("POST", url, headers=headers, data=payload.encode("utf-8"))
  29. print(response.text)
  30. answer = response.json().get("result")
  31. print(answer)
  32. if __name__ == '__main__':
  33. #连接WiFi
  34. wlan = network.WLAN(network.STA_IF)
  35. wlan.active(True)
  36. wlan.connect('WiFi名称', 'WiFi密码')#填入你的WiFi
  37. while not wlan.isconnected():
  38. pass
  39. print(wlan.ifconfig())
  40. main()

上面的代码每次运行都会进行一次taken请求,会拖慢运行速度。所以可以每月请求一次接口taken,再将taken直接填入,如下:

  1. import network
  2. import requests
  3. import json
  4. def main():
  5. #与大模型进行对话
  6. url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie-3.5-8k-0205?access_token=[你获取的接口taken]"
  7. payload = json.dumps({
  8. "messages": [
  9. {
  10. "role": "user",
  11. "content": "为现在几点了?" #填入你的问题
  12. }
  13. ]
  14. })
  15. headers = {
  16. 'Content-Type': 'application/json'
  17. }
  18. response = requests.request("POST", url, headers=headers, data=payload.encode("utf-8"))
  19. print(response.text)
  20. answer = response.json().get("result")
  21. print(answer)
  22. if __name__ == '__main__':
  23. main()

总结

这样就可以通过micropython调用百度千帆大模型了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/929339
推荐阅读
相关标签
  

闽ICP备14008679号