Skip to content

RAG使用流程

说明:RAG使用前,先执行一次《后端基本使用》

RAG使用流程

启动项目与ARQ

VSCode中打开两个终端,分别启动项目与ARQ

shell
# 终端1:启动项目:
python main.py

# 终端2:启动异步任务:
arq arq_worker.WorkerSettings

image-20260128113320165

上传文档

文件存储支持多种方式,默认为本地。检查项目配置文件:.env.dev

image-20260128113527218

调用接口上传文件:选择要上传的文件后,点击Execute

image-20260128113634436

上传成功后,存储中会看到文件,数据库中会有记录。

解释文档

文档解析与分块、向量化与存储,这是一个ARQ任务。调用接口:将文档解析与向量存储添加到后台任务队列

  • 填写(已上传的)文档ID

image-20260128113914941

  • 终端中可以看到,已触发ARQ后台任务并处理

image-20260128114051994

(可选)查询向量集合数据条数

解释文档后,向量集合数据条数会增加

image-20260128114236275

查询结果示例

json
{
  "message": "向量集合 default_collection 数据条数获取成功",
  "count": 2
}

RAG查询

调用知识库问答接口,发送请求体

  • model:修改为对应的LLM模型名称。例如使用阿里云百炼云服务时,会提供qwen-maxdeepseek-v3.2等LLM模型
json
{
  "model": "deepseek-v3.2",
  "query": "热门专业top20中,前3名有哪些",
  "kb_ids": [
    1
  ]
}

image-20260128115004453

结果示例

json
{
  "code": 200,
  "message": "success",
  "data": {
    "answer": "热门专业top20中,前3名依次为:  \n1. 电气工程及其自动化  \n2. 软件工程  \n3. 英语",
    "sources": [
      {
        "doc_id": "1",
        "title": "热门专业top20.pdf",
        "chunk_id": "463880404258675137",
        "content": "热门专业 top20, 排名分先后  \n1 、电气工程及其自动化 \n电气工程及其自动化专业是就业的专业之一,就业率高。 \n2 、软件工程专业 \n软件工程专业是就业的专业之一,由于电子产品的普及,这个行业的需求也在增加。软件工程师的工资水平也较高, \n有很高的职位和收入。就业前景广阔。 \n3 、英语 \n根据就业的专业排名榜,英语专业的就业率高达 90.9% 。这是因为英语是一门广泛使用的国际语言,在各个行业和领 \n域中都起着重要的作用。 \n4 、会计学 \n会计学专业培养具备管理、经济、法律和理财、金融等方面的知识和能力 , 能在工商、金融企业、事业单位及政府部 \n门从事财务、金融管理等工作。 \n5 、计算机科学与技术 \n计算机科学与技术是就业的专业之一,其就业率高达 93.9% 。 \n6 、金融学 \n金融学是以融通货币和货币资金的经济活动为研究对象,具体研究个人、机构、政府如何获取、支出以及管理资金以 \n及其他金融资产的学科。 \n7 、电子信息类 \n电子信息类专业是一个朝阳产业 , 未来发展重点在于电子信息产品制造业 , 以及电子航务和互动媒体以及软件工程方面 \n的人才需求量大。 \n8 、医学类 \n医学类专业是目前就业的专业之一,随着人们对药品质量、品种、数量和医疗技术、医疗条件的要求不断提高,医学 \n行业仍然有很大的发展前景。 \n9 、土木工程 \n土木工程专业的就业率很高,在当前和以后的发展中,该专业的需求量还将不断增加。虽然工作环境较为恶劣,但土 \n木工程行业的前景非常广阔。 \n10 、经济类专业 \n根据就业的专业排名榜,经济类专业是其中之一。在金融和财会类等领域,经济类专业培养学生的金融和财会知识, \n毕业生可以从事会计和审计、税务等工作。 \n11 、建筑类专业 \n建筑类专业就业前景非常好,特别是进入建筑行业后,各类建筑工程师的需求量非常大。 \n12 、法学\n\f法学专业的就业率在 75% 至 85% 之间浮动。该专业的就业前景广阔,尤其适合涉外法律人才的需求。 \n13 、计算机专业 \n计算机专业是当前社会热门的专业之一,就业市场趋于饱和,只有技术拔尖的人才才能拿到高薪。 \n14 、农林类专业 \n农林类专业在就业方面表现突出,虽然需求量大,但就业率不高。农林类专业是产业结构的战略性调整,人们对生存 \n环境的重视,使得农林类专业毕业生就业前景广阔。",
        "score": 0.6827777028083801,
        "metadata": null
      },
      {
        "doc_id": "1",
        "title": "热门专业top20.pdf",
        "chunk_id": "463880404258675138",
        "content": "14 、农林类专业 \n农林类专业在就业方面表现突出,虽然需求量大,但就业率不高。农林类专业是产业结构的战略性调整,人们对生存 \n环境的重视,使得农林类专业毕业生就业前景广阔。 \n15 、护理学专业 \n护理学专业就业率高,特别是三甲医院和诊所。虽然工作辛苦,但就业上没有问题。 \n16 、电子商务专业 \n电子商务专业是就业前景比较不错的 10 个专业之一 , 随着人们手机购物的普及 , 电子商务行业的发展空间是巨大的。 \n17 、口腔医学专业 \n口腔医学专业是就业的专业之一,工作轻松,就业率高。 \n18 、财务管理 \n就业的专业排名榜中,财务管理是其中之一。 \n19 、信息安全 \n信息安全是工科类专业,主要学习和研究密码学理论与方法、设备安全、网络安全、信息系统安全、内容和行为安全 \n等方面的理论与技术。 \n20 、水利专业 \n水利专业就业前景不理想,各专业冷热不均。但随着三峡工程等一批大的水利工程上马,水利及其相关的一些专业需 \n求量明显增加。",
        "score": 0.6204738616943359,
        "metadata": null
      }
    ],
    "retrieval_time_ms": 491,
    "rerank_time_ms": 0,
    "generation_time_ms": 1550,
    "total_time_ms": 4347,
    "chain_type": "basic",
    "model_used": "deepseek-v3.2",
    "session_id": null
  }
}

RAG项目设计

本RAG项目中的知识库、文档管理等概念,参考了腾讯IMA产品。可以下载腾讯IMA,加深RAG理解。腾讯IMA下载地址

前端界面设计与实现,也可参考IMA

image-20260223160906512