网站 建设 网站设计公司网站一键生成手机网站

diannao/2026/1/20 12:20:13/文章来源:
网站 建设 网站设计公司,网站一键生成手机网站,wordpress从入门到精通,网站 固定ip最新越发觉得AI的发展#xff0c;对未来是一场革命#xff0c;LangChain已经在工程设计上有了最佳实践#xff0c;类似于AI时代的编程模型或编程框架#xff0c;有点Spring框架的意思。之前在LangChain上也有些最佳实践#xff0c;所以在这里分享记录下。 LangChain解决什… 最新越发觉得AI的发展对未来是一场革命LangChain已经在工程设计上有了最佳实践类似于AI时代的编程模型或编程框架有点Spring框架的意思。之前在LangChain上也有些最佳实践所以在这里分享记录下。 LangChain解决什么问题 LangChain是基于LLM之上的在应用层和底层LLM之前的一个很好的编程框架如果把LLM比喻为各种类型的数据库、中间件等这些基础设施应用层是各种业务逻辑的组合之外那么LangChain就负责桥接与业务层和底层LLM模型让开发者可以快速地实现对接各种底层模型和快速实现业务逻辑的软件开发框架。 那么LangChain是如何做到的呢试想一下现在底层有一个大模型的推理能力除了在对话框手动输入跟他聊天之外。如何用计算机方式跟它互动呢如果把一次LLM调用当作一个原子能力如何编排这些原子能力来解决一些业务需求呢Langchain就是来解决这个事情的。 LangChain的几个核心概念 ▐  Model I/O 这里重点把背后的LLM模型做了一层封装开发者可以通过更改配置的方式快速切换底层LLM模型比如chatgptchatGLM、通义千问等模型。 同时还有些高阶功能比如提供了缓存等功能这样对于语义上类似的query如果缓存有那么langchain可以快速返回结果而不需要调用大模型。 ▐  Retriver 检索是为了解决大模型打通用户的本身数据做一些面向业务属性的东西。这里的检索并非传统的关系型数据库更多的是与大模型的本身逻辑相似的比如向量数据库。 一个经典的结合LLM和外部用户的文档进行智能答疑的场景 文档-分词-embedding-向量数据库 query-向量数据库查询-TOP N-上下文 用户提问 prompt - LLM - 返回结果 一个经典的图如下 关键技术文档如何拆分、embedding过程、 TOPN 向量距离的选择 embedding技术选型 embedding是将现实中的物体通过向量化的方法转化为高维向量可被机器学习模型所识别。他是一种映射同时也保证了能清晰地表达现实物体的特征。基于此可以进行一些归类分析、回归分析等。 现在市面上常见的embedding方法有通义千问的embedding等方法。 向量数据库 向量数据库底层存储的是一堆向量它提供了根据向量相似度进行查询的能力一般情况下向量相似度代表了现实世界中物体的相似度。比如”我的名字是小明“ 和“我叫小明”这两句话所代表的含义几乎是相同的那么在embedding之后基于向量数据库进行查询的时候它们俩的相似度就会很近。 ▐  Chain 各种类型的chainchain代表了各种业务类型的组合类似于工作流的编排。 ▐  Memory LLM本身提供了记忆的能力同时提供了接口开发者可以将历史的对话记录传入给LLM。LangChain需要使用外部存储保存这些历史的会话和记忆。可以使用数据库、缓存等进行保存。 ▐  Agent 重点是代理工具 代理工具可以让应用程序基于大模型的推理能力然后进行代理工具或代理服务的调用。因为LLM是没有“联网”的能力的如果想解决特定的应用场景代理工具是个完美的选择。 代理工具通常包含三个方面用户输入、prompt编排LLM思考与路由代理的过程、背后的代理服务。其中难点可能就在于prompt设计了。通常的“套路”是这样的 ReAct 模型 输入用户的问题 思考过程如果是情况1这个是需要LLM进行意图识别进行思考的那么推理和提取出一些关键参数调用agent1如果是情况2那么推理和提取出一些关键参数调用agent2 Act调用agent1对应一个JSON格式化的输入调用function1返回结果。 观察观察调用后的结果再结合推理的能力再进行循环思考。 LangChain的在实际场景中的实践 集团内部开发了一个JAVA版本的LangChain框架以下实践基于此框架与开源大模型chatGLM-6B进行。 ▐  淘宝开放平台智能问答 淘宝开放平台对内托管了上万个API每天在内部群里都会有开发者咨询API发布问题之前我们是通过NLP来实现智能问答的现将它升级为基于大模型的智能问答以下是具体的技术实现过程。 知识库Embedding过程 由于之前已经沉淀好了很多知识库都是Question-Answer的这种形式这里我们对Question也就是问题进行Embedding此处采用通义千问提供的Embedding方法。 知识库embedding TongYiEmbeddings embeddings new TongYiEmbeddings(); embeddings.setServerAccessId(ALINLP_EMBEDDINGS_ACCESSID); embeddings.setServerUrl(ALINLP_EMBEDDINGS_SERVER_URL); embeddings.setServerUuid(ALINLP_EMBEDDINGS_UUID); Document document new Document(); document.setPageContent(rawText); ListDocument documents embeddings.embedDocument(Arrays.asList(document)); Document vecDocument documents.get(0); // 向量化知识 String embeddingString JSON.toJSONString(vecDocument.getEmbedding()).replaceAll(\\[, {) .replaceAll(\\], });return embeddingString; 向量数据库存储和查询 此处采用hologres向量数据库图中红框表示知识库问题与回答在数据库中具体的向量化存储数据。 向量距离数据库查询 select origin_content as originContent,origin_title as originTitle,pm_approx_squared_euclidean_distance(embedding_title, #{embeddingTitle}) as distance from vs_knowledge order by distance asc limit #{limit} 大模型问答链路 问答chain的基本实现 //1. 初始化ChatGLM的参数 ChatGLMV2Internal chatGLMV2Internal new ChatGLMV2Internal(); chatGLMV2Internal.setTemperature(0.01d); chatGLMV2Internal.setMaxLength(2048);//2. 提示词编写 PromptTemplate prompt new PromptTemplate(); String template 已知信息\n {context} \n \n 根据上述已知信息简洁和专业的来回答用户的问题。如果无法从中得到答案请说 “根据已知信息无法回答该问题” 或 “没有提供足够的相关信息”不允许在答案中添加编造成分答案请使用中文。问题是{question}; prompt.setTemplate(template);//3. 向量数据库检索配置比如最大向量距离 RetrievalQA qa new RetrievalQA(); qa.setRecommend(5); qa.setMaxDistanceValue(10000.0d); qa.setLlm(chatGLMV2Internal); qa.setPrompt(prompt); qa.setRetriever(holoRetriver.asRetriever()); qa.init();//4. LLM大模型问答 MapString, Object inputs new HashMap(); inputs.put(question, question); inputs.put(input, question); MapString, Object outputs qa.run(inputs);llmKonwledgeDO.setContent(String.valueOf(outputs.get(text))); // 补充 doclist return llmKonwledgeDO; ▐  AI Agent实践 以下实现了一个网关API调用日志解析的agent。 Agent工具注册 this.setName(ApiLogTool); this.setDescription(这是一个调用日志查询接口如果[{question}]中包含requestId关键字,你可以请求这个工具与日志系统进行交互调用这个工具。\n 请先提取出requestId的值将它赋值为value。调用参数[{\requestId\: \value\, \type\: \String\, \description\: \调用请求id\}]。); 工具解析 MapString,Object parse (MapString,Object)JSON.parse(toolInput); if(parse.get(requestId)null){return new ToolExecuteResult(); } String requestId parse.get(requestId).toString(); ApiLogSearchQuery apiLogSearchQuery new ApiLogSearchQuery(); //日志查询解析处理 思考决策逻辑 public static final String FORMAT_INSTRUCTIONS_CH 用户提出了一个问题: {question} \n 你可以选择使用下面这些工具\n {tool_list_description} \n 同时你的思考过程如下 Thought: 每一次你需要首先思考你应该做什么\n Action: 你需要决定是否使用工具应该是[{tool_names}] 中的一个Action格式为JSON。如果匹配不到工具就不要思考了直接返回结果请不要把思考过程返回给用户。\n Input: 如果匹配到工具使用的工具的输入参数赋值给params\n Observation: 如果匹配到工具工具的输出结果 格式为[]。\n Answer: 每一步回答问题的答案格式为JSON。你可以多次使用Thought/Action/Input/Observation/Answer来一步一步的思考如何回答问题。\n; 个人小思考 未来微服务HSF这种形式会向上往 agent工厂或者agent服务框架这种形式演进因为这个框架搭好了后后面各个业务方快速集成到agent服务上可被上层AI应用层调用如果多个agent联动了才是真正的智能如何定义agent Agent体系架构可以分为慎思型、反应型和混合型。 慎思型构建负责规划和推理行为反应型构建处理需要快速响应的重要事件。 信念-期望-意图Belief-Desire-ltension BDI) 体系架构是混合型体系架构的一个重要类型。Agent的表示形式Agent的行为可以被描述成好像拥有信念、期望和意图等思维状态。信念表示Agent拥有的知识期望描述Agent追求的目标意图说明Agent选择计划以实现哪些目标。 openai提供的agent概念 团队介绍 我们是淘天集团商家与开放平台团队目前主要围绕商家的日常经营场景为中小商家提供高效易用的电商工具。 ¤ 拓展阅读 ¤ 3DXR技术 | 终端技术 | 音视频技术 服务端技术 | 技术质量 | 数据算法

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

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

