如果你已经付费使用LLM服务,运行本地嵌入模型和重排序模型比运行本地LLM更有用

Reddit r/LocalLLaMA 新闻

摘要

作者认为,对于已经订阅ChatGPT Pro等LLM服务的用户来说,为记忆系统运行本地嵌入模型和重排序模型比运行本地LLM更实用,并详细介绍了他们基于GBrain的配置。

https://preview.redd.it/v0xtn3jdu9ch1.png?width=2047&format=png&auto=webp&s=628a6a541fe5f097d0f771ae0ba3b7f44126198f https://preview.redd.it/vjxiucsdu9ch1.png?width=2047&format=png&auto=webp&s=74f7a18a5a30276e206e2bfb5a0c529826ce86e4 这篇文章最初是用韩语写的,然后通过ChatGPT润色并翻译成英语。 我确实在本地Tesla P40上运行llama.cpp,但作为一个已经付费使用ChatGPT Pro的人,我逐渐失去了继续运行本地LLM(如Qwen 3.6 27B或Gemma 4 31B)的实际理由。如果我想通过类似API的工作流访问OpenAI模型,通常可以直接使用Codex OAuth。但后来我意识到,嵌入模型和重排序模型无法通过Codex以同样的方式访问。这给了我一个更实际的理由来使用本地AI——不仅仅是作为爱好或娱乐,而是作为能够真正提高生产力的工具:为LLM构建一个记忆MCP。使用Codex应用时,在ChatGPT Pro下,我几乎可以无限使用基于GPT的模型,但嵌入模型和重排序模型几乎总是需要付费API使用。因此,我没有专注于运行本地LLM,而是决定在本地使用Qwen3 Embedding 4B和Qwen3 Reranker 4B,通过GBrain构建一个LLM记忆系统。技术栈大致包括llama.cpp、PostgreSQL、pgvector、用于S3 API的Ceph,以及用于以Markdown文件存储记忆的GitLab。工作流如下:当我使用Codex、ChatGPT Web或其他客户端时,任何我明确要求记住的内容,或者系统认为重要的内容,都会通过MCP接口作为Markdown文件保存到GBrain。然后GBrain索引这些文件,为它们生成嵌入,并使用LLM从每个基于Markdown的记忆中提取事实。稍后,当通过MCP发出记忆查询请求时,GBrain首先使用嵌入模型检索可能相关的记忆,然后使用重排序模型将结果缩小到最相关的记忆。我认为这种方法比仅仅将记忆存储为纯Markdown文件更好。通过在顶层放置像GBrain这样的管理层,系统可以从Markdown文档中提取简洁的事实,而不是迫使LLM读取整个文件。同时,由于可以结合使用嵌入和重排序来只呈现实际相关的信息,检索也变得更加准确。另一个对我有用的原因是,我同时使用Codex和ChatGPT Web。如果将GBrain作为应用连接到ChatGPT Web,MCP请求可以与正常的Web风格搜索同时进行。这使得在Codex中完成的工作与ChatGPT Web中的对话之间共享上下文变得容易得多,并且需要我手动干预的次数也少得多。总的来说,我目前的印象是,如果你已经付费使用Codex、ChatGPT或Claude等服务,运行本地LLM可能并不总是本地硬件最高效的用途。相反,运行这些服务不便于提供的模型(如嵌入模型和重排序模型)更有意义。
查看原文

相似文章