查询专业资料,构建json文件,作为问答机器人的专业知识参考。
import utils
context_list=[]
import json
with open('./dataset/trainText.json','r',encoding='utf-8' as fp:
data = json.load(fp)
for line in data:
line = (line["context_text"])
context_list.append(line)
query = "小朋友发烧应该用什么药"
sim_results = utils.get_top_n_sim_text(query=query,documents=context_list)
print(sim_results)
使用LangChain完成Prompt工程:
llm = llm_chatglm_ChatGLM()
from langchain.prompts import PromptTemplate
prompt = PromptTemplate(
input_variables=["query","document"],
template="你是一名专业医务人员,你会认真根据你所学的知识回答医学问题,认真回答{query}这个问题,也可以参考对应的文献资料:{document}",
)
from langchain.chains import LLMChain
chain = LLMChain(llm=llm,prompt=prompt)
result=(chain.run({"query":query,"document":sim_results}))
print(result)
上面的代码中,受限通过数据读取函数,完成所需数据的读取。根据用户提出的查询内容,利用算法找到与之最近似的答案,最后将挑选后的答案连同原始查询问题一同输入LLM终端,通过LLM终端的强大处理能力和深度学习能力,生成最终的精准答案。