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

克服大规模语言模型限制,构建新的应用方法——LangChain

大模型

大模型的出现和落地开启了人工智能(AI)新一轮的信息技术革命,改变了人们的生 活方式、工作方式和思维方式。大模型的落地需要数据、算力和算法三大要素。经过几 年发展,大模型的数据集(包括多模态数据集)制作已经形成了规约,Meta、Google和百 度等人工智能公司都有自己的一套数据集标准制作流程。算力方面主要依托GPU、TPU 等硬件资源进行集群计算(即并行计算)。在算法方面,主要以Transformer架构为主流框 架,出现了 OpenAI 的 GPT 系列大模型、Meta 的 Llama 系列大模型以及清华大学的 ChatGLM 系列大模型。目前虽然已经有几千个甚至更多的大模型。

在这种背景下,在基础大模型基础上形成了微调和提示工程等新的技术范式。同时也出现了大模型应用落地的软件产品,如 LangChain、Ollama、Chatbox、LM Studio、 AnythingLLM、LocalAI 和 MaxKB 等,主要用于大模型微调、部署、管理和应用服务 开发。这些产品各有特色,要根据自己的业务场景、业务需求和特色选择。

LangChain 由Harrison Chase 于2022 年创建,是一个开源Python 框架,用于构建大规模语言模型驱动的应用程序。它为开发人员提供模块化、易于使用的组件,用于将语言模型与外部数据源和服务连接起来。LangChain提供了一个完整的生态系统,为开发者带来了一系列核心模块和工具。

大规模语言模型的局限性

大规模语言模型已成为强大的工具,但其功能也有局限性。了解这些限制有助于有 效地设计和部署大规模语言模型。大规模语言模型面临以下几个问题。

● 知识过时:大规模语言模型完全依赖于训练数据,而这些数据可能已经过时。 大规模语言模型缺乏获取实时信息的途径,在回答有关时事的问题时会很吃力。 例如,向大规模语言模型询问最近的一则新闻会得到一个不知情的响应。

● 有限行动:大规模语言模型无法在现实世界中执行行动。它们不能搜索网络、 访问数据库或进行计算。这就限制了它们在需要与外部数据交互的任务中的作 用。试想一下,大规模语言模型在讨论金融时——它可以解释概念,但无法检 索实时股票数据来分析当前趋势。

● 偏见与公平:大规模语言模型可能会从训练数据中继承偏见。这些偏见可能是 宗教性的、意识形态的或政治性的,从而导致歧视性的输出。精心设计和监控 对于降低这些风险至关重要。例如,微软的Tay聊天机器人在2016年推出不久 后就下线了,原因是有毒性互动导致的攻击性推文。

● 成本和速度:由于对计算的要求,训练和运行大规模语言模型的成本可能很高。 此外,文本生成速度也会因模型大小和复杂程度而异。对于生产部署而言,仔 细考虑这些因素至关重要。

● 逻辑推理和数学:虽然大规模语言模型不断取得进步,但通常难以胜任复杂推 理或数学模型的任务。它们可能无法将多个事实结合起来,或进行以前从未遇 到过的计算。例如,大规模语言模型可能知道水果和水的密度,但却无法确定 水果是否会浮起来(这是一个多步骤的推理过程)。

 如何减少大规模语言模型的局限性

大规模语言模型在推理、获取实时信息和避免偏见等方面可能存在不足。为了弥补 这些不足,可以采用循序渐进的方法,以下技术可以减少其局限性。

1. 提示工程和微调:首先要精心设计提示(问题或指示),引导大规模语言模型实现 预期结果。这有助于大规模语言模型更好地理解任务和上下文。此外,在特定数据集上 进行微调可以进一步提高特定应用的性能。

2. 自我任务提示:这种方法鼓励大规模语言模型将复杂的问题分解成更小、更容 易处理的步骤。通过向自己提出明确的问题,大规模语言模型可以找出相关信息,更有 条理地解决问题。

3. 连接外部数据:大规模语言模型缺乏实时知识,可以将其与数据库或Web 搜索 API 等外部数据源集成。这样,大规模语言模型就能获取当前信息,提高响应的准确性。

4. 过滤和监控:尽管采取了预防措施,但偏见和事实错误仍有可能漏网。实施过 滤器,如屏蔽列表、敏感度分类器和禁用词过滤器,可在输出之前捕捉到不适当或不准 确的输出。人工监控对于识别和解决新出现的问题也至关重要。

5. 人工智能的宪法原则:将道德因素纳入开发过程。这包括将公平性和透明度纳 入大规模语言模型本身,使其行为符合人类价值观。 通过将这些策略结合起来,可以将大规模语言模型从随机鹦鹉转变为推理引擎,使 其能够进行更有意义的交互并输出负责任的结果。

像LangChain这样的框架通过提供一 种结构化的方法,将提示、数据源和过滤器结合起来,有效地使用大规模语言模型,从 而简化了这一过程。

《LangChain大模型应用开发》

