作者回复: 对,其实都是和 ReAct 以及 MRKL 这两片论文的思路一脉相承的。其实看过点Langchain源码看那个基本上立刻就能想明白那个可以怎么做到。
作者回复: 👍,我其实就是想要大家 1. 理解这件事情是通过Prompt来解决 2. 去看一下Langchain的文档,看看怎么根据自己的需要修改Prompt
作者回复: 1. 这个肯定不适合用embedding,简单的数据库SQL就可以了 2. 这个应用涉及到PII这样的个人隐私信息,不要做,容易违法
作者回复: 其实比调度者更加“高级”,你可以认为我们其实是通过提示语,让ChatGPT模拟人思考问题的过程
作者回复: 可以去看一下对应文档,通过 ai_prefix 的参数来操作,而不需要整个PromptTemplate重写。
作者回复: 欢迎宣传转发给你的朋友们😊
作者回复: 那就用一个前两讲介绍过的 SequentialChain 作为LLMChain呀。Tool封装一下这个SequentialChain的LLMChain就好了。
作者回复: 有个地方代码贴错了,编辑稍后会帮忙修正。Prompt没有更正之前是 @tool("Search Order") def search_order(input:str)->str: """useful for when you need to answer questions about customers orders""" if input.strip() == ORDER_1: return json.dumps(ORDER_1_DETAIL) elif input.strip() == ORDER_2: return json.dumps(ORDER_2_DETAIL) else: return f"对不起,根据{input}没有找到您的订单"
作者回复: 对,第一步是ZeroShot的。但是给出几个例子在整个场景的帮助可能有限,因为整个Template的Prompt里核心还是 Input,Action Input,Action Thought,Obersavation的链路。 不过都值得动手在自己的场景试一下,因为LLM对于Prompt目前还是比较敏感的,不同Prompt的效果差异还是比较大的。
作者回复: ChatGLM的推理能力如果是 6B 的版本的话,目前还没有那么强。 对于需要相对复杂推理能力的,目前看起来还是需要 openai 或者在 llama 比较大的模型上微调才能有一定效果