发布于 

图解:私有知识库LLM聊天机器人

原文:LLM based Chatbot to query Private Knowledge Base

LLM based Chatbot to query Private Knowledge Base
LLM based Chatbot to query Private Knowledge Base
  1. 将整个知识库的文本语料分割成多个块——每个块表示一个可查询的上下文片段,知识数据可以来自多个源;
  2. 用嵌入(Embedding)模型将每个块转换为一个向量;
  3. 将所有向量存储在向量数据库;
  4. 分别保存表示每个嵌入向量的文本,同时保存指向该向量的指针。
  5. 使用与嵌入知识库本身所使用的相同的嵌入模型,将要提问的问题/查询进行嵌入,转换成向量;
  6. 使用生成的向量在向量数据库的索引中运行一个查询。选择要从向量数据库中检索多少个向量 - 这将等于您将要检索和最终用于回答查询问题的上下文数量;
  7. 向量数据库对所提供的向量执行近似最近邻(ANN)搜索,并返回之前选择的上下文向量的数量。该过程返回在给定的嵌入/潜空间中最相似的向量;
  8. 将返回的向量嵌入映射到对应的文本块;
  9. 将问题与检索到的上下文文本块一起传给LLM(大语言模型),通过提示指示LLM仅使用提供的上下文来回答给定的问题。这并不意味着不需要进行提示工程 - 需要确保LLM返回的答案符合预期的范围,例如,如果在检索到的上下文中没有可用的数据,则确保不提供虚构的答案。