当前位置:   article > 正文

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

基于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)
  • 1
  • 2

2、建立索引

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

在这里插入图片描述

3、检索

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

在这里插入图片描述

4、根据Prompt模版生成Prompt

prompt_template = """
已知信息:
__INFO__

用户问:
__QUERY__

请用中文回答用户问题。
"""
prompt = build_prompt(prompt_template, info=search_results, query=user_query)
print("Prompt:\n", prompt)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

在这里插入图片描述

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

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

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

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

在这里插入图片描述

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/746148
推荐阅读
相关标签
  

闽ICP备14008679号