23 条回复  ·  2611 次点击
liuchengfeng1 初学 2025-2-20 09:56:43
我也想知道;例如我把我博客文章全部给 ai ,让 ai 根据我给它的数据,每次问它能找到对应的文章。该如何实现?最好能封装一个 api
joyhub2140 初学 2025-2-20 09:57:18
模型貌似是无状态的,可以理解外靠外挂向量数据库来构建每一次的提问。 你每次问之前,外部程序都会先从自己的提问历史结合向量数据库构造出完整的上下文,再打包发给模型。 我之前还想调用 ollama 的 api ,想着应该会有个 token id 之类的,后面发现没有,想维持上下文,得把之前得提问历史也需要一并发过去给模型,相当于模型只是纯思考的机器,上下文还是得靠外部程序来构建。
moyufjm123 小成 2025-2-20 09:57:37
小白问一下,那要是知识库很大,上下文很多,token 岂不是消耗很快?应该涉及多次问答会不会重复发送上下文?
onevcat 初学 2025-2-20 09:58:15
RAG
aloxaf 小成 2025-2-20 10:10:57
嵌入模型是用来把文字转成向量的,这样就可以把文字的相似度匹配转成向量的相似度匹配,这样一来更快,二来还能匹配语义上相似但实际不同的句子。
xwayway 小成 2025-2-20 10:11:33
@moyufjm123 #12 会返回知识库的 top k ,不会整个知识库一起给到大模型
chairuosen 小成 2025-2-20 10:12:21
小白再问一下,大语言模型是基于概率预测的,那即使有知识库,它一定能返回和知识库内容完全一样的结果么?比如让它基于条件选择合适的 row 并把知识库这一行完整返回来
tool2dx 初学 2025-2-20 10:17:47
@chairuosen 我用 deepseek 试过,可以把知识库作为提示词一部分喂给他,基本上回答没啥问题,比别的 AI 模型要聪明。就是比较费 token 。
aloxaf 小成 2025-2-20 10:17:55
@moyufjm123 > 那要是知识库很大,上下文很多,token 岂不是消耗很快? 理论上是的,但是一般来讲,只有被匹配到的一段文本(和它们的上下文)会被发送给 LLM ,而且很多工具只会发送匹配度最高的 N 段文本,当然代价就是准确性降低。 > 涉及多次问答会不会重复发送上下文? 会,但有的模型是支持缓存的,比如 OpenAI 和 DeepSeek 连续对话时会自动缓存上下文,命中缓存就有折扣。不过也有模型比如 Claude 和 Gemini 得手动触发缓存,很多工具压根就没有适配……
tool2dx 初学 2025-2-20 10:21:03
@moyufjm123 如果知识库很大,会改用微调大模型,这方法不合适。这方法就是很消耗 token ,没办法。
返回顶部