RAG - Retrieval Augmented Generation. This is the Jacked initiative for that within the PHP ecosystem.
This solution streams back the text chunks of the response coming from the LLM. There is a WebSocket experiment that accomplishes the same in the branch websocket-experiment.
Sample credentials:
Username: [email protected]
Password: password
Before start you need to make sure you have the following dependencies:
- php8.2 or higher
- php openswoole extension
- docker (for postgres db)
Clone the repository:
git clone https://github.com/Jacked-PHP/insight my-project
Then cd my-project
Install dependencies (php composer and npm):
composer install
npm install
npm run build
(or npm run dev
if you are developing and want the hot reload)
Prepare the database:
docker-compose up -d
Make sure your .env
is properly set:
- have db credentials
- app key (
php artisan key:generate
) - app url (default is
http://localhost:8000
)
Then run the migrations:
php artisan migrate
Run the server (this is running jacked server):
php artisan serve
Now you can visit http://localhost:8000
and see the application running.
The free opensource solution considers the following:
This application uses the following embedding solution:
- ollama embedding model: mxbai-embed-large
To run Ollama, a suggested way would be to run through docker:
docker run -d -v ollama:$HOME/.ollama -p 11434:11434 --name ollama ollama/ollama
Reference: https://github.com/ollama/ollama/blob/main/docs/docker.md