Open utterances-bot opened 10 months ago
这里开头说14章除了 Structured Chat Agent 外都是 非 Chat 模式的,但是我看 14.2 的 prompt 就是由 message 构建的吗?
顺便吐槽一下,看的时候总感觉 langchain 有些地方的 api 设计怪怪的,可能是我自己的理解问题;langchain 的 api 改的也很快,比如大佬书里的 initialize_agent 就已经弃用了
这里开头说 14 章除了 Structured Chat Agent 外都是 非 Chat 模式的,但是我看 14.2 的 prompt 就是由 message 构建的吗?
14.2 里的 prompt 确实用的是 message 构建,但是那里的 llm_chain 是作为 Agent 的工具而构建的。
在 LangChain 中,Agent 本身是否是 Chat 模式和该 Agent 的 prompt 构造方式有关系,具体可以参见每个 Agent 的 base.py 中的 create_prompt()
方法中。
Chat 模式的 Agent 中,create_prompt()
返回的是:
return ChatPromptTemplate(input_variables=input_variables, messages=messages)
而 非 Chat 模式的 Agent 中,create_prompt()
返回的是:
return PromptTemplate(template=template, input_variables=input_variables)
顺便吐槽一下,看的时候总感觉 langchain 有些地方的 api 设计怪怪的,可能是我自己的理解问题;langchain 的 api 改的也很快,比如大佬书里的 initialize_agent 就已经弃用了
LangChain 整体的设计还是比较巧妙的,但是毕竟因为是一个比较年轻的框架,所以有些地方确实存在 API 设计不够优良的问题,尤其是对于 Agent 部分的 API 设计,我自己在看的时候也有类似的疑问。所以,我们看到,LangChain 也在快速的发展。相信 LangChain 会在不断的迭代中变得越来越好。
关于 initialize_agent
的问题,感谢 @hucorz 的反馈(最近在了解 Semantic Kernel,没有及时跟进 LangChain 的更新),后续我会采用新的方法更新到书籍中。这也是因为这本书采用在线版本的原因,技术变化太快,在线版本才可以跟上技术的发展。
顺便吐槽一下,看的时候总感觉 langchain 有些地方的 api 设计怪怪的,可能是我自己的理解问题;langchain 的 api 改的也很快,比如大佬书里的 initialize_agent 就已经弃用了
@hucorz 对于 LangChain 简介 和 LangChain ReAct Agent 这两章,已经完成更新,具体参见:https://github.com/wangwei1237/LLM_in_Action/commit/9d1d1d027e0178a79f90c134522e8b54f604fe53
@wangwei1237 强,orz 🥺
Large Language Model in Action - 15 LangChain Chat Agent
https://wangwei1237.github.io/LLM_in_Action/langchain_agent_chat.html