相关文章

优秀设计作品的网站抖音推广费用标准

如何把握带教中的“度”,才能在把事情做好的基础上,又能使员工获得成长呢? 需要做到 合理授权 & 适当辅导 如何做到? 通过使用 意愿-技能矩阵(Will-Skill Matrix) 辨别不同带教方法的适用情形,"盘"…

石家庄网站设计公司手机app制作下载

嗨嗨嗨!兄弟姐妹大家好哇!今天我们来学习ajax的get和post请求 一、了解ajax Ajax(Asynchronous JavaScript and XML)是一种在 Web 开发中用于创建交互式网页应用程序的技术。通过 Ajax,网页可以在不重新加载整个页面…

花木网站源码开封网站建设培训学校

从今天开始记录一下平常开发工作中的报错记录,后续有错误动态补充! 报错信息:【MSB8041】此项目需要 MFC 库。从 Visual Studio 安装程序(单个组件选项卡)为正在使用的任何工具集和体系结构安装它们。 解决: 背景:换…

东方网络律师团队广州seo优化公司排名

这段Lua脚本定义了一个名为 ai_autofight_find_way 的类,继承自 ai_base 类。 lua 游戏架构 之 游戏 AI (一)ai_base-CSDN博客文章浏览阅读238次。定义了一套接口和属性,可以基于这个基础类派生出具有特定行为的AI组件。例如&…

