基于RAG的论文信息检索(1)-term召回

业务场景: 有一篇中文论文,结合论文信息和大模型的生成能力,搭建一个RAG模型,向模型提问关于该论文的一些问题,模型给出答案。
技术: elasticsearch/openai/RAG/Prompt/大模型
整体架构: 外部知识库从pdf格式的论文中提取,大模型使用的是kimi,调用kimi api,外部知识以prompt的形式输入大模型,大模型综合用户提问和检索结果,生成答案。
代码地址: https://github.com/wenjunna/ragdemo-01
下面以本人硕士毕业论文做测试。

一、使用RAG,添加外部知识库

1、读取pdf

包括对文本做一些预处理工作

filename = "./data/基于LSTM和启发式搜索的遥感卫星地面站天线智能调度方法研究2020.pdf"
text_list = read_pdf(filepath=filename, min_line_length=10)

2、建立索引

index_name = "paper_db_cn"  # 索引名称
es = ES(index_name=index_name)
es.add_data_to_es(text_list)  # 往索引中添加数据

在这里插入图片描述

3、检索

user_query = "这篇论文中使用的是几层的LSTM?"
search_results = es.search(user_query, 3)

在这里插入图片描述

4、根据Prompt模版生成Prompt

prompt_template = """
已知信息:
__INFO__

用户问:
__QUERY__

请用中文回答用户问题。
"""
prompt = build_prompt(prompt_template, info=search_results, query=user_query)
print("Prompt:\n", prompt)

在这里插入图片描述

5、调用大模型,参考检索结果,生成问题答案

response = get_completion(prompt)
print("答案:\n", response)

在这里插入图片描述
论文《基于LSTM和启发式搜索的遥感卫星地面站天线智能调度方法研究》中使用确实是两层的LSTM。

二、使用RAG,提问和我上传的这篇论文无关的问题

在这里插入图片描述

三、不使用RAG,提问和这篇论文相关的问题

让大模型完全自由发挥
在这里插入图片描述

关于rag资料:
https://github.com/infiniflow/ragflow

  • 34
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值