CrossCoder 是什么?跨仓库图检索的代码生成框架

solis-team/CrossCoder · GitHub
AI 编程
Star134
近 7 天新增0
编程语言Python
开源协议MIT
创建于2026-08-24
最近更新2026-09-10

中文导读

CrossCoder 关注仓库级代码生成中外部依赖 API 难以被正确使用的问题。它把目标仓库和外部库放进同一张知识图谱,通过规划与语义检索找到关键节点,再扩展邻居节点获取多跳上下文,让生成结果同时兼容仓库和依赖环境。项目还提供 VersionExec 基准,用于检验代码在不同依赖版本下的表现。适合研究代码生成、检索增强和图谱方法的开发者参考与复现。

根据 GitHub 公开数据,该项目的编程语言为 Python,开源协议为 MIT,创建于 2026-08-24,最近更新于 2026-09-10,目前有 134 个 Star。

项目介绍

CrossCoder 是一个面向仓库级代码生成的跨仓库检索框架,论文被 EMNLP 2026 Findings 收录。它针对现有检索方法只从本地仓库取上下文、外部 API 依赖模型预训练知识、且多聚焦单跳证据的问题,构建了覆盖仓库与库实体的统一知识图谱。

框架先通过规划与语义检索定位重要节点,再有选择地扩展邻居节点,获取多跳上下文证据用于生成。项目同时提出 VersionExec,一个基于 BigCodeBench 的执行式基准,用于评估不同依赖版本下的生成兼容性。

在 RepoExec、DevEval 和 VersionExec 上的实验显示,CrossCoder 提升了功能正确性(pass@1 最高提升 6.3%)以及对依赖版本变化的鲁棒性。代码使用 Python 3.13,依赖 Fireworks API 调用模型。

主要功能

适合谁用

适合研究仓库级代码生成、检索增强生成(RAG)与代码图谱的科研人员和工程师,以及需要评估依赖版本兼容性的开发者。

快速上手

  1. 创建环境:conda create -n crosscoder python=3.13.7 && conda activate crosscoder && pip install -r requirements.txt
  2. 解压数据:unzip data.zip -d .
  3. 设置 Fireworks 凭据:export FIREWORK_API_KEY=<your_fireworks_key> 和 export FIREWORK_BASE_URL=https://api.fireworks.ai/inference/v1
  4. 构建图:bash src/graph_builder/parser/run.sh --dataset <RepoExec|DevEval|versionexec_old|versionexec_new>
  5. 加载样本并生成:python src/load_benchmark.py --benchmark <benchmark> --extend True --model <model>,随后运行检索与生成脚本

Star 增长趋势

134134 · 2026-10-14 至 2026-10-16

同类项目

拦截并压缩命令行输出,减少 AI 编程代理的 token 消耗
★ 8.4万 · Rust · 更新于 2026-10-15
精选 Claude Code 资源与工具的中文导航清单
★ 5.6万 · Python · 更新于 2026-10-15
为 AI 编码代理提供可搜索、可验证的技能库与本地控制平面。
★ 4.8万 · Python · 更新于 2026-10-15
用确定性工具验证 AI 的每一条声明,防止幻觉
★ 1,297 · Python · 更新于 2026-10-01
通过复查、修复、再检查降低编码代理失败率的技能
★ 1,201 · JavaScript · 更新于 2026-10-04
收录免费 AI Coding 中转与公益站的导航合集
★ 1,060 · JavaScript · 更新于 2026-10-15