garissman / larachain
larachain
Requires
- guzzlehttp/guzzle: ^7.9
- spatie/laravel-data: ^4.4
Requires (Dev)
- phpunit/phpunit: ^11.3
README
使用 LLM 模型构建的 Laravel 支持产品的聊天机器人。
安装
composer require garissman/larachain
发布
安装后,您应该使用 Artisan 的 vendor:publish 命令发布配置文件。此命令将配置文件发布到您的应用程序配置目录
php artisan vendor:publish --provider="Garissman\LaraChain\LaraChainServiceProvider"
使用 Ollama(免费)
前往 https://ollama.ac.cn/ 并遵循那里的说明
安装后,下载模型,目前与我配合工作的模型是 mistral-nemo,因此运行
ollama pull mistral-nemo
使用 OpenAi(ChatGPT)
只需在 https://platform.openai.com/api-keys 获取您的 API 密钥
并在 .env 文件中设置 OPENAI_API_KEY
创建默认代理
这很重要,因为这样可以给您的聊天机器人赋予个性
php artisan larachain:create_default_agent
安装 Horizon
前往 https://laravel.net.cn/docs/11.x/horizon 并遵循那里的说明,安装后运行
php artisan horizon
安装 Reverb
前往 https://laravel.net.cn/docs/11.x/reverb 并遵循那里的说明,安装后运行
php artisan reverb:start --debug
前往 UI 并与您的机器人进行聊天
现在您已经准备好聊天了
php artisan serve
创建您的工具
现在让我们进行实际的编码,工具是创建此包的原因,它们是由链触发的自定义代码,让 LLM 模型根据该函数的输出进行 RAG。
创建一个继承自 Garissman\LaraChain\Structures\Classes\FunctionContract 的类
例如 Garissman\LaraChain\Functions\ExampleTool
描述是这个函数最重要的部分,它告诉 LLM 何时触发工具调用并开始请求参数
属性是您的工具的参数,它告诉 LLM 参数是什么,也有描述,非常重要。
待办事项
- 创建 Function 命令并使用 RAG 对描述进行操作。
- 创建 Agent 命令并使用 RAG 对上下文进行操作。
- 知识表。
- 测试,没有什么新内容!!!