codeqai简介
codeqai是一个基于向量嵌入和大型语言模型(LLMs)的本地优先语义代码搜索和聊天工具。它能够对代码库进行语义搜索,并提供类似GPT的代码库聊天功能,是一个非常强大的代码分析和理解工具。
主要特性
- 🔎 语义代码搜索
- 💬 与代码库进行GPT风格的聊天
- ⚙️ 轻松同步向量存储和最新代码变更
- 💻 100%本地嵌入和LLMs
- 🌐 支持OpenAI、Azure OpenAI和Anthropic
- 🌳 集成Treesitter
安装指南
codeqai要求Python版本≥3.9且<3.12。推荐使用pipx在隔离环境中安装:
pipx install codeqai --python $(which python)
详细的安装说明和故障排除可以在GitHub仓库找到。
使用教程
- 启动语义搜索:
codeqai search
- 开始聊天对话:
codeqai chat
- 同步向量存储与当前git checkout:
codeqai sync
- 启动Streamlit应用:
codeqai streamlit
配置说明
首次使用时,系统会引导您完成配置过程,选择嵌入模型和LLMs。您也可以运行codeqai config
来手动启动配置过程。
如果使用远程模型(如OpenAI、Azure OpenAI或Anthropic),需要设置相应的环境变量。详细的配置说明可在GitHub文档中找到。
支持的编程语言
codeqai支持多种主流编程语言,包括:
- Python
- TypeScript
- JavaScript
- Java
- Rust
- Kotlin
- Go
- C++
- C
- C#
- Ruby
工作原理
codeqai使用treesitter解析整个git仓库,提取所有方法及其文档,并使用sentence-transformers、instructor-embeddings或OpenAI的text-embedding-ada-002将其保存到本地FAISS向量数据库中。这使得能够基于嵌入模型对代码库进行语义搜索。
对于本地代码库聊天,codeqai使用llama.cpp或Ollama。它还支持使用OpenAI或Azure-OpenAI作为远程聊天模型。
贡献指南
如果您发现bug或有新功能建议,欢迎提issue或PR。贡献指南可在GitHub仓库找到。
相关资源
- GitHub仓库
- PyPI项目页面
- doc-comments-ai - 用于代码文档生成
codeqai是一个强大而灵活的代码分析工具,能够显著提高开发效率。无论您是想深入理解现有代码库,还是寻找特定功能的实现,codeqai都能成为您的得力助手。希望这份学习资料汇总能帮助您快速上手并充分利用codeqai的功能。