学习笔记|百度文心千帆大模型平台测试及页面交互简易代码

这篇具有很好参考价值的文章主要介绍了学习笔记|百度文心千帆大模型平台测试及页面交互简易代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目前百度文心一言的内测资格申请相当拉胯,提交申请快3个月,无任何音讯。不知道要等到什么时候。
百度适时开放了百度文心千帆大模型平台,目前可以提交申请测试,貌似通过的很快,已取得测试申请资格,可以用起来。
申请测试网址
获得测试资格后的页面是这样的:
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型
点击立即使用,可以在线测试:
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型

使用千帆大模型API

点击主页右上角,控制台,进入百度云控制台,创建应用:学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型
之后就可以得到调用API的 AppID,APIKey,SecretKey。API调用时,主要使用APIKey,SecretKey。

目前赠送代金券,测试用足够了,按调用次数收费。
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型

API调用测试第一步:取得access_token

这里根据网友的代码用于测试,有修改。
原始代码参考-百度:文心千帆 网页搭建和示例测评
假设调用ERNIE-Bot-turbo
官方帮助文档见:ERNIE-Bot-turbo
请求地址: https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant
请求方式: POST
access_token有效性测试(基于python):

# 填充API Key与Secret Key
import requests
import json


def main(APIKey,SecretKey):
    url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id="+APIKey+"&client_secret="+SecretKey
    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")


if __name__ == '__main__':

    APIKey="6bWN69CoTBjgC**********"  # 填入平台申请的实际APIKey
    SecretKey="wy1nU8UrnePKWm0***************" # 填入平台申请的实际SecretKey
    access_token = main(APIKey,SecretKey)
    print(access_token)

如果打印得到access_token,则证明相关参数无误:
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型
可进行下一步对话测试。

大模型回答测试代码

import requests
import json