asp个人网站论文策划公司收费

前言: Hello大家好,我是Dream。 今天来学习一下机器学习实战中的案例:创建客户细分,在此过程中也会补充很多重要的知识点,欢迎大家一起前来探讨学习~ 一、导入数据 在此项目中,我们使用 UCI 机器学习代码库…

宠物网站设计首页模板郑州建站多少钱

项目启动端口被占用 Identify and stop the process that’s listening on port XXXX or configure this application to listen on another port. 1、查询占用端口的pid netstat -aon|findstr "端口号"2、终止进程 taskkill /pid 进程号 /f3、重启项目

义乌外发联合加工网汕头最好的seo外包

大家好,如果您正在准备编程工作面试或正在寻找新工作,那么您知道这不是一个容易的过程。 在您职业的任何阶段,您都必须幸运地接到电话并进行第一轮面试,但是在初学者方面,当您寻找第一份工作时就更加困难。 这就是为什…

网站优化文档智慧校园学生管理系统

最近没事想做个消消乐,然后听说 iVX 免费了,所以又跑去看看 iVX 了,就用一个无代码来看看消消乐怎么玩吧。 首先咱们打开 iVX 的在线编辑器:https://editor.ivx.cn/ 随后咱们不需要游戏类型也可以制作一个消消乐游戏&#xff1a…

我的企业网站怎么seo重庆官方推广网站

原文:版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/qq_38003892/article/details/844951721 核心思想通过最小化方差,使得拟…

wordpress 文章回收站设计网页用什么语言

1.项目结构 djangoProject02 ├── manage.py 【项目的管理,启动项目、创建app、数据管理】【不要动】【常常用】 └── jangoProject02 ├── __init__.py ├── settings.py 【项目配置】 【常常修改】 ├── urls.py …

用php做网站后台上海外包公司排行

要使用Python进行网页爬取,您可以使用Python中的一些库和工具来实现。 常用的Python库和工具包括: Requests:用于发送HTTP请求和获取网页内容。Beautiful Soup:用于解析HTML和XML文档,并从中提取数据。Scrapy&#x…

安徽建设厅网站怎么打不开河北省住房和城乡建设厅官方网站

在当今竞争激烈的商业世界中,提高效率、减少浪费是每个组织都追求的目标。为了达到这一目标,六西格玛管理方法为组织提供了一个卓越的工具。在六西格玛培训中,我们经常会听到“绿带”和“黑带”这两个术语。那么,究竟什么是绿带和…

可以做外链的网站有哪些黄岛王台有做网站的吗

App更换图标 京东淘宝的每到618或者双十一的时候,app图标都会贴合相关主题更换一下,但是那个时间段app也没有升级,所以说肯定是有一个配置能够更改app的图标。 查了一些文档,发现了如下的方法。 准备图片 准备120x120和180x18…

用jsp做网站的难点婚庆网站策划书

一、String对象 1、简单上手 2、构造方法 3、其他方法 3.1、charAt() 3.2、indexOf() 3.3、split() 3.4、substring() 3.5、substr() 4、实际操作 二、Math对象 1、简单上手 2、对象属性 3、对象方法 4、实际操作 三、Date对象 1、简单上手 2、构造方法 3、实…

网站建设的岗位要求吉利的网络营销方式

在前端开发中,CSS(层叠样式表)用于控制网页的样式和布局。了解CSS的语法格式是学习如何设计和美化网页的关键。本文将深入解释CSS的语法格式,包括选择器、属性和值等基本概念,同时提供示例代码以帮助初学者更好地理解。…

帮做动态头像的网站龙川县建设网站

上海电力学院电路计算机辅助设计1--含有受控源电路辅助分析实验三:含有受控源电路辅助分析一、实验目的1. 用回路电流法和节点电压法求解电路中的电流和电压。 2. 掌握线性电路参数的测量的方法。3. 了解四种受控源元件(电流控制的电压源、电流控制的电流源、电压控…

佛山外贸建站公司网站中文名要注册的吗

02JavaScript基础随堂笔记 01.运算符[☆] 知识点-算数运算符 作用就是进行 加, 减, 乘, 除 , 取余运算的 算数运算符的重点是通过算数运算和可以实现类型转换 加号可以实现数据类型转换: 一个数字和一个空字串相加最后的结果就是字符串减号也可以实现数据类型转换乘法符号也可…

ftp怎么设置网站首页广州有哪些做网站的公司

背景:由于项目要对接到grcp 的框架,然后需要对接老外的东西,还有签名和证书刚开始没有接触其实有点懵逼。 gRPC 是由 Google 开发的高性能、开源的远程过程调用(RPC)框架。它建立在 HTTP/2 协议之上,使用 …

网站建设方案书个人柚皮子wordpress主题

前言现在稍微有点规模的系统,很多都是采用分布式/微服务架构,将一个大系统拆分为很多个功能模块进行开发、测试、发布、管理等,如果全部流程都采用人工的形式进行的话,效率肯定是超级不高效滴。而且现在很多项目都采用极限编程的模…

怎样建官方网站北京 企业建网站

建立连接可能涉及到的问题(只需要自己改一下就行) 1、MyBatis是⼀款优秀的 持久层 框架,⽤于简化JDBC的开发 2、数据库连接配置 (1)yml配置 # 数据库连接配置 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/…