跳转到主要内容

标签(标签)

资源精选(342) Go开发(108) Go语言(103) Go(99) angular(82) LLM(75) 大语言模型(63) 人工智能(53) 前端开发(50) LangChain(43) golang(43) 机器学习(39) Go工程师(38) Go程序员(38) Go开发者(36) React(33) Go基础(29) Python(24) Vue(22) Web开发(20) Web技术(19) 精选资源(19) 深度学习(19) Java(18) ChatGTP(17) Cookie(16) android(16) 前端框架(13) JavaScript(13) Next.js(12) 安卓(11) typescript(10) 资料精选(10) NLP(10) 第三方Cookie(9) Redwoodjs(9) LLMOps(9) Go语言中级开发(9) 自然语言处理(9) 聊天机器人(9) PostgreSQL(9) 区块链(9) mlops(9) 安全(9) 全栈开发(8) ChatGPT(8) OpenAI(8) Linux(8) AI(8) GraphQL(8) iOS(8) 软件架构(7) Go语言高级开发(7) AWS(7) C++(7) 数据科学(7) whisper(6) Prisma(6) 隐私保护(6) RAG(6) JSON(6) DevOps(6) 数据可视化(6) wasm(6) 计算机视觉(6) 算法(6) Rust(6) 微服务(6) 隐私沙盒(5) FedCM(5) 语音识别(5) Angular开发(5) 快速应用开发(5) 提示工程(5) Agent(5) LLaMA(5) 低代码开发(5) Go测试(5) gorm(5) REST API(5) 推荐系统(5) WebAssembly(5) GameDev(5) CMS(5) CSS(5) machine-learning(5) 机器人(5) 游戏开发(5) Blockchain(5) Web安全(5) Kotlin(5) 低代码平台(5) 机器学习资源(5) Go资源(5) Nodejs(5) PHP(5) Swift(5) 智能体(4) devin(4) Blitz(4) javascript框架(4) Redwood(4) GDPR(4) 生成式人工智能(4) Angular16(4) Alpaca(4) SAML(4) JWT(4) JSON处理(4) Go并发(4) kafka(4) 移动开发(4) 移动应用(4) security(4) 隐私(4) spring-boot(4) 物联网(4) nextjs(4) 网络安全(4) API(4) Ruby(4) 信息安全(4) flutter(4) 专家智能体(3) Chrome(3) CHIPS(3) 3PC(3) SSE(3) 人工智能软件工程师(3) LLM Agent(3) Remix(3) Ubuntu(3) GPT4All(3) 软件开发(3) 问答系统(3) 开发工具(3) 最佳实践(3) RxJS(3) SSR(3) Node.js(3) Dolly(3) 移动应用开发(3) 编程语言(3) 低代码(3) IAM(3) Web框架(3) CORS(3) 基准测试(3) Go语言数据库开发(3) Oauth2(3) 并发(3) 主题(3) Theme(3) earth(3) nginx(3) 软件工程(3) azure(3) keycloak(3) 生产力工具(3) gpt3(3) 工作流(3) C(3) jupyter(3) 认证(3) prometheus(3) GAN(3) Spring(3) 逆向工程(3) 应用安全(3) Docker(3) Django(3) R(3) .NET(3) 大数据(3) Hacking(3) 渗透测试(3) C++资源(3) Mac(3) 微信小程序(3) Python资源(3) JHipster(3) 大型语言模型(2) 语言模型(2) 可穿戴设备(2) JDK(2) SQL(2) Apache(2) Hashicorp Vault(2) Spring Cloud Vault(2) Go语言Web开发(2) Go测试工程师(2) WebSocket(2) 容器化(2) AES(2) 加密(2) 输入验证(2) ORM(2) Fiber(2) Postgres(2) Gorilla Mux(2) Go数据库开发(2) 模块(2) 泛型(2) 指针(2) HTTP(2) PostgreSQL开发(2) Vault(2) K8s(2) Spring boot(2) R语言(2) 深度学习资源(2) 半监督学习(2) semi-supervised-learning(2) architecture(2) 普罗米修斯(2) 嵌入模型(2) productivity(2) 编码(2) Qt(2) 前端(2) Rust语言(2) NeRF(2) 神经辐射场(2) 元宇宙(2) CPP(2) 数据分析(2) spark(2) 流处理(2) Ionic(2) 人体姿势估计(2) human-pose-estimation(2) 视频处理(2) deep-learning(2) kotlin语言(2) kotlin开发(2) burp(2) Chatbot(2) npm(2) quantum(2) OCR(2) 游戏(2) game(2) 内容管理系统(2) MySQL(2) python-books(2) pentest(2) opengl(2) IDE(2) 漏洞赏金(2) Web(2) 知识图谱(2) PyTorch(2) 数据库(2) reverse-engineering(2) 数据工程(2) swift开发(2) rest(2) robotics(2) ios-animation(2) 知识蒸馏(2) 安卓开发(2) nestjs(2) solidity(2) 爬虫(2) 面试(2) 容器(2) C++精选(2) 人工智能资源(2) Machine Learning(2) 备忘单(2) 编程书籍(2) angular资源(2) 速查表(2) cheatsheets(2) SecOps(2) mlops资源(2) R资源(2) DDD(2) 架构设计模式(2) 量化(2) Hacking资源(2) 强化学习(2) flask(2) 设计(2) 性能(2) Sysadmin(2) 系统管理员(2) Java资源(2) 机器学习精选(2) android资源(2) android-UI(2) Mac资源(2) iOS资源(2) Vue资源(2) flutter资源(2) JavaScript精选(2) JavaScript资源(2) Rust开发(2) deeplearning(2) RAD(2)

