微信扫码
与创始人交个朋友
我要投稿
最近帮企业定制了一个langgraph+rag的项目,跟大家简单介绍一下设计架构和具体的应用。如果大家有兴趣,我也可以出一期视频,给大家详细介绍一下。我们会一步步探讨如何构建一个可以控的Agent,以执行RAG任务,并最终展示一个简短的演示。
RAG,全称Retrieval-Augmented Generation,是一种辅助AI语言模型生成基于外部信息文本的方法。在RAG中,我们将数据拆分成多个小块,然后将这些小块嵌入到低维空间并存储在向量存储中。当用户提出查询时,该查询也会嵌入到相同的低维空间,与向量存储中的信息进行比较,从而检索到相关的信息作为上下文,并与查询一起输入到语言模型中,生成基于上下文的最终答案。
智能代理是先进的AI系统,设计用于执行需要连续推理的复杂任务。它们可以预见未来的步骤,记住过去的对话,并使用不同的工具根据情况和需求调整其响应。
控制智能代理的原因在于代理自主性与过程控制之间的权衡。代理的自主性越高,我们对其控制就越少。使用常规代理时,我们无法控制它何时使用工具或以何种顺序使用工具,也无法控制其得出的结论,特别是在处理其内在机制中的幻觉或预训练知识时。然而,通过构建工作流程,我们可以定义解决问题的具体路径,从而对每一步进行全面控制,但这需要量身定制的解决方案,可能耗时且复杂。
在我们的嵌入空间中,嵌入数据的方式使得相似的词汇彼此接近。例如,“国王”和“王后”的距离会比“狗”近。利用这种语义相似性,我们可以在简单的RAG任务中,例如历史事件查询中,检索到相关的上下文并生成答案。
对于更复杂的问题,我们需要不同的方法来构建数据。例如,我们可以使用语言模型生成章节摘要,包含关键点和章节总结,增加找到解决此类问题的可能性。
为了精确处理复杂问题,我们可以建立多个向量存储,例如文本块存储、章节摘要存储和书籍引用存储。
我们需要以下能力:
工具:代理需要具备检索和回答问题的工具。
推理能力:构建解决问题的流程。
过程控制:确保每一步按预期进行。
终止判断:知道何时停止代理的操作。
评估任务表现:评估任务完成的效果。
我们需要三种检索工具:引用检索、章节摘要检索和文本块检索。此外,还需要一种回答工具,用于在中间步骤或最终生成答案时使用已有的上下文。
为了避免预训练模型的偏见,我们可以将问题中的特定实体替换为变量,例如将“关羽是如何打败华雄的?”替换为“X是如何打败Y的?”,构建一般计划后再替换回原始名称。
输入问题并匿名化。
使用计划器构建匿名问题的解决步骤。
去匿名化并分解为检索或回答工具。
任务处理器选择合适的工具进行操作。
根据上下文和计划进行重新规划,直到问题解决或达到终止条件。
我们可以通过以下方法判断何时停止:
每一步询问语言模型当前上下文是否足够回答问题。
直到新信息量低于某个阈值。
限制图的递归次数,如达到100次遍历后停止。
我们可以通过以下指标评估RAG任务的效果:
答案正确性:答案是否事实正确。
忠实度:生成的答案是否基于检索的信息。
答案相关性:答案与问题的相关性。
语义相似度:生成答案与标准答案的语义相似度。
通过结合RAG和智能代理,我们能够解决复杂的任务,尽管可能需要权衡时间和成本,但在解决无法通过其他方法解决的任务时,这种方法具有显著优势。
如果您有任何问题或需要进一步的讨论,请随时联系我。谢谢!
这是设计上的选择,同时检索所有信息可能会导致时间和成本的增加,且不一定需要所有的信息。例如,针对某些特定问题,代理可能只需要引用检索工具。
我们可以使用语言模型作为判断工具,验证生成的答案是否基于原始上下文。
这取决于具体的使用场景。如果现有解决方案无法解决问题,而通过客户支持等方式需要花费数天时间,那么这种方法可以在几秒钟或几分钟内解决,从而节省时间和成本。
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-25
RAG的2024—随需而变,从狂热到理性(下)
2024-11-25
RAG的2024—随需而变,从狂热到理性(下)
2024-11-25
糟糕!LLM输出半截Json的答案,还有救吗!
2024-11-24
解读GraphRAG
2024-11-24
RAGChecker:显著超越RAGAS,一个精细化评估和诊断 RAG 系统的创新框架
2024-11-23
FastRAG半结构化RAG实现思路及OpenAI O1-long COT蒸馏路线思考
2024-11-23
检索增强生成(RAG):解密AI如何融合记忆与搜索
2024-11-23
如何提高RAG系统准确率?12大常见痛点及巧妙解!
2024-07-18
2024-05-05
2024-07-09
2024-05-19
2024-07-09
2024-06-20
2024-07-07
2024-07-07
2024-07-08
2024-07-09
2024-11-06
2024-11-06
2024-11-05
2024-11-04
2024-10-27
2024-10-25
2024-10-21
2024-10-21