现在人工智能越来越🔥,如何在项目中集成人工智能对话的功能成为越来越时尚的事情。
 
今天,我们就来通过编程体验一把与机器学习大预言模型进行对话的活动。
 
本来,想研究与ChatGPT进行对话,因为国内用户无法访问的原因,很遗憾放弃该方案,转而采用百度的文心一言的大预言模型进行对话。
 
步骤记录如下:
 
1、注册百度开发者账号,并选择大预言模型
 
文心一言的使用需要注册一个百度账户,可以使用百度网盘的账户进行登录百度智能云-登录 (baidu.com),
 
链接地址:https://login.bce.baidu.com/?redirect=https://console.bce.baidu.com/qianfan/overview
申请以后,进入文心千帆大模型操作百度智能云控制台 (baidu.com)
 
链接地址:https://console.bce.baidu.com/qianfan/overview
 

 
选择第一个,大模型直接调用。里面内容可以全选。
 

 
选择第一个即可。
 
2、创建应用
 
点击创建应用按钮。
 

 
输入应用名称和应用描述,点击确定即可创建成功。
 
创建好应用之后,如下图:
 

 
把API Key和Secret Key记录下来,后面代码中会用到。
 
3、编写代码
 
3.1、首先下载requsets库和json库
 
3.2、完成的代码示例如下:
 
 
  #!/usr/bin/env python3 
 
 
  # -*- coding: utf-8 -*- 
 
 
  
 
  import requests 
 
 
  import json 
 
 
  
 
  API_KEY="4liyYR6xxxIWS9s9i6A7" 
 
 
  SECRET_KEY="a0BD6rsxxxLHYy3ZfInyENCG" 
 
 
 
     
 
 
  
 
  def main(): 
 
 
  client_id=API_KEY 
 
 
  client_secret=SECRET_KEY 
 
 
  url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id="+client_id+"&client_secret="+client_secret 
 
 
  payload = "" 
 
 
  headers = { 
 
 
  'Content-Type': 'application/json', 
 
 
  'Accept': 'application/json' 
 
 
  } 
 
 
  response = requests.request("POST", url, headers=headers, data=payload) 
 
 
  print(response.text) 
 
 
 
     
 
 
  
 
  def main1(): 
 
 
  token = get_access_token() 
 
 
  print('token:', token) 
 
 
  url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + token 
 
 
  #注意message必须是奇数条 
 
 
  while(1): 
 
 
  text = input() 
 
 
  payload = json.dumps({ 
 
 
  "messages": [ 
 
 
  { 
 
 
  "role": "user", 
 
 
  "content": text 
 
 
  } 
 
 
  ] 
 
 
  }) 
 
 
  headers = { 
 
 
  'Content-Type': 'application/json' 
 
 
  } 
 
 
  # response = requests.request("POST", url, headers=headers, data=payload) 
 
 
  # print(response.text) 
 
 
  # print('result:',str(response.text.json().get("result"))) 
 
 
  res = requests.request("POST", url, headers=headers, data=payload).json() 
 
 
  print(res['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} 
 
 
  return str(requests.post(url, params=params).json().get("access_token")) 
 
 
 
     
 
 
  
 
  if __name__ == '__main__': 
 
 
  # main() 
 
 
  main1() 
 
 
  
备注:通过while循环,实现了在控制台输入文字,文心一言反馈一段文字。是不是很有趣。
 
4、运行启动后效果:
 

 
 
         
    
全部评论