Laravel Tutorials

Ship AI with Laravel: RAG with Embeddings and pgvector in Laravel 13

Published

▶️ Watch the video tutorial (15 minutes)

Our agent can look up orders, classify tickets, and remember conversations. But ask it "what's your return policy for damaged items?" and it makes something up. The agent has no access to our actual policies.

In this episode we give it a searchable knowledge base. Real documentation it can search by meaning.

I start with what embeddings actually are. Text converted into vectors that capture meaning. "How do I return a damaged item?" and "What if my package arrived broken?" use different words but mean the same thing, so their vectors end up close together. That's how semantic search works.

We build a KnowledgeArticle model with a vector column using PostgreSQL's pgvector extension, set up a 1,536-dimension embedding column, and use the Laravel AI SDK's Embeddings facade to generate vectors for each article. An Artisan command seeds eight FAQ articles and generates their embeddings.

For searching we use Laravel 13's whereVectorSimilarTo method. I test it in the browser with a few queries and the right article comes back even when the wording is completely different from what's stored.

Then we wire it into the support agent as a similarity search tool and update the instructions so the agent reaches for the knowledge base on policy questions.

Ask "what's your return policy?" and the answer comes from the actual return policy.

Next episode we use provider-hosted vector stores and the FileSearch tool so the agent can search entire PDFs without us writing the search logic.

⭐ GitHub: https://github.com/harris21/ship-ai-with-laravel

▶️ Watch Episode 5 now →

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
Validate and Convert HEIC Images in Laravel image

Validate and Convert HEIC Images in Laravel

Read article
Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues image

Saga Lara Flow: Durable Workflows and Compensating Transactions on Laravel Queues

Read article
Reject Unexpected Array Keys with Laravel Validation image

Reject Unexpected Array Keys with Laravel Validation

Read article
Major performance improvements & security patches for Filament v4.12 and v5.7! image

Major performance improvements & security patches for Filament v4.12 and v5.7!

Read article
Laravel Boost Project Rules: Teach Agents Your Conventions image

Laravel Boost Project Rules: Teach Agents Your Conventions

Read article
Extract an Image's Dominant Color in Laravel image

Extract an Image's Dominant Color in Laravel

Read article