本地服务模式的上下文引擎开发
随着ACE的推出,许多上下文引擎开始出现,但目前效果最佳的还是mgrep。不过,使用mgrep的一个主要问题是需要将代码上传到他们的服务器。因此,我决定自己搭建一个类似的本地服务。基于mgrep的架构,我进行了改造,采用了本地服务模式,可以扫描本地项目、分块处理、调用远程模型服务生成嵌入和重排,并将向量数据写入远程向量数据库。这个服务以后端模式运行,并暴露了HTTP API,如/sync、/search和/ask。核心逻辑包括文件内容的智能分块(chunker.ts)、与模型服务端的交互逻辑(models.ts)、与ChromaDB交互的接口(vector-store-chroma.ts)以及处理混合配置(config.ts)。技术栈方面,我使用了TypeScript (Node.js)和Python (FastAPI)作为语言,ChromaDB作为向量数据库,Qwen3系列模型用于嵌入和重排,并使用Docker和Docker Compose进行部署。这个服务不需要GPU也能运行。我参考mgrep写了一个服务页面,可以查看文件数和切片数,但目前与官方的主要差距还在于模型质量上。
评论已关闭