学习笔记3:LangChain 模型I/O
模型是LangChain框架的最底层核心组件。LangChain框架的逻辑主要由模型驱动。模型是基于语言模型构建的应用的核心元素。LangChain应用开发就是通过API调用大模型来解决具体问题的过程。
LangChain中的模型使用可以拆解为三个步骤:输入提示(Format)、调用模型(Predict)和输出解析(Parse),这三个步骤统称为模型I/O。
模型I/O中,LangChain为我们提供了模板和工具,快速构建调用各种语言模型的接口。
- 提示模板
LangChain中的提示模板负责传入模型的输入。提示模板的构建可以使用LangChain的PromptTemplate类。通过创建模板字符串,再通过PromptTemplate.from_template方法生成PromptTemplate对象。PromptTemplate对象中包含输入的变量、输出解析器、模板格式等信息。使用模板的好处包括:提高代码可读性、方便复用、易于维护、处理变量、参数化等。 - 语言模型
LangChain中支持三类模型:大语言模型(LLM,如text-davinci-003)、聊天模型(ChatGPT),和文本嵌入模型(Embedding)。
LangChain的OpenAI类提供了与OpenAI API进行交互的功能,通过该类可以方便地调用语言模型。使用方法包括设置OpenAI API Key、创建OpenAI实例、输入提示、调用模型并获取输出。 - 输出解析
LangChain提供了输出解析的功能,用于将模型的输出解析为结构化的数据。通过定义输出的结构和使用LangChain的StructuredOutputParser类,可以将模糊的文本输出解析为结构清晰的数据,方便后续处理和存储。输出解析器会根据提前定义的ResponseSchema对象,将模型输出的文本解析为字典格式。最后,将解析后的数据存储到DataFrame对象中,实现数据的结构化表达和存储。
LangChain的优势在于模板管理、变量提取和检查、模型切换和输出解析等方面。使用LangChain框架可以更好地管理模板、快速切换模型、简化代码、提高代码可读性和维护性,以及方便处理和存储输出数据。 LangChain框架使得基于语言模型的应用开发更加灵活和高效。
针对课程留下的思考题,我的思考:LangChain调用大语言模型来做应用开发的优势在于,LangChain调用大语言模型进行应用开发的优势在于简化开发流程、灵活的模型切换、高度可定制化、提高代码可读性和维护性,以及便捷处理和存储输出数据。这些优势使LangChain成为一个强大而高效的框架,帮助开发者更好地利用大语言模型构建应用。