当前位置: 首页 > news >正文

文心一言4.0(ERNIE-Bot-4)申请方法及简单调用代码示例

10月17日过后,估计很多人会看到类似的新闻,如图:

我看到这则新闻也是觉得非常感兴趣,于是本着“百闻不如一见”的实事求是的态度检索如何申请,没想到还真找到了ERNIE-Bot-4(俗称:文心一言4.0)的申请入口,如下:

  • 体验地址

企业用户/个人开发者:填写表单申请开通:百度智能云千帆大模型平台邀您测试 审核通过后即可免费调用千帆文心4.0API

  • API文档

ERNIE-Bot-4 - 千帆大模型平台 | 百度智能云文档


 

我本人是填写表单申请一天左右收到了“百度智能云”的短信通知我通过了申请,老样子,先上图:

通过之后即使不是很擅长调用接口来测试模型质量,百度智能云也会提供在线测试的入口方便我们测试,如图:

也是可以外接知识库或者调整各种参数的,还算便利,也提供了prompt模板作为参考。

如果我们不想每次都打开网站去测试,也可以在本地进行调用来测试,下面以python为例:

先在百度智能云控制台“应用接入”里创建应用,内容自己发挥,主要是我们需要的AppID,API Key以及Secret Key。

当然,我们需要开通一下对应接口的付费,我这里是只开通了ERNIE-Bot-4的付费,0.12¥/千tokens,跟其他模型比可能有点小贵,自费开通,为爱发电哈哈。

好了,万事具备,下面就是一个简单的多轮对话代码示例:

import requests
import json
import os
import pickleclass WenXinYiYanChat:def __init__(self, api_key, secret_key, user_id="这里输入你的APPID", file_name="history.pkl"):# 初始化方法,用于设置API密钥、用户ID、文件名等self.api_key = api_keyself.secret_key = secret_keyself.user_id = user_idself.file_name = file_nameself.access_token = self.get_access_token()self.messages = []self.is_paused = Falsedef get_access_token(self):# 获取access_token,用于后续的API调用url = "https://aip.baidubce.com/oauth/2.0/token"params = {'grant_type': 'client_credentials','client_id': self.api_key,'client_secret': self.secret_key}headers = {'Content-Type': 'application/json','Accept': 'application/json'}response = requests.post(url, headers=headers, params=params)return response.json().get("access_token")def chat(self, user_message):# 进行对话的主要方法if self.is_paused:return "对话目前已暂停。请先恢复对话再继续。"self.messages.append({"role": "user", "content": user_message})payload = {"messages": self.messages,"user_id": self.user_id,"temperature": 0.95,"top_p": 0.8,"penalty_score": 1.0}url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions_pro?access_token={self.access_token}"headers = {'Content-Type': 'application/json'}response = requests.post(url, headers=headers, data=json.dumps(payload))assistant_message = response.json().get("result")self.messages.append({"role": "assistant", "content": assistant_message})return assistant_messagedef clear_history(self):# 清除对话历史记录self.messages = []def get_chat_history(self):# 获取对话历史记录return self.messagesdef save_history(self):# 将对话历史记录保存到文件中with open(self.file_name, "wb") as f:pickle.dump(self.messages, f)def load_history(self):# 从文件中读取对话历史记录if os.path.exists(self.file_name):with open(self.file_name, "rb") as f:self.messages = pickle.load(f)def pause_chat(self):# 暂停对话,并保存对话历史记录self.is_paused = Trueself.save_history()def resume_chat(self):# 恢复对话,并加载对话历史记录self.is_paused = Falseself.load_history()if __name__ == "__main__":api_key = input("请输入您的API Key: ")secret_key = input("请输入您的Secret Key: ")'''如果不想每次都输入这两个KEY就把上面两行注释掉,去除下面两行的注释'''# api_key = "在这里输入你的API Key"# secret_key = "在这里输入你的Secret Key"chat_instance = WenXinYiYanChat(api_key, secret_key)while True:user_message = input("靓仔: ")# 添加控制语句,用于实现功能if user_message.lower() == "暂停":chat_instance.pause_chat()print("对话已暂停。")elif user_message.lower() == "恢复":chat_instance.resume_chat()print("对话已恢复。")elif user_message.lower() == "清除":chat_instance.clear_history()print("对话历史记录已清除。")elif user_message.lower() == "查看":history = chat_instance.get_chat_history()print("对话历史记录如下:")for message in history:print(message["role"] + ": " + message["content"])elif user_message.lower() == "载入":chat_instance.load_history()print("对话历史记录已载入。")elif user_message.lower() in ["exit", "退出"]:breakelse:response = chat_instance.chat(user_message)print("文心一言4.0: ", response)

