当前位置: 首页 > 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 部…...

【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15

缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下&#xff1a; struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目&#xff0c;所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

【C++进阶篇】智能指针

C内存管理终极指南&#xff1a;智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...

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

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