Project Icon

RepoAgent

基于大型语言模型(LLM)开发的自动化代码库文档管理系统

RepoAgent是一个基于大型语言模型(LLM)开发的自动化代码库文档管理系统。它能够实时监测Git仓库的更新,自动解析代码结构并生成相应的文档,极大减少了手动编写文档的需求,有效提高了开发效率和项目可维护性。

RepoAgent 项目介绍

项目背景

在计算机编程的领域中,项目文档的详细说明至关重要。每个Python文件的详尽解释为理解、维护和提升代码库的能力奠定了基础。这些文档提供了代码的必要背景和理由,使现有和未来的开发者能够更容易地理解软件的目的、功能和结构。对于小团队来说,这种工作往往因为缺乏专职人员而变得十分困难。然而,随着大语言模型(LLMs)如GPT的引入,AI能够接管大部分文档编写工作,极大地减少了人工的负担。

RepoAgent的目标是创建一个智能文档助手,帮助人们阅读和理解代码库,并生成文档,最终提升效率,节省时间。

功能特色

  • 自动检测Git仓库的变化:能够追踪文件的增加、删除和修改。
  • 代码结构分析:通过AST独立分析代码结构,为单个对象生成文档。
  • 双向调用关系识别:准确识别对象之间的双向调用关系,丰富文档内容的全局视角。
  • Markdown内容替换:根据变化无缝替换Markdown内容,保持文档一致性。
  • 多线程并发操作:提高文档生成的效率。
  • 团队协作的自动化文档更新:提供可持续的自动化文档更新方式。
  • 代码文档展示:通过项目文档书籍等方式(由Gitbook支持)展示代码文档。

快速开始

安装方法

推荐使用pip

用户可以直接通过pip安装repoagent包:

pip install repoagent
开发环境设置

如果希望参与贡献或者设置开发环境:首先,需要安装PDM,并克隆RepoAgent库,接着使用PDM初始化虚拟环境并安装依赖。

配置RepoAgent

在配置RepoAgent前,请确保OpenAI的API已在命令行中作为环境变量配置:

export OPENAI_API_KEY=YOUR_API_KEY # 在Linux/Mac上
set OPENAI_API_KEY=YOUR_API_KEY # 在Windows上
$Env:OPENAI_API_KEY = "YOUR_API_KEY" # 在Windows的PowerShell上

使用repoagent configure命令进行运行参数的修改,包括项目路径、文档文件夹名称、线程数量、文档语言等。

运行RepoAgent

在RepoAgent的根目录,使用以下命令生成或更新文档:

repoagent run

该命令支持多种可选标志参数,可以覆盖配置中的默认值,比如选择模型、设置生成温度、请求超时时间等。

使用示例

首次为目标仓库生成文档时,RepoAgent会自动创建一个存储全局结构信息的JSON文件,以及一个用于存储文档的Markdown_Docs文件夹。

RepoAgent还提供了一些实用命令,比如清除缓存、打印解析的仓库结构、以及检测代码变动所需更新的文档等。

展望未来

RepoAgent未来计划增加自动生成README.md、多编程语言支持以及本地模型支持等功能。

已经使用RepoAgent的案例

RepoAgent已经被多个项目采用,其中包括MiniCPM、ChatDev、XAgent以及EasyRL4Rec等项目。

引用

如果您在科研工作中使用了RepoAgent,请按如下方式引用:

@misc{luo2024repoagent,
      title={RepoAgent: An LLM-Powered Open-Source Framework for Repository-level Code Documentation Generation}, 
      author={Qinyu Luo and Yining Ye and Shihao Liang et al.},
      year={2024},
      eprint={2402.16667},
      archivePrefix={arXiv},
      primaryClass={cs.CL}
}

通过使用RepoAgent,用户不仅可以提高自身的工作效率,也能更好地与团队合作,同时也期待用户能在更多科学的自动化技术写作上有所探索和贡献。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号