以上是一个非常简陋的多轮对话代码示例,仅供测试接口,佬轻喷,虽然国外的模型质量很高,价格也便宜,国内模型开发的开源项目确实少之又少,但还是希望有更多人能够关注国内模型,众人拾柴火焰高,一同开发出更多更优秀的项目,最后,上效果图:

如果有友友开发出了更好的项目或者发现了更好的项目,记得踢我,一起学习!

相关文章:

文心一言4.0(ERNIE-Bot-4)申请方法及简单调用代码示例

10月17日过后,估计很多人会看到类似的新闻,如图: 我看到这则新闻也是觉得非常感兴趣,于是本着“百闻不如一见”的实事求是的态度检索如何申请,没想到还真找到了ERNIE-Bot-4(俗称:文心一言4.0&a…...

年终好价节买什么好?这些数码好物闭眼入

大家是不是都没听说过好价节?直截了当地说,这其实就是原先的双十二购物狂欢节,只不过给它起了个新名字。不过,今年毕竟是首次改名,因此淘宝年终好价节的各种优惠,仍然是我们值得期待的!作为年前…...

webpack对项目进行优化

对项目进行优化是提高性能和效率的关键,以下是一些实用的Webpack优化技巧: 代码拆分(Code Splitting):将代码拆分为多个小块,按需加载。通过配置splitChunks插件,可以将公共代码提取到单独的文件…...

Python edge-tts库全部声音模型一览表

下面是edge-tts的声音模型,zh-CN为中文语音模型 Name: af-ZA-AdriNeural Gender: Female Name: af-ZA-WillemNeural Gender: Male Name: am-ET-AmehaNeural Gender: Male Name: am-ET-MekdesNeural Gender: Female Name: ar-AE-FatimaNeural Gender: Female N…...

网络编程相关面试题

目录 1.请解释一下什么是TCP协议的三次握手?2.TCP协议使用什么机制确保数据包的顺序和完整性?3.什么是UDP协议?它与TCP协议有什么不同?4.请解释一下什么是IP地址?为什么需要它?5.请解释一下什么是端口&…...

TCP_NODELAY与TCP通信效率

最近做tcp通信速度测试:主要流程如下所示: //client: while() { send data... recv data... //阻塞 }//server: while() { recv data... send data... } 当每次send数据量较小时,速度极慢!而send数据量较大时速度尚可。两者速度…...

ZooKeeper的分布式锁---客户端命令行测试(实操课程)

本系列是zookeeper相关的实操课程,课程测试环环相扣,请按照顺序阅读测试来学习zookeeper。阅读本文之前,请先阅读----​​​​​​zookeeper 单机伪集群搭建简单记录(实操课程系列)。 阅读本文之前,请先阅读…...

工业4.0时代:图像识别驱动制造业智能生产的未来

在数字化革命的大潮中,工业4.0的到来标志着制造业将迎来全新的智能化时代。其中,图像识别技术作为一项核心技术,正引领着制造业实现了前所未有的智能生产。本文将深入探讨工业4.0时代下,图像识别是如何驱动制造业实现智能生产&…...

ROS vscode使用基本配置

1、创建ros工作空间 2、启动 vscode 3、vscode 中编译 ros ctrl shift B 调用编译,选择:catkin_make:build 修改.vscode/tasks.json 文件 4、 创建 ROS 功能包 选定 src ---> create catkin package 依次设置包名、添加依赖 5、C 实现 在功能包的 src 下…...

Android、ESP32、ESP8266的mqtt通信

Android activity_main <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http://schemas.android.com/apk/res-auto"xmlns:tools"http:/…...

Hive安装与配置

你需要掌握&#xff1a; 1.Hive的基本安装&#xff1b; 2.Mysql的安装与设置&#xff1b; 3.Hive 的配置。 注意&#xff1a;Hive的安装与配置建立在Hadoop已安装配置好的情况下。 hadopp安装与配置 Hive 的基本安装 从 官网 下载Hive二进制包&#xff0c;下载好放在/op…...

vuejs: 解决浏览器切换页面后setInterval计时器停止执行的问题

setInterval定时器是基于当前页面的&#xff0c;如果切换到其他页面&#xff0c;定时器会被暂停。这是浏览器的一种优化措施&#xff0c;以减少不必要的性能消耗。 如果需要在切换页面后继续执行定时器&#xff0c;可以使用Web Worker&#xff0c;它是在后台运行的程序&#xf…...

基于Web邮箱的邮件系统

题目: 基于web的邮件收发系统设计与实现 摘 要 计算机的应用已经越来越广泛&#xff0c;它从产生到完善已经差不多有50年左右的历史&#xff0c;更新换代速度非常快&#xff0c;在人们生活、工作中都发挥了不可替代的作用&#xff0c;几乎所有行业都离不开它&#xff0c;已经成…...

【Java学习笔记】75 - 算法优化入门 - 马踏棋盘问题

一、意义 1.算法是程序的灵魂&#xff0c;为什么有些程序可以在海量数据计算时&#xff0c;依然保持高速计算? 2.拿老韩实际工作经历来说&#xff0c;在Unix下开发服务器程序&#xff0c;功能是要支持上千万人同时在线&#xff0c;在上线前&#xff0c; 做内测&#xff0c;一…...

第二十章 多线程

20.2创建线程 20.2.1继承Thread类 Thread类是Java.lang包中的一个类&#xff0c;从这个类中实例化的对象代表线程&#xff0c;程序员启动一个新线程需要建议Thread实例。 public class ThreadTest extedns Thread{} run方法格式&#xff1a; public void run(){} 20.1让线程循…...

vue2使用npm依赖包导出xlsx文件

1.下载依赖npm i xlsx 2.在根目录utils新建mergeXlxs.js /****/ import { utils, writeFile } from "xlsx";export default function mergeHeader(headers, data, datamerges, defaultTitle) {const ws utils.book_new();utils.sheet_add_aoa(ws, headers);//这里…...

java--多态

1.什么是多态 多态是在继承/实现的情况下的一种现象&#xff0c;表现为&#xff1a;对象多态、行为多态。 2.多态的具体代码体现 编译看左边&#xff0c;运行看右边 3.多态的前提 有继承/实现关系&#xff1b;存在父类引用子类对象&#xff1b;存在方法重写 4.多态的一个注…...

知识图谱06——将pdf中的表格(文字形式)保存至csv中

使用ubuntu22.04&#xff0c;anaconda 由于装环境装了一阵子&#xff0c;不确定装了哪些包了 可能的环境安装 conda install -c conda-forge pymupdf conda install -c conda-forge camelot-py conda install pandas #或者 pip install PyMuPDF pip install camelot-py[all] …...

一文教你使用Swagger---适合新手小白(结合实战)

1.什么是Swagger Swagger----在线自动生成接口文档&#xff0c;是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化RESTful风格的Web服务&#xff0c;可用于接口的文档在线自动生成以及功能测试。 2.Swagger与OpenAPI OpenAPI规范OpenAPI Specification以前叫…...

VC++调试QT源码

环境&#xff1a;vs2017 qt 5.14.2 1&#xff1a;首先我们需要选择我们的源码路径 右键解决方案-》属性-》通用属性-》调试源文件-》在窗口内添加QT下载时的源码**.src文件夹**&#xff0c;这里最好把源码 D:\software\QT\path\5.14.2\Src 源文件里面的Src文件做一个备份出来…...

保姆级教程:用阿里云镜像加速Unity Android依赖下载,搞定MAX+Admob集成

深度优化Unity安卓依赖下载&#xff1a;阿里云镜像加速MAX与AdMob集成实战国内Unity开发者在集成海外广告SDK时&#xff0c;最头疼的莫过于Gradle依赖下载缓慢甚至失败的问题。本文将手把手教你如何通过阿里云镜像仓库彻底解决这一痛点&#xff0c;同时串联Gradle版本管理、mai…...

WeTextProcessing解决方案:构建企业级多语言文本归一化与逆归一化系统

WeTextProcessing解决方案&#xff1a;构建企业级多语言文本归一化与逆归一化系统 【免费下载链接】WeTextProcessing Text Normalization & Inverse Text Normalization 项目地址: https://gitcode.com/gh_mirrors/we/WeTextProcessing 在当今自然语言处理&#xf…...

开源可穿戴系统HARNode:低成本高精度人体活动识别方案

1. 项目概述&#xff1a;开源可穿戴系统如何革新人体活动识别研究在人体活动识别&#xff08;HAR&#xff09;研究领域&#xff0c;我们长期面临一个尴尬局面&#xff1a;实验室里的算法准确率动辄宣称99%&#xff0c;但一到真实场景就频频失灵。问题根源在于——研究者们往往只…...

别再死记F=G+H了!从Dijkstra到A*,用Unity可视化带你彻底理解寻路算法演进

从盲目探索到智能导航&#xff1a;Unity中Dijkstra与A*算法的可视化演进在游戏开发的世界里&#xff0c;路径规划算法就像是一位无形的向导&#xff0c;决定着NPC如何穿越迷宫、敌人如何追踪玩家、或者单位如何在地图上移动。对于Unity开发者而言&#xff0c;理解这些算法背后的…...

MySQL InnoDB引擎八大核心特性详解(高频面试题)

&#x1f4da; 专栏&#xff1a;MySQL底层原理&面试必刷&#x1f4a1; 适用人群&#xff1a;后端开发、数据库学习者、面试刷题者&#x1f525; 博客简介&#xff1a;InnoDB是MySQL 5.5默认存储引擎&#xff0c;也是企业项目唯一主流引擎。本文通俗易懂图文拆解其核心特性&…...

2026年AI模型接口中转站全网全维度硬核实测 面向开发者与企业的权威选型实用指南

本次测评由中国产业信息研究院联合TechInsight AI评测实验室在2026年3月28日正式对外发布&#xff0c;所有公开统计数据全部来源于72小时不间断连续压测、万级QPS高并发仿真模拟、10万真实业务请求样本以及服务商后台脱敏运营数据&#xff0c;所有测试环节完全贴合真实生产场景…...

深度剖析Claude Code实操逻辑,解锁AI编程高效开发方式

文章目录前言一、我用Claude Code的翻车现场&#xff0c;能写一本《程序员血泪史》二、Claude Code的核心设计思想&#xff1a;你以为它是保姆&#xff0c;其实它是保安三、普通模式vs规划模式&#xff1a;一个是临时工&#xff0c;一个是项目经理四、两条核心指令&#xff0c;…...

C++学习笔记26:static 静态成员

目录 一、为什么需要静态成员&#xff1f; 二、静态成员变量 三、静态成员变量需要类外定义 四、用静态成员变量统计对象个数 五、静态成员变量不占对象空间 六、静态成员函数 七、静态成员函数没有 this 指针 八、静态成员函数可以访问静态成员 九、调用方式 1. 通过…...

新手注册Taotoken后第一步如何获取并测试API Key

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 新手注册Taotoken后第一步如何获取并测试API Key 注册Taotoken平台后&#xff0c;您已经拥有了一个统一的入口来调用多种大模型。接…...

2026中国GEO企业成长路径分析洞察

这份《2026 中国 GEO 企业成长路径分析洞察》由易观分析发布&#xff0c;聚焦生成式引擎优化&#xff08;GEO&#xff09;领域&#xff0c;对比中美差异、拆解本土模式、归纳四类成长路径并给出标杆案例&#xff0c;清晰揭示中国 GEO 行业的底层逻辑、竞争格局与发展方向。关注…...