评估语言模型,以及在语言模型之上构建的扩展应用程序,是很困难的。随着最近的模型发布(OpenAI、Anthropic、Google),评估正成为一个越来越大的问题。人们开始尝试解决这个问题,OpenAI发布了OpenAI/evals,专注于评估OpenAI模型。相应地,我们很高兴地宣布,我们对评估链和代理的方式进行了一些补充和改进。

问题

评估LangChain链和代理可能非常困难。这主要有两个原因:

#1:缺乏数据

在开始一个项目之前,你通常没有大量的数据来评估你的链/代理。这通常是因为大型语言模型(大多数链/代理的核心)是非常棒的少试和零试学习者,这意味着你几乎总是能够在没有大量示例数据集的情况下开始执行特定任务(文本到SQL、问答等)。这与传统的机器学习形成了鲜明的对比,在传统机器学习中,甚至在开始使用模型之前,都必须先收集一堆数据点。

#2:缺乏指标

大多数链/代理执行的任务没有很好的指标来评估性能。例如,最常见的用例之一是生成某种形式的文本。评估生成的文本比评估分类预测或数字预测要复杂得多。

解决方案

LangChain试图解决这两个问题。到目前为止,我们已经初步通过了解决方案——决不是完美的解决方案。我们非常欢迎对此的反馈、贡献、整合和思考。

到目前为止,我们对每个问题都有以下看法:

#1:缺乏数据

我们已经在拥抱脸上启动了LangChainData集社区空间。我们希望这是一个开源数据集的集合,用于评估公共链和代理。我们已经贡献了五个自己的数据集,但我们完全打算这是一项社区努力。为了贡献一个数据集,您只需要加入社区。然后,您将能够上传数据集。

我们还致力于让人们尽可能轻松地创建自己的数据集。作为第一步,我们添加了一个QAGenerationChain,它在给定一个文档的情况下,提供了问答对,可用于评估该文档中的问答任务。有关如何使用此链的示例,请参阅此笔记本。

#2:缺乏指标

我们有两种解决方案来解决缺乏指标的问题。

第一个解决方案是不使用度量,而只是依靠视觉检查结果来了解链/代理的执行情况。为了帮助实现这一点,我们已经开发(并将继续开发)跟踪,这是一种基于UI的链和代理运行可视化工具,我们于1月底首次发布。

我们建议的第二种解决方案是使用语言模型本身来评估输出。为此,我们有一些不同的链条和提示,旨在解决这个问题。

示例

我们创建了一组将上述两种解决方案结合在一起的示例,以展示我们在开发时如何对链和代理进行内部评估。除了我们策划的例子外,我们也非常欢迎这里的贡献。为了促进这一点,我们提供了一个模板笔记本,供社区成员用来构建自己的示例。

我们现有的例子有: