以100倍更便宜的开放模型击败GPT-5.6 Sol的检索
“大多数团队的最佳训练数据就静静地放在他们的数据库中。问题在于将原始数据转化为可用的数据很难,而且让代理能够以规模化的方式便宜地读取、搜索和修改数据需要先进的基础设施。将Castform指向Neon则省去了这两者。”— Ying Hang Seah,Castform联合创始人 一个“优秀的代理”需要在两个领域表现出色: 上下文:我们能否提供找到正确数据的工具? 模型:模型能否决定搜索什么? Neon(Lakebase Postgres)及其新的搜索扩展解决了第一个问题;而Castform解决了第二个问题。 在2022年左右,行业开始全面投入嵌入式搜索。每个数据库提供商都新增了一个,而pgvector则是Neon下载量最高的扩展。 为了给LLM提供上下文,工程师们手工制作了RAG管道,本质上是一种嵌入相似性搜索。 到了2025年,代理的影响开始显现。开发者们开始创建多跳搜索工作流,将大问题拆解为小问题。 检索已从一次性搜索系统转变为代理检索。模型不再只是发出单次查询,而是一个循环中多次规划和搜索。每次循环意味着对前沿模型的另一次调用,增加了每次用户请求的整体成本和延迟。具体来说,一个典型的多轮搜索请求使用gpt-5.6-sol需要超过10秒,并且端到端成本约为$0.03,使其在速度和成本上都不可接受。同时,开放权重的小型模型则便宜100倍。但是,从开箱即用的角度来看,它们的能力却落后于封闭API模型。RL后训练有助于弥合这一差距。在特定任务如搜索中,经过后训练的开源模型可以与前沿模型相匹配并超越,同时每个请求的成本却低得多。这就是我们构建Castform的原因:帮助开发者进行RL后训练模型,而无需关注机器学习和GPU内部细节。我们的目标是使后训练变得与提示工程一样易于接近。 Castform的管道通过Lakebase Search在Neon上运行: Stage:Neon + Lakebase Search Corpus存储:原始文档保存在Neon的Postgres上 合成数据生成:Castform训练管道使用lakebase_text和lakebase_vector来编写训练任务 RL训练:每次推广的搜索工具调用使用Neon上的Lakebase Search 生产推理:最终模型在推理期间使用相同的搜索工具调用 为了有效地进行RL后训练,您需要三个部分:一个任务(例如,回答用户的问题),代理运行的环境(例如,您语料库的搜索工具)和奖励函数(例如,答案是否正确?)。配置好这三部分后,RL后训练就是一个试错循环:模型试图在给定工具的情况下完成任务,奖励函数对尝试进行评分,反馈信号引导模型如何爬坡达到最佳性能。 然而,大多数公司并没有干净的任务和奖励函数数据集可以用于后训练。企业拥有大量专有数据: 内部文档 产品记录 支持文章 客户互动 维基 运营数据库 这些数据包含了代理所需的知识,但将其转换为有效的训练数据集通常需要大量的数据工程和手动标记。这使得许多团队出于两个原因放弃了后训练:“我们没有训练数据。”或“微调太难,并且需要我们没有的基础设施。” Castform同时解决了这两个问题。它将现有的语料库转化为训练任务,然后管理RL循环,教导开源模型如何有效使用这些数据。 有了Castform,您可以将公司的知识库转化为模型: 文档(来自你的数据):通过Navan预订的火车将由GitLab旅行卡支付。火车票必须是标准舱,自预订至少14天。 地面真实(从您的数据推断):火车票必须是标准舱,自预订至少14天。 问题(合成生成):在Navan预订火车旅行时,我需要提前多少时间预定,及我应该选择哪种座位等级? 通过生成的问题回答数据集,Castform允许您通过指定代理可访问的工具和奖励函数来搭建训练运行。奖励函数指定了您希望模型擅长的内容。在我们的例子中,我们希望它能够检索正确的块,引用正确的来源并提供正确的最终答案。 def run_tool (tool, tool_args): """单一工具:对Lakebase的混合搜索。""" if tool == "search": query = tool_args["query"] bm25 = neon.lakebase_text(query, k) vector = neon.lakebase_vector(query, k) return rrf_merge(bm25, vector, k) def reward(trace, ground_truth): """根据真实答案对追踪进行评分。""" answer = parse_trace(trace) retrieval = ... # 它是否检索到了正确的来源 citation = ... # 它是否引用了正确的块 correctness = ... # 它是否得到了正确的答案
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