【Python】使用文心一言API进行第一个调用

文章目录

  • 前言
  • 一、注册百度千帆大模型平台
  • 1、注册账号,注册时按个人或企业选择创建
  • 2、创建应用
  • 3、明确模型收费规则
  • 二、Python调用模型
  • 1、找到对应调用方法
  • 2、查看默认调用文档
  • 3、选择python对应方法
  • 2、标准结果显示
  • 3、格式化返回结果
  • 4、格式后结果显示
  • 总结

  • 前言

    我的第一个python对接文心一言开发程序

    从注册API到调用API的过程


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、注册百度千帆大模型平台

    1、注册账号,注册时按个人或企业选择创建

    地址:https://console.bce.baidu.com/qianfan/overview

    2、创建应用

    代码如下(示例):

    填写对应信息后确定即可

    点击应用详情查看
    API Key:和Secret Key,供后续调用使用

    3、明确模型收费规则

    找到计费管理,查看收费详情价格一栏,¥0元/千tokens 代表的是免费,后续调用可以调用免费的模型即可,其他功能模型详细信息请见API列表
    我这里使用的是ERNIE-Speed-8K

    二、Python调用模型

    1、找到对应调用方法

    API文档中心

    2、查看默认调用文档

    3、选择python对应方法

    代码示例如下:(应用API Key、应用Secret Key请放自己的密钥)

    import requests
    import json
    
    
    def get_access_token():
        """
        使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
        """
    
        url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=fEuMu12344448u9&client_secret=WYHqD123435yfINo7s"
    
        payload = json.dumps("")
        headers = {
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }
    
        response = requests.request("POST", url, headers=headers, data=payload)
        return response.json().get("access_token")
    
    
    def main():
        url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie_speed?access_token=" + get_access_token()
    
        payload = json.dumps({
            "messages": [
                {
                    "role": "user",
                    "content": "今日热点信息"
                }
            ]
        })
        headers = {
            'Content-Type': 'application/json'
        }
    
        response = requests.request("POST", url, headers=headers, data=payload)
    
        print(response.text)
    
    
    if __name__ == '__main__':
        main()
    

    2、标准结果显示

    C:\Users\PUB\AppData\Local\Programs\Python\Python38-32\python.exe D:\2024python\信息推送\今日热点新闻.py 
    {"id":"as-j87wn6fsab","object":"chat.completion","created":1717123359,"result":"今日热点信息涵盖多个领域,以下是一些可能正在引起广泛关注的热点信息:\n\n1. 疫情防控:新冠病毒的新变异株及其传播情况,各国采取的防控措施,疫苗接种进展等。\n2. 经济发展:全球及国内的经济数据,货币政策调整,行业发展趋势等。\n3. 社会事件:重大交通事故、自然灾害等突发事件,以及与之相关的救援和重建工作。\n4. 科技进展:新技术、新产品的发布,人工智能、区块链、元宇宙等前沿科技的最新动态。\n5. 娱乐八卦:娱乐圈的热门事件、明星绯闻、新电影/电视剧的动态等。\n6. 教育政策:新的教育政策、教育改革动态以及高考、中考等重要考试的相关信息。\n7. 国际关系:各国间的政治、经济、军事关系,国际热点问题的最新进展等。\n\n以上仅为一些可能正在引起广泛关注的热点信息,具体请关注官方媒体或新闻网站以获取更准确、全面的信息。","is_truncated":false,"need_clear_history":false,"usage":{"prompt_tokens":3,"completion_tokens":194,"total_tokens":197}}
    
    进程已结束,退出代码0
    

    3、格式化返回结果

    将 response.text 通过 json 进行转换
    代码如下

      import requests
    import json
    
    
    def get_access_token():
        """
        使用 API Key,Secret Key 获取access_token,替换下列示例中的应用API Key、应用Secret Key
        """
    
        url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=fEuMuWS5RBeRfSm123123ap8u9&client_secret=WYHqDsfu5Wqv87QP123yfINo7s"
    
        payload = json.dumps("")
        headers = {
            'Content-Type': 'application/json',
            'Accept': 'application/json'
        }
    
        response = requests.request("POST", url, headers=headers, data=payload)
        return response.json().get("access_token")
    
    
    def main():
        url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/ernie_speed?access_token=" + get_access_token()
    
        payload = json.dumps({
            "messages": [
                {
                    "role": "user",
                    "content": "今日热点信息"
                }
            ]
        })
        headers = {
            'Content-Type': 'application/json'
        }
    
        response = requests.request("POST", url, headers=headers, data=payload)
    
        # print(response.text)
        data = json.loads(response.text)
        print(data['result'])
    
    
    if __name__ == '__main__':
        main()
    

    4、格式后结果显示

    代码如下(示例):

    C:\Users\PUB\AppData\Local\Programs\Python\Python38-32\python.exe D:\2024python\信息推送\今日热点新闻.py 
    今日热点信息包括但不限于以下几个方面:
    
    1. 国际形势:朝鲜和韩国领导人最近发表的联合声明缓和了紧张局势,美韩联合军演引发的地区安全担忧有所缓解。同时,美国通胀数据降温也为市场带来乐观情绪。此外,俄乌局势仍然紧张,双方仍在持续冲突。
    2. 科技创新:人工智能聊天机器人ChatGPT近期受到广泛关注,其应用场景广泛并具备强大的能力,如语言交流、自动化客服等。另外,元宇宙的爆发也是一个重要的科技趋势,它将虚拟世界与现实世界融合,改变了人们的社交方式和娱乐方式。同时,自动驾驶技术的发展也在推动汽车产业变革。
    3. 社会热点:国内旅游市场正在迅速复苏,五一假期的旅游数据表现出强劲的增长势头。此外,高校毕业生就业问题受到广泛关注,各地政府正在积极采取措施促进就业。同时,养老问题也是社会关注的热点话题之一,特别是在我国人口老龄化日益严重的情况下。各地也出台了一系列养老金政策来应对这一问题。
    
    请注意,以上信息可能会随着时间的推移而发生变化,建议通过可靠的新闻来源获取最新的信息。
    
    进程已结束,退出代码0
    

    总结

    1、先学习模型的调用接口文档,根据自己需要使用对应的模型
    2、每个模型都对应有使用方法,直接拿来先测试使用,然后根据实际业务应用到业务场景中

    作者:小九不懂SAP

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【Python】使用文心一言API进行第一个调用

    发表回复