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

点击立即使用,可以在线测试:

使用千帆大模型API
点击主页右上角,控制台,进入百度云控制台,创建应用:

之后就可以得到调用API的 AppID,APIKey,SecretKey。API调用时,主要使用APIKey,SecretKey。
目前赠送代金券,测试用足够了,按调用次数收费。

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 jsondef main(APIKey,SecretKey):url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id="+APIKey+"&client_secret="+SecretKeypayload = 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**********" # 填入平台申请的实际APIKeySecretKey="wy1nU8UrnePKWm0***************" # 填入平台申请的实际SecretKeyaccess_token = main(APIKey,SecretKey)print(access_token)
如果打印得到access_token,则证明相关参数无误:

可进行下一步对话测试。
大模型回答测试代码
import requests
import jsondef 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="+SecretKeypayload = 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**********" # 填入平台申请的实际APIKeySecretKey="wy1nU8UrnePKWm0***************" # 填入平台申请的实际SecretKeymain(APIKey, SecretKey)
大模型回复示例如下:

基于Flask轻量化工具测试
编写app.py
from flask import Flask, render_template, request, jsonify, make_response
import requests
import uuidapp = 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():# 从前端获取用户输入的对话内容和sessioniduser_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_historyreturn 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,本地客户端运行,本地访问地址及端口:

浏览器中打开地址:http://127.0.0.1:1333/,打开index.html,显示交互界面:

