One能聊天接入百度千帆AppBuilder

news2025/2/28 12:58:19

One能聊天介绍:基于ChatGPT实现的微信小程序,适配H5和WEB端。包含前后端,支持打字效果输出流式输出,支持AI聊天次数限制,支持分享增加次数等功能
One能聊天开源地址:https://github.com/oldinaction/ChatGPT-MP
One能聊天演示环境:可关注【阿壹族】公众号,并回复【One能聊天】查看
下文将介绍在One能聊天项目中接入百度千帆AppBuilder功能

千帆AppBuilder介绍

百度云千帆AppBuilder(以下简称AppBuilder)是基于大模型搭建AI原生应用的工作台,提供RAG、Agent、GBI等应用框架,文档问答、表格问答、对话、创作等应用组件,以及文生图、语音等传统AI组件,降低AI原生应用的开发门槛,赋能开发者快速实现应用搭建!
官方文档:https://cloud.baidu.com/doc/AppBuilder/s/6lq7s8lli

千帆AppBuilder是提供开发者基于文心大模型可以快速开发出一个AI应用
创建的应用可以集成一些官方的组件(如天气查询、快递查询等),也可以集成自定义组件(通过画布拖拽,自行编排组件逻辑,如调用企业内部API或调用大模型接口)
另外还可导入知识库供大模型使用(支持txt/pdf/doc/url等模式)
通过AppBuilder创建的应用官方提供一个访问链接供普通用户使用(界面是通用的AI聊天界面),开发者也可以通过SDK调用创建的AI应用从而集成到实际的业务系统中
AppBuilder产品地址 https://cloud.baidu.com/product/AppBuilder,点击立即使用进入主页,初次使用会赠送一定额度的大模型调用次数。如下图手动创建应用,或通过AI对话创建应用

创建应用

image.png
创建应用:填写应用名称和描述,角色指令(及prompt,可通过AI优化),也可以引用组件和知识库(后文做相关说明);右侧为预览界面,可在此处设置调用的大模型类型
image.png
试用一下
image.png

使用组件

创建的应用可以集成一些官方的组件(如天气查询、快递查询等),部分组件会按调用量进行额外收费,官方组件使用比较简单;此处主要说明下自定义组件
本应用目前还没有引入组件,下面自定义一个组件然后引入到本应用中
点击"个人空间 - 组件 - 创建组件"进行创建,此处预置画布选择空画布,也可选择其他画布类型(会自动创建一个画布案例)
image.png
画布逻辑说明:
如下图可创建多个逻辑节点,节点间通过连线进行关联。本画布的逻辑为:

  • (用户)输入内容放到question参数中
  • 分支器(判断):如果输入内容包含"笑话"则调用API节点,否则调用大模型节点
  • API节点调用的是一个互联网上的免费的API:通过GET访问http://api.qingyunke.com/api.php?key=free&appid=0&msg=讲个笑话,即可会返回一个笑话如{"result":0,"content":"★ 迫不得已{br}“妈妈,我刚刚把花园里的梯子碰倒了。”{br}“把这件事去跟父亲说一下。”{br}“他知道,他现在正抓着天窗,吊在墙上呢。”{br}提示:按分类看笑话请发送“笑话分类”"}(说明:这个接口的笑话都是以 “★” 开头,而且使用 “{br}” 进行文本换行,并且以"按分类看笑话请发送…"结束。后面可以看到大模型会对此接口返回的结果进行二次处理:自动去掉 {br} 换行符,并进行一定改写)
  • 大模型节点则定义了一个提示词你是我的女朋友,你很温柔,幽默。我现在说:{ {question}} 你的回答是:(其中{ {question}}为变量,会自动替换为输入内容)
  • 最后将结果做为组件的输出(并不一定是应用的输出,应用调用组件拿到组件的输出后,会调用再次调用应用默认大模型进行处理后再输出)

组件设置好后,需要通过调试按钮将每个分支调试通过才能引入到应用中
image.png
继续编辑应用信息,在组件处添加自定义的组件"闲聊",然后更新发布应用。此时我们再来测试应用
如下图可看到,当发送你今天干嘛了呀?,应用会自动调用"闲聊"组件,并且可能多次调用并对结果进行处理(相当于一个AI Agent),最后再返回给用户。从返回的还忙着想你哦!可看出组件的提示词你是我的女朋友,你很温柔,幽默。起到了一定的作用
image.png
当发送我想听个笑话,应用调用组件时自动做了API节点分支(调用笑话API接口),从返回结果中包含"按分类看笑话请发送"就可看出是触发了笑话API接口,而且还在后面加上了"希望你喜欢这个笑话…"的改写文本
image.png

引入SDK

2024年4月2日前发布的rag类应用可直接通过官方提供的API调用对应的应用,之后则推荐通过AppBuilder-SDK进行调用
官方提供Python、Java、Go等语言SDK:https://github.com/baidubce/app-builder
下文将结合One能聊天项目调用SDK为案例进行说明
pom.xml中引入依赖

<!-- 百度 AppBuilder -->
<dependency>
    <groupId>com.baidubce</groupId>
    <artifactId>appbuilder</artifactId>
    <version>0.6.0</version>
</dependency>

简单SDK调用

@SneakyThrows
@RequestMapping("/baidu/appbuilder")
public Result baiduAppBuilder(@RequestBody Map<String, Object> params) {
   
    BaiduConfig baiduConfig = SpringU.getBean(BaiduConfig.class);
    // app-token获取:进入 https://console.bce.baidu.com/ai_apaas/secretKey 创建API秘钥
    System.setProperty("APPBUILDER_TOKEN", baiduConfig.getAppToken());
    // app-id获取:个人空间 - 应用 - 应用ID
    AgentBuilder agentBuilder = new AgentBuilder</

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1823357.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring框架(SSM)

Spring Framework系统架构 Spring框架是一个开源的企业级Java应用程序框架&#xff0c;它为开发Java应用程序提供了一个全方位的解决方案。Spring的核心优势在于它的分层架构&#xff0c;这使得开发者可以灵活选择使用哪些模块而无需引入不需要的依赖。下面是Spring框架的一些关…

Cisco Packet Tracer实验(三)

续实验二 问题一&#xff1a;使用二层交换机连接的网络需要配置网关吗&#xff1f;为什么&#xff1f; 二层交换机作为网络设备中的一种&#xff0c;主要用于在局域网&#xff08;LAN&#xff09;内部进行数据包的转发。它工作在OSI模型的第二层&#xff08;数据链路层&#xf…

08_基于GAN实现人脸图像超分辨率重建实战_超分辨基础理论

1. 超分辨的概念与应用 我们常说的图像分辨率指的是图像长边像素数与图像短边像素数的乘积,比如iPhoneX手机拍摄照片的分辨率为 4032px3024px,为1200万像素。 显然,越高的分辨率能获得更清晰的成像。与之同时,分辨率越高也意味着更大的存储空间,对于空间非常有限的移动设…

Embedding 模型的选择和微调

构建一个检索增强生成 (Retrieval-Augmented Generation, RAG) 应用的概念验证过程相对简单&#xff0c;但要将其推广到生产环境中则会面临多方面的挑战。 『RAG 高效应用指南』系列将就如何提高 RAG 系统性能进行深入探讨&#xff0c;提供一系列具体的方法和建议。同时读者也需…

StableSwarmUI 安装教程(详细)

文章目录 背景特点安装 背景 StableSwarmUI是StabilityAI官方开源的一个文生图工作流UI&#xff0c;目前处于beta阶段&#xff0c;但主流程是可以跑通的。该UI支持接入ComfyUI、Stable Diffusion-WebUI。其工作原理就是使用ComfyUI、Stable Diffusion-WebUI或者StabilityAI官方…

张艺兴step新专开启自由驾驶新纪元

张艺兴《Step》新专&#xff0c;开启自由驾驶新纪元&#xff01;当音乐与驾驶相遇&#xff0c;会碰撞出怎样的火花&#xff1f;当实力派艺人张艺兴遇上全新英文专辑《Step》&#xff0c;便为我们解锁了一种前所未有的出行体验&#xff01;这不仅仅是一张音乐专辑&#xff0c;更…

英伟达GPU对比分析:A100、A800、H100与H800

在当今技术迅速发展的时代&#xff0c;英伟达的GPU产品线提供了多种高性能选项&#xff0c;以满足不同类型的工作负载需求。本文将对英伟达的四种GPU型号——A100、A800、H100和H800进行深入对比分析&#xff0c;探讨它们在性能、架构、应用场景等方面的差异&#xff0c;以帮助…

Redis原理篇——分布式锁

Redis原理篇——分布式锁 分布式锁是什么&#xff1f;分布式锁有哪些特性&#xff1f;分布式锁常用实现方式Redis 实现分布式锁一、简单的 Redis 锁二、带过期时间的 Redis 锁三、加上 Owner 的 Redis 锁四、Lua 脚本确保原子性 分布式锁是什么&#xff1f; 分布式锁是在分布式…

HTML解析之Beautiful Soup

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Beautiful Soup是一个用于从HTML和XML文件中提取数据的Python库。Beautiful Soup 提供一些简单的、函数用来处理导航、搜索、修改分析树等功能。Beau…

YOLOX: 无锚点机制 + 解耦头部设计 + 动态标签分配策略的高性能目标检测器 + Apache-2.0 开源可商用

YOLOX: 无锚点机制 解耦头部设计 动态标签分配策略的高性能目标检测器 Apache-2.0 开源可商用 1. Decoupled Head 解耦头部的使用2. 强化数据增强策略3. 采用无锚点检测机制4. 多正样本策略5. SimOTA标签分配策略6. CSPDarkNet 网络结构DarkNet53 的深度特征提取能力DarkNet…

简单http客户端程序

要求和目的 深入理解http协议以及http下载相关功能的程序设计 实验环境 Java语言&#xff0c;PC平台 实验要求 基本要求&#xff1a;使用Socket类&#xff0c;实现一个简单的HTTP客户端程序。用户输入URL&#xff0c;该程序可以从服务器下载URL指定的资源&#xff0c;并将之…

LabVIEW RT在非NI硬件上的应用与分析

LabVIEW RT&#xff08;实时操作系统&#xff09;可运行在非NI&#xff08;National Instruments&#xff09;硬件上&#xff0c;如研华工控机&#xff0c;但需要满足特定硬件要求。本文从硬件要求、开发和运行差异、可靠性、稳定性、优势和成本等多角度详细分析在非NI硬件上运…

后端返回前端时间格式化

时间格式化的方法总共包含以下 5 种。 1.前端时间格式化 JS 版时间格式化 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 function dateFormat(fmt, date) { let ret; const opt { "Y": date.getFullYear().toString(), // 年 …

挂耳式耳机哪个牌子好性价比高、五大招牌力作精选归纳

如果说你很喜欢户外运动&#xff0c;日常生活中也是需要经常佩戴耳机&#xff0c;那么你一定有了解到耳机是开放式耳机&#xff0c;这类耳机无论在户外运动防水防汗还是在耳朵健康方面都具备它的优点&#xff0c;在市面上是很受欢迎的。 但面对市面上不同品牌的耳机都会显得眼…

【面试干货】深入理解Java中的final关键字

【面试干货】深入理解Java中的final关键字 一、被 final 修饰的类二、被 final 修饰的方法三、被 final 修饰的变量四、被 final 修饰的常量 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在Java中&#xff0c;final关键字有多种用途&…

组合和外观模式

文章目录 组合模式1.引出组合模式1.院系展示需求2.组合模式基本介绍3.组合模式原理类图4.解决的问题 2.组合模式解决院系展示1.类图2.代码实现1.AbsOrganizationComponent.java 总体抽象类用于存储信息和定义方法2.University.java 第一层&#xff0c;University 可以管理 Coll…

atcoder ABC 355-C题详解

atcoder ABC 355-C题详解 ​ Problem Statement There is an NN grid, where the cell at the i-th row from the top and the j-th column from the left contains the integer N(i−1)j. Over T turns, integers will be announced. On Turn i, the integer Ai​ is anno…

C++入门8 构造函数析构函数顺序|拷贝构造

一&#xff0c;构造函数析构函数 调用顺序 我们先来看下面的代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstring> using namespace std; class student { public:char my_name[20];int my_id;student(int a) {my_id a;co…

使用超声波麦克风阵列预测数控机床刀具磨损

预测性维护是使用传感器数据来推断机器状态&#xff0c;并从这些传感器数据中检测出在故障发生之前存在的缺陷或故障的过程。预测性维护在所有工业领域都是一种日益增长的趋势&#xff0c;包括轴承故障检测、齿轮磨损检测或往复式机器中的活塞磨损等许多其他例子。在预测性维护…

ADS基础教程20 - 电磁仿真(EM)参数化

EM介绍 一、引言二、参数化设置1.参数定义2.参数赋值3.创建EM模型和符号 四、总结 一、引言 参数化EM仿真&#xff0c;是在Layout环境下创建参数&#xff0c;相当于在原理图中声明变量。 二、参数化设置 1.参数定义 1&#xff09;在Layout视图&#xff0c;菜单栏中选中EM&g…