文心一言API使用教程(python版)

这篇具有很好参考价值的文章主要介绍了文心一言API使用教程(python版)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 注:在做项目的时候需要调用文心一言,发现网上的版本很乱,基本都止步在官方文档的代码上,所以写了一篇博客来记录自己的尝试实现了对文心一言的循环调用和自定义询问,本篇文章不需要有任何对api的基础知识,代码全部成功运行,并引用官方文档,祝大家成功实现自己的调用

预置准备部分 


  • 注册百度千帆平台账户,并注册api

    1. 文心一言的使用需要注册一个百度账户,可以使用百度网盘的账户进行登录百度智能云-登录 (baidu.com)
    2. 申请以后,进入文心千帆大模型操作百度智能云控制台 (baidu.com)文心一言API使用教程(python版),文心一言,python
    3. 选择右侧边栏的应用接入,再点击创建应用就可以申请一个api了文心一言API使用教程(python版),文心一言,python
    4. 创建过程中只需要填写当前api的名称以及描述,默认所有服务都是勾选的(对api的使用没有任何影响)文心一言API使用教程(python版),文心一言,python
    5. 创建成功后会返回到应用接入的界面,记录下此时AppID、API Key、Secret Key文心一言API使用教程(python版),文心一言,python
  • 配置api,开通服务接口

        1.点击控制台右上角的计费管理开通服务

文心一言API使用教程(python版),文心一言,python

       注意文心一言的api的调用是需要付费的,并且提供多个大模型可以根据自己的选择进行开通,博主只开通了  ERNIE-Bot-turbo大模型公有云在线调用服务和ERNIE-Bot大模型公有云在线调用服务,不同服务的差别可以参考API列表API列表 - 千帆大模型平台 | 百度智能云文档 (baidu.com)

文心一言API使用教程(python版),文心一言,python

  •  python装配库

    • 下载requsets库
    • 下载json库

         


