AGI大模型(16):向量检索之基于向量检索的RAG实现
之前关键词搜索已经讲解了搜索代码,下面在搜索代码的基础上进行修改。
1 添加RAG方法
代码如下:
class RAG_Bot:def __init__(self, vector_db, llm_api, n_results=2):self.vector_db = vector_dbself.llm_api = llm_apiself.n_results = n_resultsdef chat(self, user_query):# 1. 检索search_results = self.vector_db.search(user_query, self.n_results)search_results = "".join(search_results['documents'][0])# print(search_results)prompt_template = f"""你是一个问答机器人。你的任务是根据下述给定的已知信息回答用户问题。确保你的回复完全依据下述已知信息。不要编造答案。如果下述已知信息不足以回答用户的问题,请直接回复"我无法回答您的问题"。已知信息:{search_results}用户问: