laravelailabs/file-assistant

使用人工智能与文件进行聊天

0.0.12 2024-01-30 15:24 UTC

This package is auto-updated.

Last update: 2024-09-30 08:18:46 UTC


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

基于AI分析文件并提供查询它们的可能性。

支持我们

如果这对你有帮助,请考虑在 PatreonGithub 上支持我的开发。

演示

仓库: 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个表:conversationsmessagesfilesconversation_files。您可以使用 file-assistant配置 环境变量自由修改它们的名称。使用模型与数据库交互并显示对话的消息。

兼容

  • PDF
  • Word
  • TXT

测试

composer test

变更日志

请参阅 CHANGELOG 了解最近更改的详细信息。

鸣谢

许可

MIT许可(MIT)。请参阅 许可文件 了解更多信息。