laravelailabs / file-assistant
使用人工智能与文件进行聊天
0.0.12
2024-01-30 15:24 UTC
Requires
- php: ^8.1
- adrianmtanase/laravel-vector-store: ^0.0.24
- illuminate/contracts: ^10.0
- illuminate/filesystem: *
- openai-php/client: ^0.8.2
- phpoffice/phpword: ^1.2
- smalot/pdfparser: ^2.8
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- phpunit/phpunit: ^10.5.3
- vlucas/phpdotenv: ^5.6@dev
README
基于AI分析文件并提供查询它们的可能性。
支持我们
如果这对你有帮助,请考虑在 Patreon 或 Github 上支持我的开发。
演示
仓库: LaravelAILabs/file-assistant-demo
URL: https://file-assistant.laravelailabs.com
安装
您可以通过composer安装此包
composer require laravelailabs/file-assistant
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="file-assistant-config"
设置
目前使用 Pinecone.io 作为向量数据库和 OpenAI 作为LLM。计划使其能够使用任何LLM,以及任何在 Laravel Vector Store 中实现的向量数据库。
将以下机密信息添加到您的 .env
VECTOR_STORE_PINECONE_API_KEY=YOUR_PINECONE_API_KEY VECTOR_STORE_PINECONE_ENVIRONMENT=YOUR_PINECONE_ENVIRONMENT FILE_ASSISTANT_OPENAI_API_KEY=YOUR_OPENAPI_KEY FILE_ASSISTANT_PINECONE_DATASET=YOUR_PINECONE_INDEX_NAME
您可以在 OpenAI API Key 这里找到。
用法
1. 开始新的对话
$dialog = FileAssistant::addFile('PATH_TO_YOUR_FILE') ->addFile('PATH_TO_YOUR_SECOND_FILE') ->initialize(); echo $dialog->prompt('What is this document about?')
2. 继续对话
$dialog = FileAssistant::setConversation(Conversation::find(1)) ->setUser(Auth::user()) ->initialize(); // grab the conversation and display the messages /** * @var \LaravelAILabs\FileAssistant\Models\Conversation $conversation */ $conversation = $dialog->getConversation(); foreach ($conversation->messages as $message) { echo sprintf('%s: %s <br>', $message->role, $message->content); } echo $dialog->prompt('Where did we leave off?')
3. 抓取消息并显示
该包创建了3个表:conversations
、messages
、files
、conversation_files
。您可以使用 file-assistant配置 环境变量自由修改它们的名称。使用模型与数据库交互并显示对话的消息。
兼容
- Word
- TXT
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
鸣谢
许可
MIT许可(MIT)。请参阅 许可文件 了解更多信息。