落地的人工智能 · 进阶
把你的知识接到模型上:不讲大词的检索
一句话: 模型不认识你的文档——你需要为每个问题找出相关段落,并把它们附到提示词里。
四个步骤
切块。按结构切——章节、标题、行——并在每个块里保留文档名和标题路径。随意切分是回答质量差最常见的原因。
建索引。把基于语义的检索和字面检索结合起来,胜过单独使用其中任何一种,在希伯来语和涉及标识符时尤其如此。
检索。要少量相关的块,而不是大量的块。块越多成本越高、越慢,还会带来噪音。
回答。要求模型只依据给定材料回答、引用来源,并在材料里没有答案时明确说出来。
那些坑
检索时忘掉了权限;相互矛盾的文档没有按日期排优先级;本质上是数据查询而不是文本检索的问题;以及没有归一化的希伯来语拼写。
怎么知道它有效
把两个步骤分开度量:正确的块有没有出现在结果里,以及在它出现的前提下——答案准不准。只度量最终结果,说明不了该修哪一环。
深入一层
构建一组问题,每个都有一个已知的正确块,然后度量它出现在前五名里的频率。这是推动大部分改进的那个指标。再加上检索前的问题改写,以及为追问保留上一轮的上下文。