程序编写部分

  • 获取Acees Token:

    1. 需要通过Acess Token来访问文心一言,注意:access_token默认有效期30天,生产环境注意及时刷新。可参考官方文档获取access_token - 千帆大模型平台 | 百度智能云文档 (baidu.com)
      import requests
      import json
      
      def main():
          # client id = API Key, client_secret = Secret Key 修改成自己的API Key 和Sercet Key
          client_id="4YqbzGV59w6BU3Hh1GlBsaA1"
          client_secret="3mM6ys4yAG5j******v"
          url = "https://aip.baidubce.com/oauth/2.0/token?grant_type= client_credentials 
       & client_id= 4Y****saA1 & client_secret = 3mM6ys4yAG5j*****PnH0yDHlv "
      
          
          payload = ""
          headers = {
              'Content-Type': 'application/json',
              'Accept': 'application/json'
          }
          
          response = requests.request("POST", url, headers=headers, data=payload)
          
          print(response.text)
          
      
      if __name__ == '__main__':
          main()
      
      #会再终端打印一行文本即acess token
    2. 根据终端打印的Acess Token获取数据,记录其中的refresh_tolen(不用抄下来这一步是为了让大家更好的理解接下来的get_acess_token()函数)文心一言API使用教程(python版),文心一言,python
  •     实现基本调用

  1. 将refresh_token作为参数传入到调用程序中,现在就完成了最基本的使用,此时是默认的问题“你好”,message中的数据必须是奇数条,负责会报错
    import requests
    import json
    #修改成自己的api key和secret key
    API_KEY = "Kc8pXsRQ***TbbF"
    SECRET_KEY = "bgS856cVXiw5gj****IekgH4b2n"
    
    
    def main():
        url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()
    #注意message必须是奇数条
        payload = json.dumps({
            "messages": [
                {
                    "role": "user",
                    "content": "你好"
                }
                #,
                #{
                #    "role": "assistant",
                #    "content": "你好,有什么我可以帮助你的吗?"
                #}
            ]
        })
        headers = {
            'Content-Type': 'application/json'
        }
    
        response = requests.request("POST", url, headers=headers, data=payload)
    
        print(response.text)
    
    
    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()

  •  程序升级部分

 此部分需要一定的python基础,如json,requset等相关知识,可以自己在CSDN,博客园,菜鸟驿站和B站找相关教程,当然可以直接看最后的代码就是最终成品

    •  问题:不能自定义问题的:
      • 设定一个输入字符串来解决
      • 将message中的"content“ : ”你好“ 换成 s 
    • 问题:打印输出的内容存在不需要的部分:
      {"id":"as-nuhbvmdj8h",
      "object":"chat.completion",
      "created":1697125231,
      "result":"长沙有很多好玩的地方,以下是一些值得推荐的项目:\n\n* 橘子洲:位于长沙市区对面的湘江中,是长沙必游的景点之一。这里有一片人工沙滩可以戏水游玩,还有毛泽东青年雕像、历史浮雕等可以参观。\n* 岳麓山:位于长沙市区的岳麓山风景区是国家5A级旅游景区。这里有悠久的历史文化,拥有碑刻、古建筑、古植物、山水风光等各种景观,是长沙的一大标志性景点。\n* 长沙IFS:这里以商场和写字楼为主,地下一楼有美食城,有丰富的长沙本地小吃。\n* 湖南省博物馆:是湖南省最大的综合性历史博物馆,馆内珍藏着许多珍贵文物,记录了湖南的历史和文化。\n* 天心阁:是长沙市区的标志性建筑之一,有着悠久的历史和文化背景。\n\n此外,长沙还有一些其他值得一游的地方,如黄兴广场、太平街、湖南省植物园等。这些地方都有各自独特的景观和特色,值得一探究竟。\n\n以上信息仅供参考,如有需要,建议您查阅官方资讯。"
      ,"is_truncated":false,
      "need_clear_history":false,
      "usage":{"prompt_tokens":8,"completion_tokens":323,"total_tokens":331}}
      
      • 第一步:返回的response是一个response类型数据,我们可以用.json()将其转换成一个json类型
      • 第二步:观察到json的response是一个字典类型我们可以用['result']来访问元素
      • import requests
        import json
        #修改成自己的api key和secret key
        API_KEY = "4YqbzGV59w******lBsaA1"
        SECRET_KEY = "3mM6ys******xDPnH0yDHlv"
        
        
        def main():
            url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()
            s=input()
        #注意message必须是奇数条
            payload = json.dumps({
                "messages": [
                    {
                        "role": "user",
                        "content": s
                    }
                ]
            })
            headers = {
                'Content-Type': 'application/json'
            }
        
            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()
    • 问题:只能输入一次询问
      • 如果没有其它传感器的话传入信号,我们就可以使用一个永真循环来实现
        import requests
        import json
        #修改成自己的api key和secret key
        API_KEY = "4YqbzGV59w***GlBsaA1"
        SECRET_KEY = "3mM6ys4yAG58***QxDPnH0yDHlv"
        
        
        def main():
            url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()
            while(1):
                s=input()
                # 注意message必须是奇数条
                payload = json.dumps({
                "messages": [
                    {
                        "role": "user",
                        "content": s
                    }
                ]
                })
                headers = {
                    'Content-Type': 'application/json'
                }
        
                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()
  • 最终结果 ,完结,撒花!!!

    import requests
    import json
    #修改成自己的api key和secret key
    API_KEY = "4Y***U3Hh1GlBsaA1"
    SECRET_KEY = "3mM6ys4yAG5***xDPnH0yDHlv"
    
    
    def main():
        url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token()
        while(1):
            s=input()
            # 注意message必须是奇数条
            payload = json.dumps({
            "messages": [
                {
                    "role": "user",
                    "content": s
                }
            ]
            })
            headers = {
                'Content-Type': 'application/json'
            }
    
            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()

         文章来源地址https://www.toymoban.com/news/detail-716813.html

