首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >本地文件与RAG技术:助力AI问答升级

本地文件与RAG技术:助力AI问答升级

作者头像
小博测试成长之路
发布2025-02-19 22:42:30
发布2025-02-19 22:42:30
2290
举报
文章被收录于专栏:软件测试学习软件测试学习

当我们问ai一些专业术语或者公司的一些特定的名词之类的相关信息时,AI就算能联网搜索,往往给出的回答也不尽如人意,在这个基础上,运用RAG技术就可以有效的解决这一问题:

核心代码如下:

要在本地运行代码,需要在本地安装嵌入模型。嵌入模型的作用是把文本转换为向量数据(embedding),便于进行之后基于向量相似度的检索。LlamaIndex支持很多调用嵌入模型的方式,大家可以看看官网的介绍:

https://docs.llamaindex.ai/en/stable/api_reference/embeddings/ 这里我们在本地使用nomic-embed-text模型:

代码语言:javascript
复制
ollama pull nomic-embed-text:latest

如果不下载这个模型的话,运行代码会报下面的错:

至于ollama 怎么安装和下载可以参考文章:Ollama搭配DeepSeek,本地部署全攻略

接下来我们运行代码提问:

注意事项:

1、在 LlamaIndex 中,通过嵌入模型解析文件后的结果通常是嵌入向量的形式,把文本信息转换为了数字:

提问时将问题转换为数字,再去与知识库中的数字进行匹配,返回相似度匹配比较高的

2、 LlamaIndex 中用于处理索引数据的几个不同方法的区别

在LlamaIndex中,index.as_retriever()、index.as_query_engine() 和 index.as_chat_engine() 是三种不同功能的接口,分别用于检索、问答和对话交互。以下是它们的区别:

1. index.as_retriever()

  • 功能:创建一个检索器(Retriever),用于从索引中检索与查询相关的节点或文档。只从索引中检索,不会调用大模型
  • 特点
    • 专注于检索阶段,不涉及后续的响应合成。
    • 配置简单,主要围绕检索模式(如向量相似性、关键词匹配等)和检索参数(如检索数量、相似性阈值等)。
  • 适用场景:适用于需要快速检索相关数据的场景,例如在大规模数据集中快速找到与问题最相关的文档。

2. index.as_query_engine()

  • 功能:创建一个查询引擎(Query Engine),用于基于自然语言查询生成完整的回答。先从as_retriever里面拿到检索结果,再一起传给大模型进行结果获取。
  • 特点
    • 结合了检索器和响应合成器(Response Synthesizer),能够对检索到的数据进行进一步处理和合成。
    • 支持多种配置选项,如响应模式(tree_summarizecompact 等)、流式输出等。
  • 适用场景:适用于需要生成完整回答的场景,例如问答系统。

3. index.as_chat_engine()

  • 功能:创建一个聊天引擎(Chat Engine),用于与数据进行多轮对话交互。
  • 特点
    • 支持上下文记忆,能够根据对话历史回答问题。
    • 提供多种对话模式,每种模式适用于不同的对话场景。
    • 支持流式输出和异步交互,适合动态对话场景。
  • 适用场景:适用于需要多轮对话的场景,例如聊天机器人、客服机器人等。

总结

  • index.as_retriever():适用于快速检索相关数据,不涉及后续处理。
  • index.as_query_engine():适用于生成完整回答的问答场景,支持多种配置。
  • index.as_chat_engine():适用于多轮对话场景,支持上下文记忆和动态交互。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-02-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小博测试成长之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. index.as_retriever()
  • 2. index.as_query_engine()
  • 3. index.as_chat_engine()
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档