Langchain核心实现机制:
1.Loading:文档加载器把Documents 加载为以LangChain能够读取的形式。
2.Splitting:文本分割器把Documents 切分为指定大小的分割,我把它们称为“文档块”或者“文档片”。
3.Storage:将上一步中分割好的“文档块”以“嵌入”(Embedding)的形式存储到向量数据库(Vector DB)中,形成一个个的“嵌入片”。
4.Retrieval:应用程序从存储中检索分割后的文档(例如通过比较余弦相似度,找到与输入问题类似的嵌入片)。
5. Output:把问题和相似的嵌入片传递给语言模型(LLM),使用包含问题和检索到的分割的提示生成答案。
模型O/I
提示模板:使用模型的第一个环节是把提示信息输前入到模型中,你可"以创建LangChain模板,根据实际需求动态选择不同的输入,针对特定的任务和应用调整输入.。
语言模型:Langchain允许我们通过通用接口来调用语言模型。这意味着无论你要使用哪种语言模型,都可以通过同一种方式调用。
输出解析:LangChain还提供了从模型输出中提取信息的功能。通过输出解析器,你可以精确地从模型的输出中获取需要的信息,而不需要处理见余或不相关的数据,更重要的是还可以把大模型给回的非结构化文本,转换程序可以处理的结构化数据。
提示模板生成方式:
`# 导入LangChain中的提示模板
from langchain.prompts import PromptTemplate
# 创建原始模板
template = """您是一位专业的鲜花店文案撰写员。\n
对于售价为 {price} 元的 {flower_name} ,您能提供一个吸引人的简短描述吗?
"""
# 根据原始模板创建LangChain提示模板
prompt = PromptTemplate.from_template(template)
# 打印LangChain提示模板的内容
print(prompt)`
语言模型
LangChain中支持的模型有三大类。
1.大语言模型(LLM) ,也叫Text Model,这些模型将文本字符串作为输入,并返回文本字符串作为输出。
2.聊天模型(Chat Model),主要代表Open AI的ChatGPT系列模型。这些模型通常由语言模型支持,但它们的 API 更加结构化。具体来说,这些模型将聊天消息列表作为输入,并返回聊天消息。
3.文本嵌入模型(Embedding Model),这些模型将文本作为输入并返回浮点数列表,也就是Embedding。
输出解析
LangChain提供的解析模型输出的功能,使我们能够更容易地从模型输出中获取结构化的信息。
总结
langchain通过将用户的需求进行一系列的操作,利用大模型来解决用户具体情景下的问题,相比较于日常生活中的ai软件,它的亮点在于可以解决我们工作和生活中具体的问题。通过对提示模板的学习,我对langchain有了一些初步的了解,期待在之后的学习中了解更多。