到了这里,关于文心一言API使用教程(python版)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 文心一言API(高级版)使用

    基于百度文心一言语言大模型的智能文本对话AI机器人API,支持聊天对话、行业咨询、语言学习、代码编写等功能. 重要提示:建议使用https协议,当https协议无法使用时再尝试使用http协议 请求方式: POST 序号 参数 是否必须 说明 1 ques 是 你的问题 2 appKey 是 唯一验证AppKey, 可前往官

    2024年02月03日
    浏览(32)
  • 如何申请文心一言&文心千帆大模型API调用资格、获取access_token,并使用SpringBoot接入文心一言API

    前段时间,百度文心一言文心千帆大模型开放了API调用的测试,接下来,教大家申请测试资格并接入文心千帆大模型的API。 右上角点击注册,内容如实填写并完成实名认证。  注册与认证详细内容不再赘述。 进入文心一言文心千帆大模型介绍页,点击申请体验 会进入填写问

    2024年02月15日
    浏览(35)
  • 百度文心一言4.0——使用及API测试

    登录百度智能云:百度智能云 开通付费: 创建应用: 自行创建应用名称: 对话测试: ERNIE-Bot-4 API:ERNIE-Bot-4 打开链接查看自己的API Key,Secret Key。 可参考:API在线调试介绍 找到示例代码即可: 其中,[应用API Key]和[应用Secret Key]分别复制client_id和client_secret,注意是完整字

    2024年02月05日
    浏览(40)
  • 百度文心一言(千帆大模型)聊天API使用指导

    开篇不得不吐槽下百度,百度智能云平台首页跳转千帆大模型平台的按钮太多了,不同按钮跳转不同的子页面,不熟悉的,能把人找懵。入口太多,就导致用户不知道从何开始。本文就从一个前端开发人员的角度,教大家快速使用上文心一言(千帆大模型)API。 直接进千帆控

    2024年02月04日
    浏览(34)
  • 怎么调用文心一言的api接口生成一个简单的聊天机器人(python代码)

    寒假在学习大模型,但也没弄出多少眉目,电脑性能还有点小问题,大模型总跑不起来,只会简单调用一下现有的大模型的接口,例如:文心一言,下面展示一下代码: 至于如何获取这其中的两个key,网上有太多文章了,大家可以去找找看,比如这篇文章:百度文心一言AP

    2024年04月09日
    浏览(65)
  • 文心一言App使用教程图解

    大家好,小发猫降ai今天来聊聊文心一言App使用教程图解,希望能给大家提供一点参考。降ai辅写 以下是针对论文AI辅写率高的情况,提供一些修改建议和技巧,可以借助此类工具: 还有: 文心一言App使用教程图解 在数字化浪潮中,我们拥抱了众多便捷的智能工具,其中文心

    2024年04月13日
    浏览(29)
  • 文心一言人工智能使用教程和操作方法

    文心一言 人工智能使用教程和操作方法 文心一言是一款由百度研发的基于人工智能技术的语言模型,它能够帮助人们回答各种各样的问题,同时还可以协助完成文本创作、智能办公、智能家居控制等多种任务。下面是文心一言的使用教程,希望能够帮助您更好地使用这款神

    2024年02月08日
    浏览(35)
  • nodejs文心一言API接入

    需求 在nodejs里面接入文心一言API,官方调用步骤API介绍 - 千帆大模型平台 | 百度智能云文档 大致流程 创建应用——API授权——获取访问凭证——调用接口 创建应用 注册账号创建应用 首先注册百度云智能账号,登录进入百度智能云千帆控制台 ,然后进入控制台创建应用 。

    2024年02月03日
    浏览(30)
  • 百度文心一言:官方开放API开发基础

    目录 一、模型介绍 1.1主要预置模型介绍 1.2 计费单价 二、前置条件 2.1 创建应用获取 Access Key 与 Secret Key 2.2 设置Access Key 与 Secret Key 三、基于千帆SDK开发 3.1 Maven引入SDK 3.2 代码实现 3.3 运行代码        文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,其

    2024年04月23日
    浏览(27)
  • java调用文心一言API的方法

    话不多说,直接上干货: 一、首先去官网注册一个账号百度智能云-登录 (baidu.com),注册完成后等待审核,审核后就可以去控制台操作啦! 二、根据官网介绍,由于文心一言属于收费产品(也有免费的,但功能限制),因此建议可以充值几块钱,足以做实验用了。我这里用的

    2024年02月11日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包