赞
踩
业务场景: 有一篇中文论文,结合论文信息和大模型的生成能力,搭建一个RAG模型,向模型提问关于该论文的一些问题,模型给出答案。
技术: elasticsearch/openai/RAG/Prompt/大模型
整体架构: 外部知识库从pdf格式的论文中提取,大模型使用的是kimi,调用kimi api,外部知识以prompt的形式输入大模型,大模型综合用户提问和检索结果,生成答案。
代码地址: https://github.com/wenjunna/ragdemo-01
下面以本人硕士毕业论文做测试。
包括对文本做一些预处理工作
filename = "./data/基于LSTM和启发式搜索的遥感卫星地面站天线智能调度方法研究2020.pdf"
text_list = read_pdf(filepath=filename, min_line_length=10)
index_name = "paper_db_cn" # 索引名称
es = ES(index_name=index_name)
es.add_data_to_es(text_list) # 往索引中添加数据
user_query = "这篇论文中使用的是几层的LSTM?"
search_results = es.search(user_query, 3)
prompt_template = """
已知信息:
__INFO__
用户问:
__QUERY__
请用中文回答用户问题。
"""
prompt = build_prompt(prompt_template, info=search_results, query=user_query)
print("Prompt:\n", prompt)
response = get_completion(prompt)
print("答案:\n", response)
论文《基于LSTM和启发式搜索的遥感卫星地面站天线智能调度方法研究》中使用确实是两层的LSTM。
让大模型完全自由发挥
关于rag资料:
https://github.com/infiniflow/ragflow
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。