GPT实战系列-LangChain如何构建基通义千问的多工具链
LangChain
GPT实战系列-LangChain如何构建基通义千问的多工具链
GPT实战系列-通过Basetool构建自定义LangChain工具方法
GPT实战系列-一种构建LangChain自定义Tool工具的简单方法
GPT实战系列-简单聊聊LangChain搭建本地知识库准备
GPT实战系列-LangChain + ChatGLM3构建天气查询助手
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
随着OpenAI的GPT-4这样的大型语言模型(LLMs)已经风靡全球,现在让它们自动执行各种任务,如回答问题、翻译语言、分析文本等。LLMs是在交互上真正体验到像"人工智能"。如何管理这些模块呢?
LangChain在这方面发挥重要作用。LangChain使构建由LLMs驱动的应用程序变得简单,使用LangChain,可以在统一的界面中轻松与不同类型的LLMs进行交互,管理模型版本,管理对话版本,并将LLMs连接在一起。
准备
本例子中,采用通义千问作为LLM
python
# 引入需要的模块
from langchain.chains import LLMChain, SimpleSequentialChain
from langchain import PromptTemplate
import os
设置 千问的相关环境,和模型接口函数:
python
from langchain_community.llms import Tongyi
os.environ["DASHSCOPE_API_KEY"] = "your key"
llm = Tongyi()
构建第一个Prompt链
LangChain可以连接到自己定义的工具,也可以连接到内嵌的tool提供商。此处,先用Prompt构建简单的链路。
python
# 第一步 prompt工具链
template = "Can you provide a brief summary of the movie {movie_title}? Please keep it concise."
first_prompt = PromptTemplate(input_variables=["movie_title"],template=template)
chain_one = LLMChain(llm=llm, prompt=first_prompt)
构建第二个Prompt链
python
# 第二步 prompt工具链
second_prompt = PromptTemplate(input_variables=["actor"],
template="Can you list three movies featuring {actor}?")
chain_two = LLMChain(llm=llm, prompt=second_prompt)
可以看到 两个int 参数:
multiply
multiply(a: int, b: int) -> int - Multiply two numbers.
{'a': {'title': 'A', 'type': 'integer'}, 'b': {'title': 'B', 'type': 'integer'}}
SimpleSequentialChain把链串起来
通过SimpleSequentialChain 把 各个链串起来,形成信息处理流。
python
# 结合第一和第二链
overall_chain = SimpleSequentialChain(chains=[chain_one, chain_two], verbose=True)
final_answer = overall_chain.run("Inception")
print(final_answer)
最后打印,实现功能。效果取决于定义的Prompt和模型的能力,得到类似的输出::
> Entering new SimpleSequentialChain chain...
Inception is a 2010 science fiction thriller film directed by Christopher Nolan. The movie follows Dom Cobb (Leonardo DiCaprio), an expert thief who specializes in infiltrating people's dreams to steal their ideas. Cobb is offered a chance to have his criminal history erased if he completes an impossible task: implanting an idea into the subconscious mind of a wealthy businessman, Robert Fischer (Cillian Murphy). To do this, Cobb assembles a team including a chemist, an architect, and a forger, and they delve into multiple layers of dream-sharing, facing challenges like time dilation and the risk of being trapped in their own subconscious. As the dreamscapes become more complex, Cobb's haunted past threatens to derail the mission and jeopardize the lives of his team members. The film explores themes of reality, dreams, and the power of the human mind.
1. The Matrix (1999) - This science fiction action film, directed by the Wachowskis, also blurs the lines between reality and the virtual world. It follows Neo (Keanu Reeves), a computer programmer who discovers that his reality is actually a simulated world created by intelligent machines. With the help of a group of rebels, including Morpheus (Laurence Fishburne) and Trinity (Carrie-Anne Moss), Neo learns to manipulate this simulated reality and fights against the machine-controlled dystopia.
2. Interstellar (2014) - Another Christopher Nolan-directed film, Interstellar explores the boundaries of space, time, and human endeavor. Matthew McConaughey plays Cooper, a former pilot and engineer who leads an expedition through a wormhole in search of a new habitable planet for humanity. The movie delves into complex scientific concepts like relativity and the fifth dimension while examining the emotional impact of leaving loved ones behind.
3. Paprika (2006) - This Japanese animated psychological science fiction film, directed by Satoshi Kon, revolves around a device that allows therapists to enter and explore their patients' dreams. Dr. Atsuko Chiba, using her alter ego Paprika, must navigate a chaotic dreamscape when the device falls into the wrong hands, causing dream and reality to merge dangerously. The film explores similar themes of dreams and their impact on the human psyche as Inception.
> Finished chain.
1. The Matrix (1999) - This science fiction action film, directed by the Wachowskis, also blurs the lines between reality and the virtual world. It follows Neo (Keanu Reeves), a computer programmer who discovers that his reality is actually a simulated world created by intelligent machines. With the help of a group of rebels, including Morpheus (Laurence Fishburne) and Trinity (Carrie-Anne Moss), Neo learns to manipulate this simulated reality and fights against the machine-controlled dystopia.
2. Interstellar (2014) - Another Christopher Nolan-directed film, Interstellar explores the boundaries of space, time, and human endeavor. Matthew McConaughey plays Cooper, a former pilot and engineer who leads an expedition through a wormhole in search of a new habitable planet for humanity. The movie delves into complex scientific concepts like relativity and the fifth dimension while examining the emotional impact of leaving loved ones behind.
3. Paprika (2006) - This Japanese animated psychological science fiction film, directed by Satoshi Kon, revolves around a device that allows therapists to enter and explore their patients' dreams. Dr. Atsuko Chiba, using her alter ego Paprika, must navigate a chaotic dreamscape when the device falls into the wrong hands, causing dream and reality to merge dangerously. The film explores similar themes of dreams and their impact on the human psyche as Inception.
LangChain是一个Python框架,可以使用LLMs构建应用程序。它与各种模块连接,使与LLM和提示管理,一切变得简单。
觉得有用 收藏 收藏 收藏
点个赞 点个赞 点个赞
End
GPT专栏文章:
GPT实战系列-实战Qwen通义千问在Cuda 12+24G部署方案_通义千问 ptuning-CSDN博客
GPT实战系列-ChatGLM3本地部署CUDA11+1080Ti+显卡24G实战方案
GPT实战系列-让CodeGeeX2帮你写代码和注释_codegeex 中文-CSDN博客
GPT实战系列-ChatGLM3管理工具的API接口_chatglm3 api文档-CSDN博客
GPT实战系列-LangChain + ChatGLM3构建天气查询助手
GPT实战系列-大模型为我所用之借用ChatGLM3构建查询助手
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(二)
GPT实战系列-P-Tuning本地化训练ChatGLM2等LLM模型,到底做了什么?(一)
GPT实战系列-ChatGLM2部署Ubuntu+Cuda11+显存24G实战方案