LangChain 是一个用于构建大语言模型(LLM)应用的框架。它的核心组件包括以下几个部分:
1、提示(Prompts):提示是提供给LLM的输入文本,用于生成响应。有效的提示管理对于引导LLM输出和定义任务至关重要 (DEV Community) (Elastic)。
2、语言模型(LLMs):语言模型是生成基于输入提示的人类语言文本的引擎。LangChain 支持多种LLM,包括来自OpenAI和Hugging Face的模型 (DEV Community) (Elastic)。
3、链(Chains):链允许将多个组件(如提示和LLM)组合在一起,以创建更复杂的应用。链定义了处理输入、生成输出以及执行附加任务的步骤顺序 (DEV Community) (Elastic)。
4、代理(Agents):代理是使用链和工具来完成特定目标的高级抽象。它们可以做出决策,交互外部工具,并检索信息以完成任务 (DEV Community) (Elastic)。
5、记忆组件(Memory Components):这些组件用于在多个交互或对话中存储和检索数据,帮助应用保持上下文连续性。记忆类型包括会话缓冲记忆(ConversationBufferMemory),用于保留详细的交互日志 (Elastic) (DataCamp)。
6、文档加载器和文本分割器(Document Loaders and Text Splitters):文档加载器从各种外部来源检索数据,而文本分割器则将冗长的文档分割成可管理的部分,便于模型处理 (Deepchecks) (Elastic)。
7、检索器和向量存储(Retrievers and Vector Stores):检索器帮助将文档与语言模型结合,用于查询存储的文档;向量存储则维护嵌入向量,以便在非结构化数据上进行搜索 (Deepchecks)。
8、工作流管理(Workflow Management):这涉及协调和控制链和代理的执行,以解决特定问题,管理数据流,并确保应用对用户交互和变化情况做出响应 (Elastic)。
通过这些核心组件,LangChain 可以构建出强大且可扩展的LLM应用,提供高效的提示管理、灵活的工作流编排以及强大的数据检索和记忆功能。