解锁黑科技!百度AppBuilder助你秒变开发者,轻松实现文心一言

ops/2024/9/23 4:22:26/

在数字化浪潮席卷全球的今天,人工智能(AI)和大模型技术正以前所未有的速度改变着我们的世界。从自然语言处理到图像识别,从智能推荐到自动化决策,大模型以其强大的数据处理能力和学习能力,正成为推动科技创新的核心动力。

然而,对于许多开发者而言,如何高效、便捷地将大模型的能力集成到自己的应用中,却是一个不小的挑战。此时,一款强大且易于使用的应用开发工具就显得尤为重要。

本篇文章就教同学们如何基于AppBuilder来将大模型接入到自己的应用中
我帮大家梳理几个主要步骤,以便大家对本文有个清晰的了解:

  1. AppBuilder 介绍
  2. AppBuilder 应用创建
  3. AppBuilder 应用定义和组件扩展
  4. AppBuilder 角色指令调试
  5. 发布应用
  6. 对接 SDK

01. AppBuilder

1.1 AppBuilder 介绍

百度千帆的AppBuilder是基于大模型搭建AI原生应用的工作台,旨在降低AI原生应用的开发门槛,赋能开发者快速实现应用搭建。它提供了RAG、Agent、GBI等应用框架,以及文档问答、表格问答、对话、创作等应用组件,还有文生图、语音等传统AI组件。

AppBuilder面向不同开发能力的用户和开发场景,提供了低代码态和代码态两种产品形态,以满足不同开发者的需求。通过AppBuilder,开发者可以基于自然语言打造专属智能人设对话应用,实现高效搭建AI应用的目标。此外,AppBuilder还提供了全面的开发套件和应用组件,如SDK、开发环境、调试工具、应用示例代码等,帮助开发者聚焦在自身业务,快速搭建AI原生应用。

1.2 AppBuilder 使用

创建账号
创建登录AppBuilder账号(使用百度账号即可登录) , 点击跳转

登录成功后我们会进入到这个页面:
在这里插入图片描述

首次登录会赠送1000千tokens
在这里插入图片描述
创建应用
点击左上方创建应用,进入如下页面:
在这里插入图片描述

定义应用
然后可以给我们的应用起一个名字和描述
这是我定义的(大家要注意角色指令这块,这其实就是prompt,来约束或者指定你的应用范围):
在这里插入图片描述

能力扩展
还可以为我们的应用添加能力扩展,比如组件、知识库
组件的话这里可以选择一些三方或者官方的组件,也可以自定义组件
在这里插入图片描述
也可以为我们的应用添加知识库,添加了知识库之后 那比如我们的问题那就会先从知识库来检索(这种场景一般是企业知识不对外公开的情况比较常用)
在这里插入图片描述
(组件和知识库这里就不演示了 大家可以按需自己配置就行)

预览与调试
接下来我们到预览窗口进行提问就ok啦
在这里插入图片描述
这里需要注意一点,因为我给应用定义了角色,他是一个健康助理,所以他回答不了其他的问题
在这里插入图片描述
发布应用
点击右上角的发布按钮
在这里插入图片描述
在这里插入图片描述
看上图我们的应用就发布成功了,可以通过二维码、分享链接、立即访问的形式来访问我们创建和定义的应用。

角色指令进阶
想必大家在互联网上应该见过好像智能体,比如将应用定义为某个明星等等
(以下prompt来自up主 同济子豪兄 我对内容进行了指令优化)
在这里插入图片描述
在这里插入图片描述

02. 应用接入

前面说了那么多,我们真正的目的是将AI应用接入到我们自己的应用中,然后通过页面等等构建我们自己的AI应用

下面就介绍一种简单的集成方式,通过java sdk的方式将appBuilder集成到springboot

上面已经介绍了如何发布应用

获取应用id和密钥(后面会用到)
点击个人空间 可以看到应用id,在密钥管理中获取密钥
在这里插入图片描述
引入AppBuilder sdk 依赖

		<dependency><groupId>com.baidubce</groupId><artifactId>appbuilder</artifactId><version>0.6.0</version></dependency>

