问:小米的董事会有哪些人
GPT:(从 embedding 中搜索结果并总结)有雷军,张三,李四
问:谁是美国人
在第二个问题里面,实际上我希望限定的范围是『雷军、张三、李四』这三个人。然后到向量数据库中搜索这三个人里面谁是美国人。
但由于 Embedding+向量数据库搜索这个过程是不支持上下文的,它不知道应该从上一个问题的答案中找范围。导致最终出来的结果是向量数据库里面记录的所有美国人。
我也尝试过中间加一层,额外多请求一次 GPT ,让 GPT 根据上下文修改用户的问题,让它变得具体一些。但尝试过各种 Prompt ,GPT 都没有办法把问题改成:"雷军、张三、李四中,谁是美国人"。
针对这个问题,大家有什么解决办法吗?因为是 toC 产品,我们没有办法强迫用户把问题写得具体一些。