HuggingFists-低代码玩转LLM RAG(2) --Query(2)

继上一篇文章我们介绍合并检索语料,使用简单Prompt实现LLM RAG的查询后。HuggingFists又增加了对通义千问的会话访问模式(注:这功能需要等下周发版后才能试用了)。如我们在上篇文章中提到的,当文本非常大时,通过简单Prompt处理检索结果回答问题的方案就无法胜任了。在此,我们给出一个会话模式的检索解决方案。下面是多轮会话模式的实现流程:

问题检索流程图

该流程由7个算子组成,比简单Prompt的流程少了一个聚合算子。其前五步与简单Prompt流程一致,在此我们就不赘述了。下面我们着重介绍一下第6、7两步。

6.大文本大语言模型提示: 该算子支持复杂提示模板,能够将输入的数据流分成多段输出到大语言模型。以下是我们预先预置到HuggingFists提示库中的提示模板,见下图:

复杂提示模板

复杂提示模板分成三段,分别是"前置提示"、"提示"与"后置提示"。当算子从输入端口接到第一条记录时,会用记录中的信息替换"前置提示"中的变量,然后将其作为Prompt输出给大语言模型。同时,会继续使用该记录替换"提示"中的变量,并将其输出给大语言模型;随后,其继续读取输入的记录,替换"提示"中的变量,输出到大语言模型;持续以上过程,直到最后一条记录输入时,算子用这条记录替换"后置提示"中的变量,并将其输出。该算子的变量替换方式与配置方式与上篇文章介绍到的"大语言模型提示"算子一致。配置界面如下图:

大文本大语言模型提示

检索结果

流程执行时,流入该算子的检索结果如上图。根据我们描述的算子工作机制,这两条输入信息最终会生成三条Prompt输出到大语言模型。下面我们看看步骤7的算子,如何接收Prompt,并按我们的预期给出问题答案的。

阿里会话大模型

7.阿里会话大模型:该算子支持了通义千问大模型的多轮会话接口,即每次调用接口时,会将会话过程中的交互记录同步传输给大模型,大模型使用这种短期记忆模式回答相关的问题。很明显,该模式会大量的消耗tokens额度,会超越我们的第一个技术方案,因为每次调用接口都会加上前一次的会话内容,使得请求越来越大。但我们也看到业界有一些缩减会话大小的技巧,在此我们不展开讨论,有兴趣的朋友可以自行查阅。其配置界面如上图,一般情况下只要为其设置通义千问访问账号即可,其它参数缺省不用调整。下面我们看一下其结果输出。

提示与回答

API请求参数

如"提示与回答"图所示,流程输出给通义千问三个Prompt,前两个Prompt大模型按照预期没有回答问题,并确认收到信息。在第三个提示输入后,其按照记忆给出了问题的答案,答案与方案一执行时获得的答案一致,回答成功。那么算子是如何提交会话信息,帮助通义千问实现短期记忆的呢?通过"API请求参数"的图片我们能够看到,历史的会话信息按照API接口的约定,每次都通过messages参数传递给了大模型。每次请求都会多一组上一轮的对话信息。

至此,我们基本介绍完了如何使用HuggingFists落地RAG的场景。留下的如何通过外部调用驱动流程执行的坑,我们将在介绍完如何使用HuggingFists实现Agent后再回来填。

相关推荐
Just Jump2 小时前
大语言模型LLM综述
llm·大语言模型
数据智能老司机6 小时前
LLM工程师手册——RAG 推理管道
人工智能·llm·aiops
ApiHug9 小时前
ApiSmart-QWen2.5 coder vs GPT-4o 那个更强? ApiSmart 测评
java·人工智能·ai·llm·通义千问·apihug·apismart
Hamm11 小时前
先别急着喷,没好用的iOS-Ollama客户端那就自己写个然后开源吧
人工智能·llm·swift
数据智能老司机1 天前
机器学习生产系统——可解释性
人工智能·机器学习·llm
SpikeKing2 天前
LLM - 使用 LLaMA-Factory 微调大模型 Qwen2-VL SFT(LoRA) 图像数据集 教程 (2)
人工智能·lora·llm·sft·多模态大模型·llama-factory·qwen2-vl
字节跳动开源3 天前
最高提升20倍吞吐量!豆包大模型团队发布全新 RLHF 框架,现已开源!
开源·llm·强化学习
kida_yuan4 天前
【从零开始】6. RAG 应用性能压测工具(番外篇)
后端·llm·测试
真忒修斯之船4 天前
大模型分布式训练并行技术(四)张量并行
面试·llm·aigc
Code_Artist4 天前
Spring AI: Make Spring Great Again!设计并实现一款智能Chat Bot!
后端·llm·openai