百度文心一言API申请和python/Go使用教程

2025-12-13 0 262

百度文心一言API申请和python/Go使用教程

其他信息->【智子纪元-AIGC】技术交流群

目前百度文心一言,可以算是国内做的比较好的中文大模型产品,博主现在也已经拿到了文心一言的API,写一个API的申请和使用教程,供大家参考。

未申请到API的同学,前往官网申请,或添加小助手寻求帮助。

文心一言的优势:

文心一言是百度开发的国内大型语言模型,相较于ChatGPT,在信息的出境传输方面具有以下优势:

  1. 数据隐私:由于文心一言是国内开发的模型,它的运行和数据存储主要在国内,这意味着用户的数据在传输过程中不需要跨境传输,减少了一定的信息流出风险。对于一些对数据隐私保护较为敏感的用户或组织,这是一个优势。
  2. 法律合规性:文心一言在开发过程中遵守国内相关法律法规,符合国内的法律合规要求。这使得文心一言在国内使用更符合当地的法律和政策要求,避免了信息传输可能涉及的跨境数据合规性问题。
  3. 加速传输速度:由于数据不需要经过国际网络传输,文心一言的响应速度可能会更快,特别是对于国内用户。较低的网络延迟和更高的带宽可提供更快的交互和响应时间,增加用户体验的顺畅性。

值得注意的是,每个模型都有其特定的优势和适用场景。

申请注册教程:

  • 首先注册百度账户,成为开发者,在下面的链接申请文心大模型:cloud.baidu.com/survey_
  • 申请以后,进入文心千帆大模型操作台:ai.baidu.com/wenxinwork
  • 申请到文心大模型后,我们可以看到百度文心一言提供的产品和对应的价格:

百度文心一言API申请和python/Go使用教程

选择上述API,选择全部开通

百度文心一言API申请和python/Go使用教程

  • 开通以后就可以使用这些API了,可以在千帆大模型控制台,管理API。千帆大模型控制台链接,https://console.bce.baidu.com/ai/#/ai/wenxinworkshop/overview/index。
  • 控制台的页面如下所示:

百度文心一言API申请和python/Go使用教程

  • 选择创建应用:

百度文心一言API申请和python/Go使用教程

  • 创建成功以后,平台会分配相关的凭证,包括AppID、API Key、Secret Key,以上三个信息是您应用实际开发的主要凭证,每个应用之间各不相同,请妥善保管:

百度文心一言API申请和python/Go使用教程

  • 其他参考链接:
    • 文心千帆产品文档:cloud.baidu.com/doc/WEN
    • API信息:
      • AppID:35297004
      • API Key:RgAqxxxxxxOoLy
      • Sceret Key:zWSdXWx4BNxxxxxxi8YORj
    • 文心千帆API调用指南:cloud.baidu.com/doc/WEN
    • 模型调试平台,在这个平台我们可以调试不同的模型和示例代码:https://console.bce.baidu.com/tools/#/api?product=AI&project=文心千帆大模型平台&parent=鉴权认证机制&api=oauth%2F2.0%2Ftoken&method=post

百度文心一言API申请和python/Go使用教程

代码调用API:

创建了应用,有了api后,我们便可以使用代码调用api,来进行下游应用的开发。

创建Access Token:

创建Access Token,根据创建应用所分配到的AppID、API Key及Secret Key,进行Access Token(用户身份验证和授权的凭证)的生成。生成方式的参考链接:ai.baidu.com/ai-doc/REF

通过python代码的形式获取:

import requests
import json

def main():
  # client id = App Key, client_secret = Secret Key
  client_id = \'RgAq3HSxxxxlvXOoLy\'
  client_secret = \'zWSdXWx4xxxkRWi8YORj\'
  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.text)
 

if __name__ == \'__main__\':
  main()
  • 代码实现调用,下面给出python调用ErnieBot和ErnieBot-turbo的示例代码:

Python调用文心一言模型:

百度用于聊天的总共提供了两个模型,ErnieBot和ErnieBot-turbo。下面分别是调用两个模型的代码。

python调用ErnieBot接口:

import requests
import json

API_KEY = \"RgAq3HSsxxxXOoLy\"
SECRET_KEY = \"zWSdXWx4xxxxxWi8YORj\"

def main():   
  url = \"<https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=>\" + get_access_token()
 
  payload = json.dumps({
    \"messages\": [
      {
        \"role\": \"user\",
        \"content\": \"你好\"
      },
      {
        \"role\": \"assistant\",
        \"content\": \"你好!我是一名人工智能语言模型,可以回答各种问题。请问有什么我可以帮助你的吗?\"
      },
      {
        \"role\": \"user\",
        \"content\": \"我是小红\"
      },
      {
        \"role\": \"assistant\",
        \"content\": \"很高兴认识你,小红。请问有什么我可以帮助你的吗?\"
      },
      {
        \"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()

message必须是奇数条。一个用户输入”user”,一个返回“assistant”构成一对。可以支持多轮对话。

python调用ErnieBot-turbo接口:

import requests
import json

API_KEY = \"RgAq3xxxxxvXOoLy\"
SECRET_KEY = \"zWSdXWxxxxxxmkRWi8YORj\"

def main():
        
    url = \"<https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=>\" + get_access_token()
    
    payload = json.dumps({
        \"messages\": [
            {
                \"role\": \"user\",
                \"content\": \"你好\"
            },
            {
                \"role\": \"assistant\",
                \"content\": \"你好!有什么我可以帮助你的吗?\"
            },
            {
                \"role\": \"user\",
                \"content\": \"你是谁\"
            },
            {
                \"role\": \"assistant\",
                \"content\": \"您好,我是文心一言,英文名是ERNIE Bot。我能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。\"
            }
        ]
    })
    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()

go调用文心一言模型:

调用ErnieBot接口:

package main

import (
    \"encoding/json\"
    \"fmt\"
    \"io/ioutil\"
    \"net/http\"
    \"strings\"
)
const API_KEY = \"RgAq3HSxxxxDlvXOoLy\"
const SECRET_KEY = \"zWSdXWxxxxKmkRWi8YORj\"

func main() {

    url := \"<https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token=>\" + GetAccessToken()
    payload := strings.NewReader(``)
    client := &http.Client {}
    req, err := http.NewRequest(\"POST\", url, payload)

    if err != nil {
        fmt.Println(err)
        return
    }
    req.Header.Add(\"Content-Type\", \"application/json\")

    res, err := client.Do(req)
    if err != nil {
        fmt.Println(err)
        return
    }
    defer res.Body.Close()

    body, err := ioutil.ReadAll(res.Body)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(body))
}

/**
 * 使用 AK,SK 生成鉴权签名(Access Token)
 * @return string 鉴权签名信息(Access Token)
 */
func GetAccessToken() string {
    url := \"<https://aip.baidubce.com/oauth/2.0/token>\"
    postData := fmt.Sprintf(\"grant_type=client_credentials&client_id=%s&client_secret=%s\", API_KEY, SECRET_KEY)
    resp, err := http.Post(url, \"application/x-www-form-urlencoded\", strings.NewReader(postData))
    if err != nil {
        fmt.Println(err)
        return \"\"
    }
    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        fmt.Println(err)
        return \"\"
    }
    accessTokenObj := map[string]string{}
    json.Unmarshal([]byte(body), &accessTokenObj)
    return accessTokenObj[\"access_token\"]
}

调用ErnieBot-turbo接口:

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 编程相关 百度文心一言API申请和python/Go使用教程 https://www.zuozi.net/36438.html

常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务