测试类实现

	public static void main(String[] args) throws AppBuilderServerException, IOException, JSONException {//请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5System.setProperty("APPBUILDER_TOKEN", "你在秘钥管理菜单中创建的秘钥"); // 秘钥String appId = "你的appId"; // 健康助理AgentBuilder agentBuilder = new AgentBuilder(appId);String conversationId = agentBuilder.createConversation();System.out.println("conversationId: " + conversationId);//String fileId = agentBuilder.uploadLocalFile(conversationId, "FILE_PATH");AgentBuilderIterator itor = agentBuilder.run("健腹轮的好处", conversationId, new String[]{}, true);System.out.println("输出结果:");StringBuilder output = new StringBuilder();while (itor.hasNext()) {AgentBuilderResult response = itor.next();String answer = response.getAnswer();if (StringUtils.isNotEmpty(answer)) {output.append(answer);}System.out.println("获取appbuilder返回:" + answer);}}

结果输出

输出结果:
获取appbuilder返回:
获取appbuilder返回:
获取appbuilder返回:健腹
获取appbuilder返回:轮是一种非常好的锻炼工具,它可以帮助你锻炼腹部和腰部的肌肉,增强你的核心力量和稳定性。
获取appbuilder返回:以下是健腹轮的一些好处:1. **增强核心力量**:健腹轮锻炼主要集中在腹部和腰部,这些部位的肌肉对于保持身体
获取appbuilder返回:平衡和稳定非常重要。
获取appbuilder返回:通过定期使用健腹轮,你可以增强这些肌肉的力量和耐力。
获取appbuilder返回:2. **改善身体柔韧性**:健腹轮锻炼不仅限于肌肉,它还可以提高身体的柔韧性。
获取appbuilder返回:通过使用健腹轮,你可以轻松地进行各种伸展运动,从而改善身体的整体柔韧性。
获取appbuilder返回:3. **促进康复**:健腹轮对于康复也有很好的作用。
获取appbuilder返回:如果你曾经受伤或患有某些疾病,使用健腹轮可以帮助你更快地恢复健康。
获取appbuilder返回:4. **增强自信心**:通过使用健腹轮,你可以看到自己的进步和变化,这可以增强你的自信心。
获取appbuilder返回:无论是从外表还是内在,健腹轮都可以帮助你获得更好的自我形象。
获取appbuilder返回:总之,健腹轮是一种非常有益处的锻炼工具,无论你是刚开始锻炼还是已经有了一定的基础,都可以通过使用健腹轮来获得更好的锻炼
获取appbuilder返回:效果。
获取appbuilder返回:
获取appbuilder返回:
获取appbuilder返回:

今天的文章到这里就结束了,如果大家对大模型的内容感兴趣可以在下方留言,后面我会将如何在生产环境当中应用大模型并且适应不同的场景,如何处理容错以及SSE的场景下如何实现流式输出等。最后送大家一句话 白驹过隙,沧海桑田

获取2024大厂面试资料、学习工具、微服务电商项目源码,加入Java学习小组的同学可以关注下方公众号~


http://www.ppmy.cn/ops/96846.html

相关文章

webpack和vite分别是什么,优势

Webpack 和 Vite 是两种常用的前端构建工具&#xff0c;它们各自有不同的工作方式和优点&#xff0c;适用于不同的开发场景。 1. Webpack Webpack 是一个功能强大的 JavaScript 模块打包工具。它通过静态模块分析&#xff0c;将项目的所有资源&#xff08;JavaScript、CSS、图…

数据结构——关于队列

1.队列的概念及结构 队列&#xff1a;只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出的特性 入队列&#xff1a;进行插入操作的一端称为队尾 出队列&#xff1a;进行删除操作的一端称为队头 2.队列的…

Linux Bridge VLAN

一、Linux Bridge VLAN &#xff08;1&#xff09;是什么&#xff1f; Bridge 是什么 VLAN 是什么 LINUX BRIDGE VLAN又是什么&#xff1f;——> &#xff08;2&#xff09;解决什么问题&#xff1f;【应用场景】 应用背景 已一个实际问题引出 【应用场景】&#xff1a; 【…

深入理解 Go 语言原子内存操作

原子内存操作提供了实现其他同步原语所需的低级基础。一般来说,你可以用互斥体和通道替换并发算法的所有原子操作。然而,它们是有趣且有时令人困惑的结构,应该深入了解它们是如何工作的。如果你能够谨慎地使用它们,那么它们完全可以成为代码优化的好工具,而不会增加复杂性…

浅谈JVM

JVM&#xff08;Java Virtual Machine&#xff0c;Java虚拟机&#xff09; JVM是Java程序能够跨平台运行的关键所在。 JVM是一个虚拟的计算机&#xff0c;它模拟了真实计算机的各种硬件功能。其主要作用是加载.class字节码文件&#xff0c;并执行其中的指令。 以下是JVM的一…

linux Shell 脚本 输出日志文件 log /dev/null

linux Shell 脚本 输出日志文件 log shell 错误输出重定向到标准输出 https://www.jb51.net/article/264888.htm shell 错误输出重定向到标准输出 和<是文件重定向符。那么1和2是什么&#xff1f; shell中每个进程都和三个系统文件相关联 标准输入stdin 标准输出stdout 标…

python—— SOLID原则

SOLID 是面向对象设计中的五个核心原则&#xff0c;用于创建更易维护、可扩展和灵活的软件系统。它们分别是单一职责原则&#xff08;S&#xff09;、开放封闭原则&#xff08;O&#xff09;、里氏替换原则&#xff08;L&#xff09;、接口隔离原则&#xff08;I&#xff09;和…

深度学习基础—动量梯度下降法

1.算法原理 动量梯度下降法就是在梯度下降法的基础上&#xff0c;使用指数加权移动平均值&#xff0c;来平均梯度&#xff0c;这种算法比梯度下降法更快。 如上图&#xff0c;损失函数的最小值是红点&#xff0c;椭圆是损失函数的图像&#xff0c;梯度下降法就像蓝线和紫线&…