Rag中如何优化大模型响应延迟

rag系列文章目录


前言

在rag流程中,经常会遇到大模型输出慢的问题,比较影响用户体验。在大模型应用中,如何优化大模型输出性能,减少延迟呢,一般有如下准则。

一、一些优化准则

1、 加速推理

加速推理,可以有效解决输出慢的问题。怎么加速推理呢?

 可以选择量化版的大模型,量化版的大模型,推理速度明显加快
 可以选择同类模型中模型较小的模型,模型小一般推理速度比较快

以上两种方案,提高速度的同时,一般会降低模型的输出质量,在速度优先级高的情况下,可以使用,然后,再通过其他方法优化模型输出质量,比如更详细的prompt。

2、 输出更少的token

减少输出Token数直接减少生成内容的长度,提升速度,可以通过设置限制模型生成的最大 token 数,例如减少生成内容至 50-100 个 token。一般减少50%的输出token,就可以减少50%的延迟。

也可以prompt 明确要求模型生成简洁的回答,例如:
• “用一句话回答以下问题:”
• “生成一个不超过 50 个词的总结。”

3、 输入更少的token

输入更少的token,确实会提高性能,减少延迟,但是这不是一个重要因素,一般减少50%的提示词,才会带来1%~5%的延迟改善。除非输入的长度确实特别长,否则没有必要花费大量精力来减少prompt输入token。

4、 减少请求数

在rag流程中,一般会多次调用大模型,可以考虑将连续多次调用大模型的提示词prompt,修改为一个,这样通过调用一次大模型就可以获取多次调用大模型的结果,结果可以以json格式展示,通过字段获取需要的多个结果。

比如rag流程中,query输入后,需要进行query的意图判断,判断后还需要对query进行改写,如果使用两个提示词prompt,顺序调用就会比较慢,整合为一个prompt,可以一次性获取结果,结果以json格式输出,比如这样定义结果json:{“意图”:“抽取”,“重写问题”:“你好吗”}。

5、 并行

在rag流程中,很多调用大模型的步骤,并不是完全顺序的,此时可以并行调用大模型,这样就不用进行等待,减少延迟。

6、 让用户尽量少等待

Rag整个流程,是比较长的,让客户尽量少等待很重要。可以使用流式输出,一般大模型都是支持的,流式输出可以让用户尽早看到结果。

还可以分步展示结果,比如先识别了意图,然后进行了问题重写,这些在大模型回答之前,均可以展示给用户。例如:大模型流式输出之后,一般还需要对答案进行溯源,这一步比较慢,可以在流式输出之后进行,这样就不会影响客户体验。

7、 不要默认使用大模型

大模型能力很强,但是并不是所有的任务均需要大模型处理,有些使用常规方法会更好。比如对query进行分词,可以使用lucene api进行分词,比大模型分词更高效。

再比如抽取系统,大模型抽取出值之后,还需要对其进行转义,使用大模型对抽取值进行转义,就比较慢,不是特别合适,这里可以使用代码使用一些转义规则,对抽取值进行转义,减轻大模型压力。

总结

以上是几种优化rag流程大模型输出延迟的方案,这些方案的使用成本不同,可以针对具体情况进行使用。

参考

### RAG 大模型与 DEEPSEEK 的介绍、使用及对比 #### 什么是 RAG 大模型RAG(Retrieval-Augmented Generation)是一种结合检索增强生成的技术框架,它通过将外部知识库中的信息引入到大模型中来提升其性能。相比于传统的大规模预训练模型仅依赖于内部参数存储的知识,RAG 能够动态地从外部数据源获取最新和更广泛的信息[^2]。 #### DEEPSEEK 是什么? DeepSeek 是一家专注于开发高效能大型语言模型的企业级解决方案提供商。它的产品线涵盖了多个版本的语言模型,旨在为企业提供定制化服务和支持。这些模型具有强大的自然语言处理能力,在文本生成、对话理解等方面表现出色[^1]。 #### 如何使用 RAG 和 DEEPSEEK? 对于 **RAG**: - 用户可以利用开源工具包如 Hugging Face Transformers 提供的支持实现自己的 RAG 应用程序; - 需要准备一个高质量的文档数据库作为检索部分的数据来源; - 将查询输入传递给编码器以获得向量表示形式,随后基于此执行相似度匹配操作找到最接近的结果条目;最后由解码器综合原始请求以及所选上下文片段完成最终响应构建过程。 关于 **DEEPSEEK** 的部署方法则更加多样化一些: - 开发者可以通过 RESTful API 或 gRPC 接口轻松集成 DeepSeek 模型至现有系统架构之中; - 支持 GPU 加速计算资源调度优化从而满足实时交互需求下的低延迟要求; - 同样允许客户上传私有领域语料用于进一步精调专属版本实例以便更好地服务于特定业务场景目标群体偏好特性分析等工作任务当中去[^3]。 #### 主要区别比较表 | 特性 | RAG | DEEPSEEK | |--------------------|-------------------------------------|--------------------------------------| | 核心理念 | 结合检索机制强化生成效果 | 基础上层建筑均为自主产权研发成果 | | 数据更新频率 | 实时访问外接资料库 | 定期重新训练整体网络权重 | | 自定义程度 | 较高 | 极高 | | 易用性 | 中等难度 | 更加友好 | | 性价比考量因素 | 取决于维护成本 | 初始购置费用 | 以上是从几个维度对两者进行了简单概括说明,具体情况仍需依据实际项目背景条件作出合理判断选择适合的产品方向才是明智之举^。 ```python import requests def call_deeppseek_api(text, api_key="your-api-key"): url = 'https://api.deepsik.com/v1/generate' headers = {'Authorization': f'Bearer {api_key}'} payload = {"prompt": text} response = requests.post(url, json=payload, headers=headers) if response.status_code == 200: result = response.json() return result['text'] else: raise Exception(f"Error calling the API: {response.text}") print(call_deeppseek_api("Tell me about artificial intelligence")) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值