LangChain学习
文章平均质量分 90
stingfire
软件测试和技术风险,质量架构。AI技术爱好者。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LangChain入门学习笔记(一)——Hello World
LangChain是一个开源()的大语言模型应用开发框架,提供了一整套的工具、方法和接口去帮助程序员构建基于大语言模型的端到端应用。LangChain是长链(long chain)的意思,它的一个核心思想就是将应用的各阶段处理连成一条长串进行。原创 2024-06-12 12:09:27 · 1925 阅读 · 0 评论 -
LangChain入门学习笔记(二)——LangChain表达式语言(LCEL)
可能我们需要对输入的prompt进行一些自定义的处理,这时候将自定义的处理逻辑函数作为传参对象传入RunnableLambda,不过要注意的是目前RunnableLambda只接受一个参数的函数定义。import os# 传入的Json字段值经过RunnableLambda处理# "a"通过itemgetter("foo")获得"hello",再经过length_function处理,结果是 "a": 5。原创 2024-06-12 12:09:46 · 1644 阅读 · 0 评论 -
LangChain入门学习笔记(三)—— Model I/O之Prompts
如果说LCEL是粘合剂,那么它需要粘合起来的要素就是各种组件。其中最核心的要素就是LangChain官方文档中定义的Model I/O:Prompts、Chat Models、LLMs和Output Parsers。这4个基本组件,可以处理基本的用户输入并通过大模型处理后按要求输出。这一章主要介绍第一个组件:Prompts,即用户输入的提示语。原创 2024-06-14 15:48:47 · 1277 阅读 · 0 评论 -
LangChain入门学习笔记(四)—— Model I/O之LLMs
当我们需要封装自己的LLM类时,或者将LangChain支持的LLM进行其他不同的行为封装,这时候我们可以自定义LLM,以便使用自己的LLM的同时享受LangChain框架带来的便利。_llm_type: 返回属性字符串,可以用在记录日志。_call: 供invoke方法使用,底层大模型的封装。接受的参数有:prompt:用于生成内容的提示。stop:生成时的停用词。模型的输出在首次出现停用子字符串时被截断,如果不支持停用词,建议抛出异常NotImplementedError。原创 2024-06-18 16:51:06 · 1466 阅读 · 0 评论 -
LangChain入门学习笔记(五)—— Model I/O之Chat Models
generate:用于根据输入的提示语生成结果。_llm_type:返回属性字符串,用来唯一标志模型类型名称。_agenerate:_generate的异步版本。_stream / _astream:流式传输的同步/异步版本。_identifying_params:用于追踪目的的模型参数属性值。原创 2024-06-19 21:40:10 · 2164 阅读 · 0 评论 -
LangChain入门学习笔记(六)—— Model I/O之Output Parsers
如果觉得LangChain 提供的解析器武德不够充沛,可以自己动手打造自己专属的“武器”。使用RunnableGenerator,这种方法简洁明了,推荐使用。从解析器基类继承编写新的类,相对比较复杂。RunnableLambda/RunnableGenerator自定义解析使用这个方法,我们定义自己的处理方法,接收某个输入,然后将其做对应转换后返回。以RunnableLambda为例如下:# 定义自己的解析方法# 传入AIMessage类型的参数,这是Chat Model的输出。原创 2024-06-21 18:58:07 · 1230 阅读 · 0 评论 -
LangChain入门学习笔记(七)—— 使用检索提高生成内容质量
大模型训练使用的数据是开放的、广泛的,因此它显得更加的通用。然而在有些应用场景下,用户需要使用自己的数据使得大模型生成的内容更加贴切,也有时候用户的数据是敏感的,无法提供出来给大模型进行通用性的训练。RAG技术就是一种解决这种问题的方法。关于RAG的简单介绍,可以看笔者的。上面的每一部分都包含LangChain实现的或者第三方提供的类,可以根据开发者的业务需要来挑选合适的实现。由于类别很多,限于篇幅不一一介绍,大家可以先通过。的目录确定自己需要的工具。原创 2024-06-28 23:16:18 · 810 阅读 · 0 评论
分享