本书围绕大模型、生成式人工智能、LangChain等主题,以理论、案例和近几年的 技术前沿为主线展开,以代码实现为途径,适合大模型应用开发、人工智能和大数据等 领域的学者和工程师阅读,也可以作为非计算机背景人员作为入门大模型应用实战的 读物。无论是初学者还是经验丰富的开发人员,对于任何想要充分利用大规模语言模型并 在大规模语言模型和LangChain方面保持领先的人来说,这本书都将是宝贵的资源。

大规模语言模型可以生成令人信服的语言,但在推理、知识和使用工具方面却有很 大的局限性。LangChain框架简化了由大规模语言模型驱动的复杂应用程 序的构建,从而减少缺陷。链允许对大规模语言模型、数据库、API等进行排序调用, 以完成多步骤工作流。智能体可利用链根据观察结果采取行动,以管理动态应用程序。 记忆会在执行过程中持久保存信息,以保持状态。这些概念通过整合外部数据、操作和 上下文,使开发人员能够克服单个大规模语言模型的局限性。换句话说,LangChain将 复杂的编排工作简化为可定制的构建模块。 

LangChain 生态系统还包括用于收集反馈的 LangSmith、用于构建复杂有状 态应用程序的LangGraph以及用于简化API创建的LangServe,它们都具有旨在优化性 能、可扩展性和用户参与度的独特功能。此外,TruLens、Twitter和Google Search等重 要的第三方集成也丰富了该框架的功能,使大规模语言模型的应用更加广泛。

相关文章:

克服大规模语言模型限制,构建新的应用方法——LangChain

大模型 大模型的出现和落地开启了人工智能(AI)新一轮的信息技术革命,改变了人们的生 活方式、工作方式和思维方式。大模型的落地需要数据、算力和算法三大要素。经过几 年发展,大模型的数据集(包括多模态数据集)制作已经形成了规约,Meta、Go…...

计算机网络 —— HTTPS 协议

前一篇文章:计算机网络 —— HTTP 协议(详解)-CSDN博客 目录 前言 一、HTTPS 协议简介 二、HTTPS 工作过程 1.对称加密 2.非对称加密 3.中间人攻击 4.引入证书 三、HTTPS 常见问题 1.中间人能否篡改证书? 2.中间人能否调…...

React第十七章(useRef)

useRef 当你在React中需要处理DOM元素或需要在组件渲染之间保持持久性数据时,便可以使用useRef。 import { useRef } from react; const refValue useRef(initialValue) refValue.current // 访问ref的值 类似于vue的ref,Vue的ref是.value,其次就是vu…...

React第十五节useReducer使用详解差异

useReducer() 的用法注意事项 1、 概述: useReducer() 常用于管理复杂的状态更新逻辑,特别是在状态更新依赖于多个条件或动作时,useReducer 提供了一种更加结构化和可维护的方式来处理状态。可以将更新函数写在组件外面 它与 useState() 相…...

NanoLog起步笔记-5-客户端简要描述

nonolog起步笔记-5-客户端简要描述 客户端的简要的设计图路notify模式服务端最好分两个核 NanoLog::setLogLevel(NOTICE);从 NANO_LOG 开始NANO_LOGcompiling time的语句getNumNibblesNeeded:得到prompt中,number的数量countFmtParams:得到所…...

Flink:入门介绍

目录 一、Flink简介 2.1 Flink 架构 2.2 Flink 应用程序 运行模式 二、Flink 集群 部署 2.1 本地集群模式 2.1.1 安装JDK​编辑 2.1.2 下载、解压 Flink 2.1.3 启动集群 2.1.4 停止集群 2.2 Standalone 模式 2.2.0 集群规划 2.2.1 安装JDK 2.2.2 设置免密登录 2…...

目标跟踪领域经典论文解析

亲爱的小伙伴们😘,在求知的漫漫旅途中,若你对深度学习的奥秘、JAVA 、PYTHON与SAP 的奇妙世界,亦或是读研论文的撰写攻略有所探寻🧐,那不妨给我一个小小的关注吧🥰。我会精心筹备,在…...

网络编程 | TCP套接字通信及编程实现经验教程

1、TCP基础铺垫 TCP/IP协议簇中包含了如TCP、UDP、IP、ICMP、ARP、HTTP等通信协议。TCP协议是TCP/IP协议簇中最为常见且重要的通信方式之一,它为互联网上的数据传输提供了可靠性和连接管理。 TCP(Transmission Control Protocol,传输控制协议…...

SAP导出表结构并保存到Excel 源码程序

SAP导出表结构并保存到Excel,方便写代码时复制粘贴 经常做接口,需要copy表结构,找到了这样一个程程,特别有用。 01. 先看结果...

Linux下redis环境的搭建

1.redis的下载 redis官网下载redis的linux压缩包,官网地址:Redis下载 网盘链接: 通过网盘分享的文件:redis-5.0.4.tar.gz 链接: https://pan.baidu.com/s/1cz3ifYrDcHWZXmT1fNzBrQ?pwdehgj 提取码: ehgj 2.redis安装与配置 将包上传到 /…...

REDMI瞄准游戏赛道,推出小屏平板

近日,REDMI推出了一款8.8英寸的小屏平板,引发市场关注。该平板采用LCD屏幕,搭载天玑9400处理器,定位游戏市场,意在开拓小屏平板的新领域‌。 ‌小屏平板新尝试‌ 这款REDMI平板未追随大屏潮流,而是选择了8…...

springai结合ollama

目录 ollama 介绍 使用 下载: 安装: 点击这个玩意next就行了。 运行 spring ai使用ollama调用本地部署的大模型 加依赖 配置yml 写代码 ollama 介绍 官网:Ollama Ollama是一个用于部署和运行各种开源大模型的工具; …...

React第十三节开发中常见问题之(视图更新、事件处理)

一、视图更新有哪些方案&#xff1f; useState用法介绍 1、对于数据变量 正常的增删改查&#xff0c;只会让数据更新&#xff0c;但是不会触发 React 视图的更新&#xff1b; 如&#xff1a; <script lang"jsx">const baseTable [{name:Andy, age: 18, id…...

【Appium报错】安装uiautomator2失败

目录 1、通过nmp安装uiautomator2&#xff1a;失败 2、通过 Appium 的平台直接安装驱动程序 3、通过pip 来安装 uiautomator2 1、通过nmp安装uiautomator2&#xff1a;失败 我先是通过npm安装的uiautomator2&#xff0c;也显示已经安装成功了&#xff1a; npm install -g …...

DataSophon集成CMAK KafkaManager

本次集成基于DDP1.2.1 集成CMAK-3.0.0.6 设计的json和tar包我放网盘了. 通过网盘分享的文件&#xff1a;DDP集成CMAK 链接: https://pan.baidu.com/s/1BR70Ajj9FxvjBlsOX4Ivhw?pwdcpmc 提取码: cpmc CMAK github上提供了zip压缩包.将压缩包解压之后 在根目录下加入启动脚本…...

Ubuntu22.04深度学习环境安装【显卡驱动安装】

前言 使用Windows配置环境失败&#xff0c;其中有一个包只有Linux版本&#xff0c;Windows版本的只有python3.10的&#xff0c;所以直接选用Linux来配置环境&#xff0c;显卡安装比较麻烦&#xff0c;单独出一期。 显卡驱动安装 方法一&#xff1a;在线安装&#xff08;操作…...

21届秋/校招面经

开篇先说一下我自身情况&#xff0c;东南大学本科计算机科学与技术专业毕业&#xff0c;gpa3.2/4.8。零零散散搞过一年多ACM&#xff0c;去年&#xff08;2019&#xff09;在icpc上海站拿了铜之后增加了信心&#xff08;因为当时训练总时间半年不到&#xff09;&#xff0c;于是…...

相机动态/在线标定

图1 图2 基本原理 【原理1】平行线在射影变换后会交于一点。如图所示,A为相机光心,蓝色矩形框为归一化平面,O为平面中心。地面四条黄色直线为平行且等距的车道线。HI交其中两条车道线于H、I, 过G作HI的平行线GM交车道线于M。HI、GM在归一化平面上的投影分别为JK、PN,二者会…...

MySQL 8.0 新特性汇总

文章目录 前言1. 运维管理 1.1 可持久化变量1.2 管理员端口1.3 资源组1.4 数据库粒度只读1.5 show processlist 实现方式1.6 加速索引创建速度1.7 控制连接的内存使用量1.8 克隆插件1.9 mysqldump 新增参数1.10 慢日志增强1.11 快速加列1.12 InnoDB 隐藏主键1.13 Redo 配置1.14…...

Resnet C ++ 部署 tensort 部署(四)

Resnet C 部署 pytorch功能测试&#xff08;一&#xff09; Resnet C 部署 模型训练&#xff08;二&#xff09; Resnet C 部署 模型测试&转 onnx&#xff08;三&#xff09; Resnet C 部署 tensort 部署&#xff08;四&#xff09; 之后&#xff0c;开始onnx 转trt 部…...

谷歌浏览器插件

项目中有时候会用到插件 sync-cookie-extension1.0.0&#xff1a;开发环境同步测试 cookie 至 localhost&#xff0c;便于本地请求服务携带 cookie 参考地址&#xff1a;https://juejin.cn/post/7139354571712757767 里面有源码下载下来&#xff0c;加在到扩展即可使用FeHelp…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖

在前面的练习中&#xff0c;每个页面需要使用ref&#xff0c;onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入&#xff0c;需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢

随着互联网技术的飞速发展&#xff0c;消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁&#xff0c;不仅优化了客户体验&#xff0c;还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用&#xff0c;并…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

蓝桥杯 冶炼金属

原题目链接 &#x1f527; 冶炼金属转换率推测题解 &#x1f4dc; 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V&#xff0c;是一个正整数&#xff0c;表示每 V V V 个普通金属 O O O 可以冶炼出 …...

嵌入式学习笔记DAY33(网络编程——TCP)

一、网络架构 C/S &#xff08;client/server 客户端/服务器&#xff09;&#xff1a;由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序&#xff0c;负责提供用户界面和交互逻辑 &#xff0c;接收用户输入&#xff0c;向服务器发送请求&#xff0c;并展示服务…...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...