def get_access_token(APIKey, SecretKey):
    """
    使用 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="+APIKey+"&client_secret="+SecretKey

    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(APIKey, SecretKey):
    url = "https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/eb-instant?access_token=" + get_access_token(APIKey, SecretKey)

    payload = json.dumps({
        "messages": [
            {
                "role": "user",
                "content": "给我推荐一些北京周边的自驾游路线"
            }
        ],
        "stream": True
    })
    headers = {
        'Content-Type': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    print(response.text)


if __name__ == '__main__':

    APIKey="6bWN69CoTBjgC**********"  # 填入平台申请的实际APIKey
    SecretKey="wy1nU8UrnePKWm0***************" # 填入平台申请的实际SecretKey
    main(APIKey, SecretKey)

大模型回复示例如下:
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型

基于Flask轻量化工具测试

编写app.py

from flask import Flask, render_template, request, jsonify, make_response
import requests
import uuid

app = Flask(__name__)

# 替换成您的API Key和Secret Key
API_KEY="6bWN69CoTBjgC**********"  # 填入平台申请的实际APIKey
SECRET_KEY="wy1nU8UrnePKWm0***************" # 填入平台申请的实际SecretKey

# 获取access_token
TOKEN_URL = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={API_KEY}&client_secret={SECRET_KEY}"
response = requests.get(TOKEN_URL)
ACCESS_TOKEN = response.json()["access_token"]

# 定义ERNIE-Bot聊天接口地址
CHAT_API_URL = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={ACCESS_TOKEN}"
user_chat_histories = {}


@app.route("/")
def index():
    sessionid = str(uuid.uuid4())[:16]
    resp = make_response(render_template("index.html"))
    resp.set_cookie("sessionid", sessionid)
    return resp


@app.route("/chat", methods=["POST"])
def chat_with_ernie_bot():
    # 从前端获取用户输入的对话内容和sessionid
    user_id = request.cookies.get("sessionid")
    user_input = request.json["user_input"]
    # 获取该用户的对话历史,如果用户是首次对话,则新建一个空列表作为其对话历史
    user_history = user_chat_histories.get(user_id, [])

    # 将用户输入添加到对话历史中
    user_history.append({"role": "user", "content": user_input})
    # 调用ERNIE-Bot聊天接口
    headers = {"Content-Type": "application/json"}
    data = {"messages": user_history}
    response = requests.post(CHAT_API_URL, headers=headers, json=data)
    result = response.json()["result"]
    print(result)
    user_history.append({"role": "assistant", "content": result})
    user_chat_histories[user_id] = user_history
    return jsonify({"response": result})


if __name__ == "__main__":
    app.run(host='0.0.0.0', port=1333, debug=False)

在app.py的同级目录下,建立目录templates,用来存放访问页面文件index.html。

index.html内容:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>百度千帆</title>
    <style>
        body {
            font-family: Arial, sans-serif;
        }

        #chat-container {
            display: flex;
            flex-direction: column;
            height: 80vh;
            width: 50%;
            margin: auto;
            border: 1px solid #ddd;
            border-radius: 10px;
            padding: 10px;
        }

        #chat-history {
            flex-grow: 1;
            overflow-y: auto;
            margin-bottom: 10px;
        }

        #user-input {
            flex-grow: 0;
            margin-right: 10px;
        }

        h1 {
            text-align: center;
        }

        .send {
           text-align: center;
        }
    </style>
    <script src="https://www.hyluz.cn/marked.min.js"></script>
</head>
<body>
<h1>百度千帆</h1>
<div id="chat-container">
    <div id="chat-history"></div>
    <div class="send">
        <input type="text" id="user-input" placeholder="输入您的消息..."/>
        <button id="send-button" onclick="sendMessage()">发送</button>
    </div>
</div>

<script>
    const chatHistory = document.getElementById("chat-history");
    const userInput = document.getElementById("user-input");
    userInput.addEventListener("keydown", function (e) {
        if (e.key === "Enter") {
            e.preventDefault();
            sendMessage();
        }
    });

    function getCookie(name) {
        const value = "; " + document.cookie;
        const parts = value.split("; " + name + "=");
        if (parts.length === 2) return parts.pop().split(";").shift();
    }

    function addMessageToChatHistory(role, message) {
        const messageElement = document.createElement("div");
        messageElement.className = role;
        messageElement.innerHTML = marked.parse(message);
        chatHistory.appendChild(messageElement);
        chatHistory.scrollTop = chatHistory.scrollHeight;
    }

    function sendMessage() {
        const userMessage = userInput.value.trim();
        if (!userMessage) {
            return;
        }

        const userId = getCookie("sessionid");

        addMessageToChatHistory("user", "用户: " + userMessage);

        fetch("/chat", {
            method: "POST",
            headers: {
                "Content-Type": "application/json",
            },
            body: JSON.stringify({"user_id": userId, "user_input": userMessage}),
        })
            .then(response => response.json())
            .then(data => {
                const botResponse = data.response;
                addMessageToChatHistory("assistant", "百度AI: " + botResponse);
            })
            .catch(error => {
                console.error("Error:", error);
            });

        userInput.value = "";
    }
</script>
</body>
</html>

运行app.py,本地客户端运行,本地访问地址及端口:
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型
浏览器中打开地址:http://127.0.0.1:1333/,打开index.html,显示交互界面:
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码,chatgpt,学习,笔记,百度千帆大模型
可以输入信息,调用api进行交互。文章来源地址https://www.toymoban.com/news/detail-616913.html

到了这里,关于学习笔记|百度文心千帆大模型平台测试及页面交互简易代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 文心千帆大模型平台,一站式企业级大模型平台

    随着人工智能技术的不断发展,尤其是深度学习技术的广泛应用,大模型训练已成为当下研究的热点之一,随着计算能力的不断提升和数据规模的不断增加,大模型展现出了惊人的能力,能够处理更加复杂和庞大的任务。从计算机视觉到自然语言处理,从语音识别到推荐系统

    2024年02月16日
    浏览(32)
  • 百度文心一言文心千帆大模型 ERNIE-Bot-turbo调用示例(golang版本)

    百度的文心一言推出来也有一段时间了,但是接口部分一直没有公开,需要进行申请 最近,有朋友提供了文心千帆大模型的api权限,拿到了必须的参数,现在就来测试一下 下面是使用golang封装的文心千帆 ERNIE-Bot-turbo模型的调用示例 ERNIE-Bot-turbo.go 测试用例,获取access_token是

    2024年02月16日
    浏览(35)
  • 百度智能云千帆大模型平台 2.0 产品技术解析

    本文整理自 2023 年 9 月 5 日百度云智大会 - 智能计算大模型技术分论坛,百度智能云 AI 大数据平台总经理忻舟的主题演讲《百度智能云千帆大模型平台 2.0 产品技术解析》。 这是关于技术主题的论坛,我首先问大家三个开发者的小问题。 第一个问题:蒸汽机的发明者是谁?

    2024年02月07日
    浏览(35)
  • 百度智能云千帆大模型平台黑客马拉松报名开启!

    创造是生成式 AI 的核心。无论是智能导购带来的线上购物体验升级,还是主图生成带来的素材生产效率提升,又或是游戏场景的快速设置、智能 NPC 的全新交互、数字广告的精准推荐和个性化定制,亦或者是为学生提供更符合真实的口语练习环境,生成式 AI 这一人工智能的范

    2024年02月06日
    浏览(40)
  • 百度智能云“千帆大模型平台”升级:大模型最多,Prompt模板最全

    🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 前言 一、千帆大模型平台 二、体验分享 2.1服务申请 2.2Prompt模板 2.3Prompt模板的使用

    2024年02月14日
    浏览(30)
  • 百度智能云千帆大模型平台再升级,SDK版本开源发布!

    📫作者简介: 小明java问道之路 , 2022年度博客之星全国TOP3 ,专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化,文章内容兼具广度、深度、大厂技术方案,对待技术喜欢推理加验证,就职于知名金融公司后端高级工程师。          📫 热衷分享,喜欢原

    2024年02月05日
    浏览(31)
  • 百度智能云“千帆大模型平台”最新升级:接入Llama 2等33个模型!

    今年3月,百度智能云推出“千帆大模型平台”。作为全球首个一站式的企业级大模型平台,千帆不但提供包括文心一言在内的大模型服务及第三方大模型服务,还提供大模型开发和应用的整套工具链,能够帮助企业解决大模型开发和应用过程中的所有问题。 本次千帆大模型

    2024年02月14日
    浏览(31)
  • 百度智能云千帆大模型平台2.0来了!从大模型到生产力落地的怪兽级平台!!

    目录 前言  最佳算力效能为企业降低门槛 最多大模型,最多数据集为企业保驾护航 企业级安全对于企业来说是硬性要求 普通人或许感知不明显,但是对于企业而言,身处AI时代,是否选择投资大模型,是否拥抱人工智能提高企业生产力,一直以来都是一个严肃的话题;从年

    2024年02月09日
    浏览(36)
  • 百度智能云:千帆大模型平台接入Llama 2等33个大模型,上线103个Prompt模板

      大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的

    2024年02月13日
    浏览(24)
  • 用【Java】调用百度千帆大模型并提供流式接口【SSE】响应

    接口地址: V1版本:https://apis.ydxiaoshuai.cn/xai/rest/llm/baidu/qianfan/chat?accessToken=ACCESSTOKENprompt=PROMPT V2版本使用WebFlux:https://apis.ydxiaoshuai.cn/xai/rest/llm/baidu/qianfan/v2/chat?accessToken=ACCESSTOKENprompt=PROMPT 请求方式:GET 参数替换: 替换ACCESSTOKEN为自己的 替换PROMPT为自己要提问的问题 注意:服务器带

    2024年04月24日
    浏览(31)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包