面向开发者的LLM入门课程-顺序链: 顺序链 当只有一个输入和一个输出时,简单顺序链(SimpleSequentialChain)即可实现。当有多个输入或多个输出时,我们则需要使用顺序……
哈喽!伙伴们,我是小智,你们的AI向导。欢迎来到每日的AI学习时间。今天,我们将一起深入AI的奇妙世界,探索“面向开发者的LLM入门课程-顺序链”,并学会本篇文章中所讲的全部知识点。还是那句话“不必远征未知,只需唤醒你的潜能!”跟着小智的步伐,我们终将学有所成,学以致用,并发现自身的更多可能性。话不多说,现在就让我们开始这场激发潜能的AI学习之旅吧。
面向开发者的LLM入门课程-顺序链:
顺序链
当只有一个输入和一个输出时,简单顺序链(SimpleSequentialChain)即可实现。当有多个输入或多个输出时,我们则需要使用顺序链(SequentialChain)来实现。
import pandas as pd
from langchain.chains import SequentialChain
from langchain.chat_models import ChatOpenAI #导入OpenAI模型
from langchain.prompts import ChatPromptTemplate #导入聊天提示模板
from langchain.chains import LLMChain #导入LLM链。
llm = ChatOpenAI(temperature=0.9)
接下来我们将创建一系列的链,然后一个接一个使用他们
1.创建四个子链
#子链1
# prompt模板 1: 翻译成英语(把下面的review翻译成英语)
first_prompt = ChatPromptTemplate.from_template(
“把下面的评论review翻译成英文:”
“nn{Review}”
)
# chain 1: 输入:Review 输出:英文的 Review
chain_one = LLMChain(llm=llm, prompt=first_prompt, output_key=”English_Review”)
#子链2
# prompt模板 2: 用一句话总结下面的 review
second_prompt = ChatPromptTemplate.from_template(
“请你用一句话来总结下面的评论review:”
“nn{English_Review}”
)
# chain 2: 输入:英文的Review 输出:总结
chain_two = LLMChain(llm=llm, prompt=second_prompt, output_key=”summary”)
#子链3
# prompt模板 3: 下面review使用的什么语言
third_prompt = ChatPromptTemplate.from_template(
“下面的评论review使用的什么语言:nn{Review}”
)
# chain 3: 输入:Review 输出:语言
chain_three = LLMChain(llm=llm, prompt=third_prompt, output_key=”language”)
#子链4
# prompt模板 4: 使用特定的语言对下面的总结写一个后续回复
fourth_prompt = ChatPromptTemplate.from_template(
“使用特定的语言对下面的总结写一个后续回复:”
“nn总结: {summary}nn语言: {language}”
)
# chain 4: 输入: 总结, 语言 输出: 后续回复
chain_four = LLMChain(llm=llm, prompt=fourth_prompt,
output_key=”followup_message”)
2.对四个子链进行组合
#输入:review
#输出:英文review,总结,后续回复
overall_chain = SequentialChain(
chains=[chain_one, chain_two, chain_three, chain_four],
input_variables=[“Review”],
output_variables=[“English_Review”, “summary”,”followup_message”],
verbose=True
)
让我们选择一篇评论并通过整个链传递它,可以发现,原始review是法语,可以把英文review看做是一种翻译,接下来是根据英文review得到的总结,最后输出的是用法语原文进行的续写信息。
df = pd.read_csv(‘../data/Data.csv’)
review = df.Review[5]
overall_chain(review)
> Entering new SequentialChain chain…
> Finished chain.
{‘Review’: “Je trouve le goût médiocre. La mousse ne tient pas, c’est bizarre.
J’achète les mêmes dans le commerce et le goût est bien meilleur…nVieux lot ou
contrefaçon !?”,
‘English_Review’: “I find the taste mediocre. The foam doesn’t hold, it’s weird.
I buy the same ones in stores and the taste is much better…nOld batch or
counterfeit!?”,
‘summary’: “The reviewer finds the taste mediocre, the foam doesn’t hold well,
and suspects the product may be either an old batch or a counterfeit.”,
‘followup_message’: “后续回复(法语):Merci beaucoup pour votre avis. Nous sommes
désolés d’apprendre que vous avez trouvé le goût médiocre et que la mousse ne
tient pas bien. Nous prenons ces problèmes très au sérieux et nous enquêterons
sur la possibilité que le produit soit soit un ancien lot, soit une contrefaçon.
Nous vous prions de nous excuser pour cette expérience décevante et nous ferons
tout notre possible pour résoudre ce problème. Votre satisfaction est notre
priorité et nous apprécions vos commentaires précieux.”}
嘿,伙伴们,今天我们的AI探索之旅已经圆满结束。关于“面向开发者的LLM入门课程-顺序链”的内容已经分享给大家了。感谢你们的陪伴,希望这次旅程让你对AI能够更了解、更喜欢。谨记,精准提问是解锁AI潜能的钥匙哦!如果有小伙伴想要了解学习更多的AI知识,请关注我们的官网“AI智研社”,保证让你收获满满呦!
还没有评论呢,快来抢沙发~