什么是LangChain表达式
LangChain表达式语言,或者LCEL,是一种声明式的方式,可以轻松地将链条组合在一起。这一节我们还是关注具体应用,关于流式,异步支持,还有跟踪集成什么的以后再讲。
基本的表达式:提示 + 模型 + 输出解析器
我们这里写一个笑话生成器,把提示模板,模型还是格式化输出链接在一起,接受一个主题并创建笑话。
from langchain_community.chat_models import QianfanChatEndpoint
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate
# 创建ChatModel
chat = QianfanChatEndpoint(
model='ERNIE-Bot',
endpoint='completions'
)
prompt = ChatPromptTemplate.from_template('给我讲一个关于{topic}的笑话吗?要求100字以内。')
output_parser = StrOutputParser()
# 注意:| 符号类似于 unix 管道操作符,它将不同的组件链接在一起,将一个组件的输出作为下一个组件的输入。
chain = prompt | chat | output_parser
r = chain.invoke({'topic': '大象'})
print(r)
'''输出
有一天,一只大象走进了一家酒吧,它对酒吧的调酒师说:“给我一杯啤酒。”调酒师惊讶地看着它说:“可是,你是一头大象,你怎么喝酒呢?”大象笑了笑,说:“我已经练了好几年的鼻子功夫了,没问题的!”
'''
如果不用LCEL,那么代码执行代码就必须按如下方式编写:
prompt_value = prompt.invoke({'topic': '大象'})

最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



