mindwave / mindwave
Building AI chatbots, agents, and document Q&A in Laravel made easy.
Requires
- php: ^8.1
- ext-zip: *
- guzzlehttp/guzzle: ^7.5
- illuminate/contracts: ^10.0
- openai-php/client: ^0.4.2
- probots-io/pinecone-php: ^0.0.3
- smalot/pdfparser: ^2.5
- spatie/laravel-package-tools: ^1.14.0
- symfony/dom-crawler: ^6.2
- timkley/weaviate-php: ^0.3.0
- wapmorgan/file-type-detector: ^1.1
- yethee/tiktoken: ^0.1.2
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.0
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
This package is auto-updated.
Last update: 2024-04-12 13:23:36 UTC
README
Mindwave: AI Chatbots, Agents & Document Q&A in Laravel Simplified.
WARNING: This package is NOT ready to be used yet!
Please follow @helgesverre for updates, and keep an eye on TODO.md to track progress.
Installation
You can install the package via composer:
composer require mindwave/mindwave
You can publish the config file with:
php artisan vendor:publish --tag="mindwave-config"
What is Mindwave?
Mindwave is a Laravel package that lets you easily build AI-powered chatbots, agents, and document question and answering (Q&A) functionality into your application.
With Mindwave, you can incorporate the power of OpenAI's state-of-the-art language models, Pinecone's vector search capabilities and your own custom "tools" to create intelligent software applications.
Code Example
<?php use Illuminate\Support\Facades\File; use Mindwave\Mindwave\Facades\DocumentLoader; use Mindwave\Mindwave\Facades\Mindwave; use Mindwave\Mindwave\Memory\ConversationBufferMemory; $agent = Mindwave::agent( memory: ConversationBufferMemory::fromMessages([]) ); Mindwave::brain() ->consume( DocumentLoader::fromPdf( data: File::get("uploads/important-document.pdf"), meta: ["name" => "Important document"], ) ) ->consume( DocumentLoader::fromUrl( data: "https://mindwave.no/", meta: ["name" => "Mindwave Documentation"], ) ) ->consume( DocumentLoader::make("My name is Helge Sverre") ); $agent->ask("List the top 3 most important things in 'important document'"); $agent->ask("What is mindwave?"); $agent->ask("What is my name?");
Use Cases
- 💬 Chatbots: Building AI-powered chatbots to provide support to customers.
- 🤖 Agents: Developing intelligent agents to automate tasks within an application.
- ❓ Document Q&A: Creating document question and answering (Q&A) systems to extract insights from text.
Documentation
Full documentation can be found here.
Demo Application
To see a real world example of how the Mindwave package can be used, checkout the
demo application here.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Credits
- Helge Sverre
- Probots.io for the Pinecone PHP Package
- Tim Kleyersburg for the Weaviate PHP Package
- PGVector team for the PGVector PHP package
- Yethee for the Tiktoken PHP Package
- hkulekci for the Qdrant PHP Package
- LangChain for serving as the inspiration
- All Contributors
License
The MIT License (MIT). Please see License File for more information.