赞
踩
串联式编排调用链:SequentialChain
超长文本的转换 Transform Chain
实现条件判断的路由链:RouterChain
串联式调用语言模型(将一个调用的输出作为另一个调用的输入)。
顺序链(Sequential Chain )允许用户连接多个链并将它们组合成执行特定场景的流水线(Pipeline)。有两种类型的顺序链:
这是一个 LLMChain,用于根据剧目的标题撰写简介
python
复制代码
# 这是一个 LLMChain,用于根据剧目的标题撰写简介。
llm = OpenAI(temperature=0.7, max_tokens=1000)
template = """你是一位剧作家。根据戏剧的标题,你的任务是为该标题写一个简介。
标题:{title}
剧作家:以下是对上述戏剧的简介:"""
prompt_template = PromptTemplate(input_variables=["title"], template=template)
synopsis_chain = LLMChain(llm=llm, prompt=prompt_template)
这是一个LLMChain,用于根据剧情简介撰写一篇戏剧评论。
python
复制代码
# 这是一个LLMChain,用于根据剧情简介撰写一篇戏剧评论。
# llm = OpenAI(temperature=0.7, max_tokens=1000)
template = """你是《纽约时报》的戏剧评论家。根据剧情简介,你的工作是为该剧撰写一篇评论。
剧情简介:
{synopsis}
以下是来自《纽约时报》戏剧评论家对上述剧目的评论:"""
prompt_template = PromptTemplate(input_variables=["synopsis"], template=template)
review_chain = LLMChain(llm=llm, prompt=prompt_template)
完整代码示例
ini 复制代码 import os from langchain_openai import OpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain from langchain.chains import SimpleSequentialChain api_key = 'sk-xxx' os.environ["OPENAI_API_KEY"] = api_key serp_api = 'xxx' os.environ["SERPAPI_API_KEY"] = serp_api llm = OpenAI(model_name="gpt-3.5-turbo-instruct", temperature=0.7, max_tokens=1000) def get_synopsis_chain(): # 这是一个 LLMChain,用于根据剧目的标题撰写简介。 template = """你是一位剧作家。根据戏剧的标题,你的任务是为该标题写一个简介。 标题:{title} 剧作家:以下是对上述戏剧的简介:""" prompt_template = PromptTemplate(input_variables=["title"], template=template) synopsis_chain = LLMChain(llm=llm, prompt=prompt_template) return synopsis_chain def get_review_chain(): # 这是一个LLMChain,用于根据剧情简介撰写一篇戏剧评论。 # llm = OpenAI(temperature=0.7, max_tokens=1000) template = """你是《纽约时报》的戏剧评论家。根据剧情简介,你的工作是为该剧撰写一篇评论。 剧情简介: {synopsis} 以下是来自《纽约时报》戏剧评论家对上述剧目的评论:""" prompt_template = PromptTemplate(input_variables=["synopsis"], template=template) review_chain = LLMChain(llm=llm, prompt=prompt_template) return review_chain def main(): # 这是一个SimpleSequentialChain,按顺序运行这两个链 synopsis_chain = get_synopsis_chain() review_chain = get_review_chain() overall_chain = SimpleSequentialChain(chains=[synopsis_chain, review_chain], verbose=True) review = overall_chain.run("三体人不是无法战胜的") print(review) if __name__ == "__main__": main()
输出内容
python 复制代码 import os from langchain_openai import OpenAI from langchain.prompts import PromptTemplate from langchain.chains import LLMChain from langchain.chains import SequentialChain api_key = 'sk-xx' os.environ["OPENAI_API_KEY"] = api_key serp_api = 'xxx' os.environ["SERPAPI_API_KEY"] = serp_api llm = OpenAI(model_name="gpt-3.5-turbo-instruct", temperature=0.7, max_tokens=1000) def get_synopsis_chain(): # # 这是一个 LLMChain,根据剧名和设定的时代来撰写剧情简介。 template = """你是一位剧作家。根据戏剧的标题和设定的时代,你的任务是为该标题写一个简介。 标题:{title} 时代:{era} 剧作家:以下是对上述戏剧的简介:""" prompt_template = PromptTemplate(input_variables=["title", "era"], template=template) # output_key synopsis_chain = LLMChain(llm=llm, prompt=prompt_template, output_key="synopsis", verbose=True) return synopsis_chain def get_review_chain(): # 这是一个LLMChain,用于根据剧情简介撰写一篇戏剧评论。 template = """你是《纽约时报》的戏剧评论家。根据该剧的剧情简介,你需要撰写一篇关于该剧的评论。 剧情简介: {synopsis} 来自《纽约时报》戏剧评论家对上述剧目的评价:""" prompt_template = PromptTemplate(input_variables=["synopsis"], template=template) review_chain = LLMChain(llm=llm, prompt=prompt_template, output_key="review", verbose=True) return review_chain def main(): # 这是一个SimpleSequentialChain,按顺序运行这两个链 synopsis_chain = get_synopsis_chain() review_chain = get_review_chain() m_overall_chain = SequentialChain( chains=[synopsis_chain, review_chain], input_variables=["era", "title"], # Here we return multiple variables output_variables=["synopsis", "review"], verbose=True) result = m_overall_chain({"title":"三体人不是无法战胜的", "era": "二十一世纪的新中国"}) print(result) if __name__ == "__main__": main()
输出结果
作为一名热心肠的互联网老兵,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。
但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的 AI大模型资料
包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。