当前位置:AIGC资讯 > AIGC > 正文

【AI大模型应用开发】0.1 百度文心一言 API接入详细步骤和简单应用

大家好,我是【同学小张】。持续学习,持续干货输出,关注我,跟我一起学AI大模型技能。

最近我的OpenAI的API key由于调用次数太多被封了… 不知道下个月能不能解封。而为了尽可能地不花钱,先来看下国内的大模型API怎么用。

本文是 百度文心一言API的使用。

文章目录

0. 接入流程 1. 注册百度千帆账号,创建应用 2. 获取Access Token 3. 调用文心大模型接口 4. API在线调试 5. 其它

0. 接入流程

整体流程图如下:

1. 注册百度千帆账号,创建应用

(1)首先注册千帆账号并登录千帆平台

官网地址:https://console.bce.baidu.com/qianfan/ais/console/applicationConsole/application

(2)根据实际需求创建千帆应用,创建成功后,获取AppID、API Key、Secret Key 等信息。如果已有千帆应用,可以查看已有应用的API Key、Secret Key 等信息。

2. 获取Access Token

(1)将百度千帆的API Key和Secret Key放到环境变量中,加载

BAIDU_QIANFAN_CLINE_AK = "xxxxx"
BAIDU_QIANFAN_CLINE_SK = "xxxxx"

(2)获取Access Token的Python代码

import requests
import json
import os
# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())

client_id = os.getenv('BAIDU_QIANFAN_CLINE_AK') # 设置百度千帆AK: API Key
client_secret = os.getenv('BAIDU_QIANFAN_CLINE_SK') # 设置百度千帆SK: Secret Key


def get_access_token():
        
    url = f"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.json().get("access_token"))
    

if __name__ == '__main__':
    get_access_token()

3. 调用文心大模型接口

url决定了调用哪个大模型以及哪个接口,同时url中需要填入Acess Token的值 payload为POST请求数据体 headers为请求头 发送POST请求
def main():
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?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()

运行结果:

result为返回结果 usage字段为输入和输出以及总的消耗的token数

更多API调用可参考:https://cloud.baidu.com/doc/WENXINWORKSHOP/s/Nlks5zkzu

4. API在线调试

百度千帆平台还提供了API在线调试服务,这是一个可视化、提升接口调试效率的调试平台,集成快速检索、开发文档、调试、复制和下载示例代码等功能,简单易用。通过API在线调试平台,开发者无需编写代码,即可快捷完成服务端的接口调用,同时还可以快速地获取渲染好的示例代码等。

平台链接:https://console.bce.baidu.com/tools/?_=1692863460488#/api?product=AI&project=%E5%8D%83%E5%B8%86%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%B9%B3%E5%8F%B0&parent=%E9%89%B4%E6%9D%83%E8%AE%A4%E8%AF%81%E6%9C%BA%E5%88%B6&api=oauth/2.0/token&method=post

(1)在messages中更改对话内容,调试,可视化查看结果


(2)直接在右侧底部对话框输入对话,查看返回结果,会自动更新对话内容到左侧的messages中。


(3)调试好之后,可以点击示例代码,直接将代码拷贝粘贴到程序中,自己不用再一行一行写了,并且保证正确。以下就是上面多轮对话的示例代码。

5. 其它

绘画接口,需开通付费才能用…以后再说。

好了,本文就到这了。百度千帆还有很多方便的功能,感兴趣的可以去探索下。因为我目前的目的只是看看百度文心一言的API怎么接入以及怎么替换掉OpenAI的接口,所以没有太过深入。后面有机会继续探索。

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~

大家好,我是同学小张 欢迎 点赞 + 关注 ?,促使我持续学习,持续干货输出。 +v: jasper_8017 一起交流?,一起进步?。 微信公众号也可搜【同学小张】 ? 踩坑不易,感谢关注和围观

本站文章一览:

更新时间 2024-02-20