LLM常见面试题(26-30题)--langchain篇
26,什么是langchain?
一个局域语言模型的框架,用于构建聊天机器人、生成式回答、摘要等功能。
核心思想是将不同的组件“链”在一起,连接大语言模型和外部资源,以创建更高级的语言模型应用。使得开发人员可以快速开发原型系统和应用程序。
27,langchain主要价值有哪些?
①组件化:提供了用于处理语言模型的抽象组件,以及每个抽象组件的一系列实现。这些组件具有模块化设计,容易使用。
②现成的链式组装:提供了一些现成的链式组装,用于完成特定的高级任务。对于更复杂的应用程序,也支持自定义现有链式组装或构建新的链式组装。
③简化开发难度:通过组件化和现成的链式组装,可以大大简化大语言模型应用的开发难度,可以更专注于业务逻辑,而无需花费大量时间和精力处理底层技术细节。
28,langchain包含哪些核心模块?
①模型输入/输出:与语言模型交互的接口。
②数据连接:与特定应用程序数据进行交互的接口。
③链:用于复杂应用的调用序列。
④智能体:语言模型作为推理器,决定要执行的动作序列。
⑤记忆:用于多次运行之间,持久化应用程序状态。
⑥回调:记录传输任何链式组装的中间步骤。
29,langchain的模型输入/输出包括哪些?
①Prompts:提示词模板、提示词动态选择和输入管理。该输入通常由模板、示例和用户输入的组合
②Language Moddels:提供了两种类型的接口。分别是LLMs和Chat Model。前者接受文本字符串作为输入并返回文本字符串,后者接受chat messages列表作为输入,并返回chat message.
③out parsers:辅助开发者从大语言模型输出中获取比文本更结构化的信息。包含很多具体的实现,但是每个都必须实现如下两个必须实现的方法:
①获取格式化指令:返回包含语言模型输出应如何格式化的字符串方法。
②接受字符串并将其解析为某种结构的方法
30,langchain的数据连接包括哪些内容?
通过Document loaders, Document transformers, Text embedding models, Vector stores以及Retrievers提供组件来加载、转换、存储和查询数据。
Document loaders(文档加载):从源中加载数据构建Document。LangChain中包含加载简单txt文件的文档加载器,用于加载任何网页的文本内容,甚至还包含用于加载YouTube视频的转录稿的加载器。