什么是langchain #98
Labels
No Label
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: HswOAuth/llm_course#98
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
LangChain 是一个开源的开发框架,旨在简化构建基于大语言模型 (LLM) 的复杂应用程序。随着 LLM 技术的发展,许多应用需要将大语言模型与其他数据源、API、工具等结合起来使用。LangChain 提供了一系列工具和抽象层,使得开发者能够轻松地将 LLM 与外部世界的交互串联起来,构建更加复杂、智能的系统。
工作原理
Langchain 的这种结构设计使LLMs不仅能够处理文本,还能够在更广泛的应用环境中进行操作和响应,大大扩展了它们的应用范围和有效性。
核心概念
Embeddings 是一种将文本、词语、句子或其他数据(如图像、音频)转换为固定大小的向量表示的方法。通过这种表示,模型能够以一种更容易处理和比较的方式理解数据的语义信息。简单来说,嵌入是一种将复杂的高维数据(如文本)转换为低维向量的技术,这些向量捕捉了数据的语义特征。
VectorStores 是一种专门用于存储和检索嵌入向量的数据库或数据结构。向量存储允许高效地存储大量的向量(如文本、图像的嵌入向量)并支持快速地从中检索与查询相似的向量。
中文称为检索增强生成。RAG 是一种将 检索(Retrieval) 和 生成(Generation) 相结合的技术,旨在提高生成式模型的准确性和信息丰富度。RAG 模型利用外部知识库(如文档、数据库或搜索引擎)进行信息检索,并将检索到的信息作为上下文,输入到生成模型中,以产生更精确和相关的答案。
RAG 的核心思路是弥补大型语言模型(LLM)的一个固有缺陷,即知识库的静态性。尽管 LLM 经过大量数据的预训练,具备强大的语言生成能力,但它无法动态访问实时或未在预训练中包含的外部知识。RAG 通过结合实时检索的外部信息,使得生成模型的答案更具时效性、准确性和专业性。
即模型封装, LangChain 支持主流的 LLM 平台,如 OpenAI、Hugging Face、Anthropic 等。它为这些平台提供了统一的接口,使开发者能够轻松地调用不同平台的模型。它支持调用不同的 LLM 接口, 允许切换不同的语言模型,便于对比和实验,并且可以 自定义模型的推理参数,如温度、token 数限制等。
链是 LangChain 的核心概念之一,指的是将不同的语言模型任务组合起来,形成一个链式调用流程。通过链式组合,开发者可以构建更加复杂的任务序列。实际应用中可以将多个模型调用或 API 调用链接在一起,形成一个自动化的工作流, 适用于搜索任务、多轮推理、问答系统等。
LangChain 提供了多种工具与外部系统进行集成,包括访问数据库、API、搜索引擎等。语言模型可以根据用户的需求调用这些工具完成任务。这能够增强语言模型的实用性,使其不仅仅局限于生成文本,还能执行具体任务。
LangChain 的记忆模块允许系统在会话过程中保留上下文状态,从而可以实现连续对话。与传统一次性调用 LLM 的方式不同,LangChain 通过记忆模块可以让模型“记住”先前的对话和信息,并将其应用到接下来的对话中。
代理是 LangChain 中另一项强大的功能。代理允许模型动态决定何时调用不同的工具或执行特定的任务。模型可以在面对未知问题时通过代理机制进行自我决策,调用外部 API 或工具完成复杂任务。具体来说当用户提出一个问题时,代理会判断是否需要外部工具或数据源。然后根据任务的需要,代理会选择合适的工具,生成相应的查询或调用。
工作流程
整个流程利用了嵌入向量搜索、上下文增强以及大语言模型的生成能力来提供高质量的答案或触发系统行为,确保了模型能结合外部数据进行更智能的回答。
LangChain 的现状
LangChain 社区非常活跃,项目持续迭代更新,不断增加新的功能和集成模块。官方维护的文档、教程和插件库正在快速发展,帮助开发者更加轻松地使用和扩展框架。
LangChain 支持多种大语言模型,包括 OpenAI、Hugging Face、Cohere 等。无论是 GPT-3、GPT-4,还是自定义的开源模型,LangChain 都可以无缝集成。
LangChain 提供了与向量数据库(如 Pinecone、FAISS)、搜索引擎、API、文档数据库(如 Notion、Google Docs)以及浏览器等的深度集成,使其成为构建强大对话和信息检索系统的理想平台。
LangChain 是一个开源项目,拥有不断增长的社区贡献者和支持者。它支持多种语言的扩展和改进,为开发者提供了一个开放的交流平台。
随着自然语言处理(NLP)技术的不断发展,LangChain 越来越受到开发者的青睐。
LangChain的应用场景