随着大型语言模型(LLM)的出现,AI Agent又被定义为基于LLM驱动的Agent实现对通用问题的自动化处理。当AI Agent被赋予一个目标时,它能独立地进行思考和行动,详细规划出完成任务所需的每一个步骤,并通过外部反馈与自我思考来创建解决问题的prompt。例如,当要求ChatGPT购买咖啡时,它可能会回应“无法购买咖啡,因为它仅是...
SystemMessage对应系统预设,HumanMessage用户输入,AIMessage表示模型输出,使用 ChatMessagePromptTemplate 可以使用任意角色接收聊天消息。 系统会先提示“我是一个翻译助手,可以把英文翻译成中文”这样的系统预设消息。 然后用户输入需要翻译的内容,比如“我喜欢大语言模型”。 系统会根据预先定义的对话模板,自动接受翻译语种...
LangChain 中 Agent 组件的架构图如下,本质上也是基于 Chain 实现,但是它是一种特殊的 Chain,这个 Chain 是对 Action 循环调用的过程,它使用的 PromptTemplate 主要是符合 Agent Type 要求的各种思考决策模版。Agent 的核心思想在于使用 LLM 进行决策,选择一系列要执行的动作,并以此驱动应用程序的核心逻辑。通过 Tool...
# 创建Prompttopic_prompt = ChatPromptTemplate.from_template("生成一种'{input}'的名称")good_prompt = ChatPromptTemplate.from_template("列举{topic}的好处:")bad_prompt = ChatPromptTemplate.from_template("列举{topic}的坏处:")summary_prompt = ChatPromptTemplate.from_messages([("ai","{topic}"),...
然后我们最重要的就是tools数组,数组里放入tool函数,参数为name,func是函数,不同的功能调用不同的函数,description这个主要是类似于Prompt,根据用户输入的是否符合描述来调用不同的函数。 创建initialize_agent()并把tools传入进来以及llm的AI模型,agent参数传递的zero-shot-react-description采用零样本分类,不给案例自己推...
在AI应用中,无论是多轮对话场景、RAG场景还是AI Agent场景中,记忆能力都是不可或缺的一部分。然而,记忆能力是目前大模型的短板,所以,现在很多框架,诸如 LangChain、MetaGPT 等,都封装了自己的记忆模块,以方便开发者实现自己大模型应用的记忆功能。 之前我们简单概览了一下 LangChain 的 Memory 模块(【AI大模型应...
给“AI外行人士”引入一下LangChain,试着从工程角度去理解LangChain的设计和使用。同时大家也可以将此文档作为LangChain的“10分钟快速上手”手册,本意是希望帮助需要的同学实现AI工程的Bootstrap。
蛋先生:恩,你这种就是 hardcode 逻辑的方式。还有一种更加 amazing 的 方式,就是让语言模型自行决定采取哪种行为。这个由 LangChain 的Agent来实现。 丹尼尔:听上去太酷了,怎么用呢? 蛋先生:莫急,待我慢慢道来 Why? 丹尼尔:蛋兄,你刚刚说到 LangChain 使得 Prompt 的编写,API 的调用更加标准化,标准化了肯定...
我想做一个尝试,看看能不能用尽量清晰的逻辑,给“AI外行人士”(当然,我也是……)引入一下LangChain,试着从工程角度去理解LangChain的设计和使用。同时大家也可以将此文档作为LangChain的“10分钟快速上手”手册,本意是希望帮助需要的同学实现AI工程的Bootstrap。
toolkit=SQLDatabaseToolkit(db=db,llm=OpenAI(temperature=0))agent_executor=create_sql_agent(llm=OpenAI(temperature=0),toolkit=toolkit,verbose=True,agent_type=AgentType.ZERO_SHOT_REACT_DESCRIPTION,) Finally, once all the components are set up, we can execute the prompt with natural language asking...