SuperAPI AI 工具集

open-strawberry

open-strawberry 是一个探索如何通过“推理轨迹”(reasoning traces)构建 OpenAI o1 开源版本的概念验证项目,受 OpenAI Strawberry 算法启发而设计。项目旨在利用开源工具与方法,复现一套类似的搜索-生成系统,并通过渐进学习与反复微调来提升模型的推理能力。它支持 Groq、ollama、Anthropic、Gemini、OpenAI、Azure 等多种模型服务,提供 Streamlit 界面和 CLI 操作。项目目前处于早期阶段,主要用于生成特定问题的推理轨迹,并尝试通过 DPO 等偏好微调方法迭代优化模型。该演示展示了简单模型与部分商业模型在特定问题上的推理表现差异,是围绕 o1 推理机制进行开源复现的实验性尝试。

访问官网

工具介绍

用途

open-strawberry 是一个开源概念验证项目,目标是通过构造“推理轨迹”来构建 OpenAI o1 的开源替代版本。项目受 OpenAI 的 Strawberry 算法启发,尝试用开源工具与方法复现类似的搜索-生成系统,以生成和验证训练数据。

主要能力

  • 支持多种模型服务:Groq、ollama、Anthropic、Gemini、OpenAI、Azure。
  • 通过多轮对话生成推理轨迹,引导模型逐步逼近答案。
  • 支持 prompt caching(Anthropic、Google),降低运行成本;vLLM 支持前缀缓存。
  • 提供 Streamlit 应用,方便监控输出。
  • 支持逐步提问模型是否确信答案,若确信则要求其将最终答案放入 <final_answer> 标签,并终止推理轨迹生成。
  • 生成多个推理轨迹,并通过验证系统检查历史记录中的错误。
  • 基于真实标签筛选正确与错误的推理轨迹,应用 DPO 或 NLHF 进行微调,并根据步数调整偏好权重。
  • 通过渐进学习与反复微调,逐步处理更困难的问题。

使用方式

  • 需要 Python >=3.10。
  • 在 .env 文件中填写所需 API 密钥或设置环境变量。
  • 对于 ollama,可使用 OpenAI 服务,设置 OLLAMA_OPENAI_BASE_URL=http://localhost:11434/v1/ 以及 OLLAMA_OPENAI_MODEL_NAME=ollama:mistral:v0.3 或模型列表,然后运行 CLI 或在 UI 中选择模型。
  • 浏览器打开 http://localhost:8501(应自动弹出),选择提示词。
  • 演示地址:https://huggingface.co/spaces/pseudotensor/open-strawberry

适用场景

  • 探索推理轨迹生成与验证方法的研究与实验。
  • 针对具有可验证真实标签的问题进行推理能力训练。
  • 作为开源社区复现 o1 推理机制的起点。

限制

  • 项目处于早期阶段,结果与比较将陆续添加。
  • 演示提示词针对简单模型,即使 sonnet3.5 和 gpt-4o 在标准 CoT 下也无法找到解决方案,仅 o1-mini 或 o1-preview 有时能解出,而代码智能体可轻松解决。
  • 更难的问题仍然难以解决,o1-preview 仅约 50% 成功率(代码智能体约 90%)。
  • 需要用户自行配置 API 密钥;部分模型服务可能需要额外费用(原文未提供具体价格)。
  • 项目为推测性工作,基于 OpenAI 公开信息,与 OpenAI 无关联。
  • 应用 Continue 按钮会保留灰色旧对话,建议干净启动;token 计数仅在点击 Continue 后显示,最好每轮都显示。