项目简介:Laragenie
什么是Laragenie?
Laragenie是一个运行在Laravel应用程序中的命令行AI聊天机器人。它可以通过几个简单的步骤,读取和理解你任何代码库,帮助你更好地管理和理解项目代码。
功能特点
- 开发者入职培训:帮助新开发者快速熟悉项目代码,高效融入团队。
- 开发支持:为初级和高级开发者提供代码理解支持,避免了繁琐的多次面对面沟通,使得团队协作更加高效。
- 灵活的文件索引:不局限于Laravel项目文件,你可以索引任何语言的代码库,甚至是非代码文件。
操作步骤
- 设置环境变量:配置OpenAI和Pinecone
- 发布并更新Laragenie配置
- 索引项目文件或目录
- 提问并获取AI解析结果
使用场景
- 无论是单一的Laravel项目还是更大规模的monorepo,Laragenie都可以灵活地工作。
- 通过命令行工具,开发者可以快速索引文件,并从存储的数据库中获取相关信息进行查询。
安装与配置
-
安装:通过composer命令安装
composer require joshembling/laragenie
-
配置文件发布和数据库迁移
php artisan vendor:publish --tag="laragenie-migrations" php artisan migrate
-
发布配置文件
php artisan vendor:publish --tag="laragenie-config"
使用方法
设置OpenAI和Pinecone
- 需要创建OpenAI账号以生成API密钥,并配置到
.env
文件中。OPENAI_API_KEY=your-open-ai-key
- 创建Pinecone账户并相应配置API密钥。
命令行运行Laragenie
在Laravel项目的根目录下运行以下命令:
php artisan laragenie
可选择的操作包括:提问、索引文件、删除索引文件等。
提问功能
在文件索引完毕后,你可以利用索引好的数据库提出任何关于代码库的问题。还可以在生成的回答后查看回答的成本(成本记录在数据库中,如果开启了迁移功能的话)。
强制AI重新生成回答
如果对某个回答不满意,可以在问题末尾添加--ai
标志来强制AI重新生成回答。
索引文件
通过更新Laragenie配置文件中的directories
或files
数组,运行"Index Files"命令可重新索引文件,确保Laragenie保持最新。
删除索引文件
提供删除某些指定文件或整个数据库索引的功能,请小心操作,以免误删不可恢复的数据。
停止Laragenie
可通过以下方法停止Laragenie的运行:
- 使用快捷键
ctrl + c
(Linux/Mac系统) - 选择菜单中的"不,谢谢,再见"
调试
确保.env
文件中的API密钥正确配置,出现错误提示时尝试清除缓存和配置:
php artisan config:clear
php artisan cache:clear
更多信息
了解所有更改信息,请查阅变更日志(CHANGELOG)。
贡献人员
感谢所有为Laragenie项目作出贡献的开发者,包括Josh Embling。
授权协议
此项目采用MIT开源许可证。