如果把大语言模型比做火药,把人类从“冷兵器时代”带入“热兵器时代”。
那么,会提问能描述清楚需求,就相当于用上了小米加步枪;不会提问和讲不清楚需求,就相当于拿枪托砸人。
整个4月份,我一直在尝试的,是如何在人力资源科技、教育科技和影视等行业用好“小米加步枪”。
直到五一假期,看了吴恩达面向开发者的「提示工程课」和徐文浩同样面向开发者的「AI应用开发课」。
我才意识到,市面上早就有大量的“机关枪”和“狙击枪”了,只不过之前我作为非开发人员看不见,或者有意无意地选择了视而不见。
今天,我就从第一次了解大语言模型的“机关枪”用法的民兵的角度,为自己和大家介绍一下我眼中的「我擦,ChatGPT还可以这么干,我怎么就没想到呢」
一、通过合理使用Completion 和 Embedding俩接口,完成各种各样复杂的任务。
1、通过提示语(Prompt)里包含历史的聊天记录,让 AI 根据上下文正确地回答问题,再也不怕ChatGPT记不住之前提过的关键信息了;
2、通过将 Embedding 提前索引好存起来,让 AI 根据外部知识回答问题,再也不怕ChatGPT胡言乱语了;
3、通过多轮对话,将 AI 返回的答案放在新的问题里,让 AI 帮我们给自己的代码撰写单元测试。
生成整套测试代码的过程里,我们不需要人工地复制粘帖任何内容,全都是代码自动完成的,可以做到一个“自动档”的过程。
二、通过 LangChain 这个 Python 包,把一个通过自然语言多轮调用才能解决的问题,变成了一个函数调用。
1、LLMMathChain 能够通过 Python 解释器变成一个计算器,让 AI 能够准确地进行数学运算,再也不怕ChatGPT算错数了。
2、TransformChain 能够让我们根据自己的要求对数据进行处理和转化,我们可以把 AI 返回的自然语言的结果进一步转换成结构化的数据,方便其他程序去处理。
3、VectorDBQA 能够完成和 llama-index 相似的事情,只要预先做好内部数据资料的 Embedding 和索引,通过对 LLMChain 进行一次调用,我们就可以直接获取回答的结果。
4、将 Agent、Memory、VectorStore、LLMChain 组合在一起的过程,创建一个有完整电商客服功能的聊天机器人:
*查询自己商品库里的商品信息,为用户做亲切而高效的导购和推荐;
*查询订单的物流轨迹,对买了东西还没有收到货的用户给出安抚和回复;
*当用户问到退货政策、运费、支付方式等问题的时候,可以从 FAQ 里面拿到对应的答案,回复给用户。
———
以上,就是我作为一个非开发者看到的ChatGPT升级为“机关枪”过后的威力。更妙的是,两门课都给出了具体的代码,直接在我现在的破电脑上就能跑。
5月开始,争取扛起“机关枪”,用好Completion、Embedding俩接口和LangChain 这个 Python 包。
不再继续因为「会通过Chat GPT的Web用户界面完成特定的、一次性的任务」而沾沾自喜,争取发挥好API接口和LangChain的潜力。