链
通过链来链接LangChain的各个组件和功能——模型之间彼此链接,或模型与其他组件链接。
## Langchain中的预置链
LLMChain:最简单的链
LLMChain围绕着语言模型推理功能又添加了一些功能,整合了PromptTemplate、语言模型(LLM或聊天模型)和 Output Parser,相当于把Model I/O放在一个链中整体操作。它使用提示模板格式化输入,将格式化的字符串传递给 LLM,并返回 LLM 输出。
导入所需的库
from langchain import PromptTemplate, OpenAI, LLMChain
原始字符串模板
template = "{flower}的花语是?"
创建模型实例
llm = OpenAI(temperature=0)
创建LLMChain
llm_chain = LLMChain(
llm=llm,
prompt=PromptTemplate.from_template(template))
调用LLMChain,返回结果
result = llm_chain("玫瑰")
print(result)
链的调用方式
1. 直接调用(上例)
2. 通过run方法 llm_chain.run(“...”)
3. 通过predit方法
result = llm_chain.predict(flower="玫瑰")
print(result)
4. 通过apply方法
input_list = [
{"flower": "玫瑰",'season': "夏季"},
{"flower": "百合",'season': "春季"},
{"flower": "郁金香",'season': "秋季"}
]
result = llm_chain.apply(input_list)
print(result)
5. 通过generate方法
result = llm_chain.generate(input_list)
print(result)
---LangChain为我们提供了好用的“链”,帮助我们把多个组件像链条一样连接起来。这个“链条”其实就是一系列组件的调用顺序,这个顺序里还可以包括其他的“链条”。
我们可以使用多种方法调用链,也可以根据开发时的需求选择各种不同的链。
实现项目的整体框架
1.构建处理模板:为鲜花护理和鲜花装饰分别定义两个字符串模板。
2.提示信息:使用一个列表来组织和存储这两个处理模板的关键信息,如模板的键、描述和实际内容。
3.初始化语言模型:导入并实例化语言模型。
4.构建目标链:根据提示信息中的每个模板构建了对应的LLMChain,并存储在一个字典中。
5.构建LLM路由链:这是决策的核心部分。首先,它根据提示信息构建了一个路由模板,然后使用这个模板创建了一个LLMRouterChain。
6.构建默认链:如果输入不适合任何已定义的处理模板,这个默认链会被触发。
7.构建多提示链:使用MultiPromptChain将LLM路由链、目标链和默认链组合在一起,形成一个完整的决策系统。
总结
🎓 通过这次深入探索langchain中链的课程,我仿佛打开了一扇新世界的大门,对知识的组织和运用有了全新的认识。📚
链,这个在langchain中扮演核心角色的概念,对我来说不再只是一个简单的技术名词。它更像是一种思维工具,一种将散落的知识点、数据和信息编织成网的魔法。🔗 在学习的过程中,我不断思考,链是如何通过其独特的结构,实现信息的有效串联和高效利用的?它背后的逻辑和原理是什么?
老师的讲解和案例分享,让我逐渐领悟到了链的精髓。我开始尝试用链的视角去审视周围的世界,发现无论是学习、工作还是生活,链都无处不在,发挥着巨大的作用。👩🏫
这次学习不仅让我掌握了链的知识,更重要的是激发了我对知识组织和运用的深度思考。🤔 我相信,在未来的日子里,我会继续探索和实践,将链的智慧融入到我生活的每一个角落。✨