wangwei1237 / LLM_in_Action

Large Language Model in Action
https://wangwei1237.github.io/LLM_in_Action/
Apache License 2.0
51 stars 15 forks source link

LLM_in_Action/langchain_agent_chat #7

Open utterances-bot opened 10 months ago

utterances-bot commented 10 months ago

Large Language Model in Action - 15  LangChain Chat Agent

https://wangwei1237.github.io/LLM_in_Action/langchain_agent_chat.html

hucorz commented 10 months ago

这里开头说14章除了 Structured Chat Agent 外都是 非 Chat 模式的,但是我看 14.2 的 prompt 就是由 message 构建的吗?

hucorz commented 10 months ago

顺便吐槽一下,看的时候总感觉 langchain 有些地方的 api 设计怪怪的,可能是我自己的理解问题;langchain 的 api 改的也很快,比如大佬书里的 initialize_agent 就已经弃用

wangwei1237 commented 10 months ago

这里开头说 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)

wangwei1237 commented 10 months ago

顺便吐槽一下,看的时候总感觉 langchain 有些地方的 api 设计怪怪的,可能是我自己的理解问题;langchain 的 api 改的也很快,比如大佬书里的 initialize_agent 就已经弃用

LangChain 整体的设计还是比较巧妙的,但是毕竟因为是一个比较年轻的框架,所以有些地方确实存在 API 设计不够优良的问题,尤其是对于 Agent 部分的 API 设计,我自己在看的时候也有类似的疑问。所以,我们看到,LangChain 也在快速的发展。相信 LangChain 会在不断的迭代中变得越来越好。

关于 initialize_agent 的问题,感谢 @hucorz 的反馈(最近在了解 Semantic Kernel,没有及时跟进 LangChain 的更新),后续我会采用新的方法更新到书籍中。这也是因为这本书采用在线版本的原因,技术变化太快,在线版本才可以跟上技术的发展。

wangwei1237 commented 10 months ago

顺便吐槽一下,看的时候总感觉 langchain 有些地方的 api 设计怪怪的,可能是我自己的理解问题;langchain 的 api 改的也很快,比如大佬书里的 initialize_agent 就已经弃用

@hucorz 对于 LangChain 简介LangChain ReAct Agent 这两章,已经完成更新,具体参见:https://github.com/wangwei1237/LLM_in_Action/commit/9d1d1d027e0178a79f90c134522e8b54f604fe53

hucorz commented 10 months ago

@wangwei1237 强,orz 🥺