可以输入信息,调用api进行交互。
相关文章:
学习笔记|百度文心千帆大模型平台测试及页面交互简易代码
目前百度文心一言的内测资格申请相当拉胯,提交申请快3个月,无任何音讯。不知道要等到什么时候。 百度适时开放了百度文心千帆大模型平台,目前可以提交申请测试,貌似通过的很快,已取得测试申请资格,可以用起…...
Python中的数据科学实验库有哪些?
Python中有许多数据科学实验库可供使用。以下是一些常用的库: NumPy:用于处理大型多维数组和矩阵的基础数学库。Pandas:用于数据处理和分析的库,提供了灵活的数据结构和数据操作工具。Matplotlib:用于创建静态、动态和…...
区间预测 | MATLAB实现QRLSTM长短期记忆神经网络分位数回归多输入单输出区间预测
区间预测 | MATLAB实现QRLSTM长短期记忆神经网络分位数回归多输入单输出区间预测 目录 区间预测 | MATLAB实现QRLSTM长短期记忆神经网络分位数回归多输入单输出区间预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 MATLAB实现QRLSTM长短期记忆神经网络分位数回…...
Pytorch nn.Linear的基本用法与原理详解
1. 参考 Pytorch nn.Linear的基本用法与原理详解_iioSnail的博客-CSDN博客 [机器学习]深度学习初学者大疑问之nn.Linear(a,b)到底代表什么?_五阿哥爱跳舞的博客-CSDN博客...
数据结构:栈和队列的实现和图解二者相互实现
文章目录 写在前面栈什么是栈栈的实现 队列什么是队列队列的实现 用队列实现栈用栈模拟队列 写在前面 栈和队列的实现依托的是顺序表和链表,如果对顺序表和链表不清楚是很难真正理解栈和队列的 下面为顺序表和链表的实现和图解讲解 手撕图解顺序表 手撕图解单链表 …...
深入理解C++命名空间
文章目录 1. 命名空间的概念2. 解决命名冲突3. 嵌套命名空间4. 使用命名空间别名总结 在C编程中,命名空间(Namespace)是一种非常有用的工具,它可以帮助我们组织和管理代码,避免命名冲突。本文将深入介绍C命名空间的概念…...
<MySQL>建表SQ和CRUD SQ脚本案例二
1. MySQL 建表SQ脚本案例: 地域表 CREATE TABLE xxx_region_list_dic (seqId INT(11) NOT NULL AUTO_INCREMENT,sortId INT(11) DEFAULT NULL,name VARCHAR(255) NOT NULL COMMENT 地域,code VARCHAR(25) NOT NULL COMMENT 编码,isEnable VARCHAR(25) DEFAULT NULL…...
webpack基础配置
webpack基础 webpack 处理css兼容问题webpack 处理css闪屏问题webpack 优化压缩css代码总结webpack 两种开发模式webpack 基本的功能webpack配置 5概念devServer 生产环境webpack配置实例开发环境webpack配置实例webpack优化 webpack 处理css兼容问题 下载loader 引入 package…...
宝塔面板Django项目部署(无数据库版)
近日在学习使用宝塔面板部署Django开发的web项目,走了不少弯路花了3天的时间才完成下面的文字,希望这篇文字能给正在摸索中的人带去点帮助。 一、安装宝塔面板 打开宝塔面板的官方网站(https://www.bt.cn/new/index.html).点击" " 会看到: 当…...
windows默认编码格式修改
1.命令提示符界面输入 chcp 936 对应 GBK 65001 对应 UTF-8 2.临时更改编码格式 chcp 936(或65001) 3.永久更改编码格式 依次开控制面板->时钟和区域->区域->管理->更改系统区域设置,然后按下图所示,勾选使用UTF-8语言支持。然后重启电脑。此…...
原生js vue react通用的递归函数
🙂博主:锅盖哒 🙂文章核心:原生js vue react通用的递归函数 目录大纲 1.递归函数的由来 2.代码逻辑 1.递归函数的由来 递归函数的由来可以追溯到数学中的递归概念和数学归纳法。 在数学中,递归是指通过定义基本情况和…...
vue指令-v-text和v-html
vue指令-v-text和v-html 1、目标2、语法 1、目标 更新DOM对象的innerText/innerHTML 2、语法 v-text“Vue数据变量" v-html“Vue数据变量"注意:会覆盖插值表达式 示例: <template><div id"app"><div><p v…...
quartus工具篇——PLL IP核的使用
quartus工具篇——PLL IP核的使用 1、PLL简介 PLL(Phase-Locked Loop,相位锁环)是FPGA中非常重要的时钟管理单元,其主要功能包括: 频率合成 - PLL可以生成比输入时钟频率高的时钟信号。频率分频 - PLL也可以输出分频后的较低频率时钟。减小时钟抖动 - PLL可以过滤输入时钟中…...
[Angular] Import TranslateModule in Angular 16
1.Background Angular 更新至V16版后,支援 standalone,故移除了 NgModule,而TranslateModule 又要在AppModule中 import,那该如何做呢? 2.NPM packages installation npm install ngx-translate/core npm install n…...
Web自动化测试高级定位xpath
高级定位-xpath 目录 xpath 基本概念xpath 使用场景xpath 语法与实战 xpath基本概念 XPath 是一门在 XML 文档中查找信息的语言XPath 使用路径表达式在 XML 文档中进行导航XPath 的应用非常广泛XPath 可以应用在UI自动化测试 xpath 定位场景 web自动化测试app自动化测试 …...
2023河南萌新联赛第(二)场:河南工业大学 F - 最短距离
2023河南萌新联赛第(二)场:河南工业大学 F - 最短距离 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给定一棵包含 n n n 个顶点的树…...
前端文件上传实践与后端处理——文件分块上传
文件上传是现代Web应用程序中常见的功能之一。在这篇博客中,我们将探讨一个简单但完整的前端文件上传实践,同时提供一个后端示例,演示如何处理上传的文件。我们将使用JavaScript作为前端语言,并结合Node.js作为后端环境。让我们开…...
SFP6012A-ASEMI代理海矽美快恢复二极管参数、尺寸、规格
编辑:ll SFP6012A-ASEMI代理海矽美快恢复二极管参数、尺寸、规格 型号:SFP6012A 品牌:ASEMI 封装:TO-247AC 恢复时间:100ns 正向电流:60A 反向耐压:1200V 芯片大小:102MIL*2…...
githack的安装步骤+一次错误体验
一.githack的安装步骤 1.要在Kali Linux上安装GitHack工具,您可以按照以下步骤操作: 打开终端并使用以下命令克隆GitHack存储库: git clone https://github.com/lijiejie/GitHack.git2.进入GitHack目录: cd GitHack3.安装依赖项…...
【Spring框架】SpringBoot创建和使用
目录 什么是SpringBoot?SpringBoot优点创建SpringBootSpringBoot使用 什么是SpringBoot? Spring 的诞⽣是为了简化 Java 程序的开发的,⽽ Spring Boot 的诞⽣是为了简化 Spring 程序开发的。 SpringBoot优点 1.起步依赖(创建的时候就可以方…...
css实现圆环展示百分比,根据值动态展示所占比例
代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
python如何将word的doc另存为docx
将 DOCX 文件另存为 DOCX 格式(Python 实现) 在 Python 中,你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是,.doc 是旧的 Word 格式,而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...
12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
AI编程--插件对比分析:CodeRider、GitHub Copilot及其他
AI编程插件对比分析:CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展,AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者,分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲
文章目录 前言第一部分:体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分:体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...
