Chatbots usually depend on predefined questions and keyword matching. Modern AI chatbots can work differently: your application can retrieve relevant information from its own knowledge base and provide that context to an AI model before generating the final answer.
In this tutorial, we'll build the foundation of an AI-powered Laravel chatbot using Laravel 13, Laravel AI SDK, embeddings, PostgreSQL/pgvector, semantic search and Retrieval-Augmented Generation (RAG).
๐ What We Are Building
Our chatbot will follow this workflow:
User Question
↓
Laravel Chat API
↓
Conversation Context
↓
Generate Query Embedding
↓
Vector / Semantic Search
↓
Retrieve Relevant Knowledge
↓
AI Agent / LLM
↓
Context-Aware Answer
↓
Chatbot UI
This approach is commonly called Retrieval-Augmented Generation (RAG).
๐ Table of Contents
- Why Laravel 13 for AI Applications?
- What is Laravel AI SDK?
- AI Chatbot Architecture
- Create the Knowledge Database
- Generate Vector Embeddings
- Implement Vector Search
- Add Conversation Context
- Create the AI Agent
- Create the Chat API
- Build the Chatbot Demo
- Production Improvements
- Frequently Asked Questions
๐ Why Laravel 13 for AI Applications?
Laravel 13 is especially interesting for AI application development because Laravel's ecosystem now provides first-party AI capabilities through the Laravel AI SDK.
The current Laravel AI tooling supports AI agents, provider integrations, embeddings, conversation context, vector search workflows, streaming, tools and vector stores.
This means a Laravel application can keep its normal architecture — routes, controllers, Eloquent models, queues and jobs — while adding AI functionality without building every provider integration from scratch.
- Documentation chatbot
- Customer support assistant
- Course/LMS chatbot
- Product knowledge assistant
- Internal company assistant
- PDF/document question answering
- Semantic knowledge-base search
๐ค What is Laravel AI SDK?
Laravel AI SDK provides a Laravel-friendly API for working with AI providers and AI capabilities.
It supports capabilities including text generation, agents, embeddings, streaming, tools and vector-related workflows.
For example, embeddings can be generated directly from application content:
Embeddings convert text into numerical vectors that can later be compared for semantic similarity.
๐️ AI Chatbot Architecture
A production-ready chatbot should not simply send every user question directly to an AI model.
Instead, we can use the following pipeline:
- User asks a question.
- Laravel receives the request.
- Previous conversation context is loaded.
- The question is converted into an embedding.
- Relevant knowledge is retrieved using vector similarity.
- The retrieved context is provided to the AI agent.
- The AI generates the final answer.
- The conversation is stored for future context.
This makes the chatbot much more useful for application-specific knowledge.
๐️ Create the Knowledge Database
Let's create a simple documents table.
For PostgreSQL with pgvector, your migration can contain a vector column:
The vector dimension must match the embedding model you choose.
Laravel's current documentation supports vector columns and vector indexing for PostgreSQL with pgvector.
๐ง Generate Vector Embeddings
Suppose our knowledge base contains:
Laravel queues allow applications to process time-consuming tasks in the background.
Instead of searching only for exact words, we can create an embedding representing the meaning of that content.
Store that embedding together with the document.
๐ Implement Semantic / Vector Search
Now imagine the user asks:
How can I run long-running Laravel tasks in the background?
The words may not exactly match the stored document, but the meaning is similar.
That is where semantic search becomes useful.
Laravel's current vector APIs provide similarity searching and lower-level vector-distance query methods.
Keyword search: Looks for matching words.
Vector search: Looks for semantically similar meaning.
Hybrid search: Combines keyword and semantic relevance for stronger retrieval.
Laravel Scout's current search capabilities also include semantic and hybrid search workflows, making hybrid retrieval another option for larger applications.
๐ฌ Add Conversation Context
A useful chatbot should understand follow-up questions.
For example:
User: What is Laravel Queue?
Bot: Laravel Queues allow you to defer processing...
User: How do I retry failed jobs?
Bot: Laravel provides failed job handling and retry commands...
The second question depends on the previous conversation.
Therefore, your chatbot should maintain conversation context instead of treating every request as an isolated question.
- Current user question
- Recent conversation messages
- Retrieved knowledge
- User/application context
- System instructions
๐ค Create the AI Agent
Laravel AI SDK provides agent-oriented functionality that can be used to connect the model with application tools and knowledge.
A simplified agent structure could look like this:
The similarity-search tool allows the agent to retrieve relevant documents from your application's knowledge base.
⚡ Create the Chat API
Now create a controller:
A simplified controller can receive the user's message and pass it to the AI layer:
๐งช AI Chatbot Demo
Example questions you can use:
- What is Laravel Queue?
- How does Laravel middleware work?
- What is vector search?
- How does RAG improve an AI chatbot?
- How can I store embeddings in PostgreSQL?
- What is the difference between keyword and semantic search?
๐งฉ How RAG Works in This Chatbot
The complete request can be visualized like this:
Question
↓
Conversation Context
↓
Embedding Generation
↓
Vector Search
↓
Top Relevant Documents
↓
Context Construction
↓
Laravel AI Agent
↓
LLM
↓
Final Answer
The important idea is that the AI model does not need to memorize your private application data.
Instead, Laravel retrieves the relevant information at request time and supplies it as context.
๐ Taking It Further: PDF & Document Chatbot
The same architecture can be extended to uploaded documents.
For example:
- Upload PDF
- Extract text
- Split text into chunks
- Generate embeddings
- Store vectors
- Search relevant chunks
- Send retrieved context to the AI agent
- Generate the answer
This makes it possible to build:
Laravel's AI documentation also supports file-search and vector-store workflows for RAG applications.
๐ Production Improvements
A demo chatbot is only the beginning. For a production application, consider adding:
- Streaming responses for faster perceived response time
- Queue processing for expensive embedding/document jobs
- Conversation storage for persistent history
- Hybrid search for keyword + semantic retrieval
- Reranking to improve retrieved-document relevance
- Similarity thresholds to avoid irrelevant context
- Rate limiting to control AI costs
- Caching for repeated queries
- Access control so users only retrieve authorized documents
- Observability for tracking latency, tokens and retrieval quality
Laravel's AI tooling currently includes streaming, queueing, reranking, tools and testing capabilities that can be used as the application evolves beyond a basic demo.
๐ Important Security Notes
Keep provider credentials inside Laravel's server-side environment configuration and call the AI provider from your backend.
Also validate user input, apply authentication and authorization, rate-limit chatbot requests, and ensure vector retrieval respects the current user's permissions.
❓ Frequently Asked Questions
1. What is RAG?
RAG stands for Retrieval-Augmented Generation. The application first retrieves relevant information and then provides that information to the AI model while generating the response.
2. What is vector search?
Vector search compares embeddings to find content that is semantically similar to a query rather than relying only on exact keyword matches.
3. Can Laravel use PostgreSQL for vector search?
Yes. Laravel's current vector-query support works with PostgreSQL using the pgvector extension.
4. Can I use OpenAI, Anthropic or Gemini?
The Laravel AI SDK provides a unified interface across multiple AI providers, allowing applications to use supported providers without completely rewriting the application architecture.
5. Can this chatbot search PDFs?
Yes. A document pipeline can extract content, generate embeddings and make relevant document sections available to the chatbot.
6. Is vector search better than keyword search?
They solve different problems. Keyword search is useful for exact terms, while semantic search is useful when the user and document use different words but express similar meaning. A hybrid approach can combine both.
๐ฏ Final Thoughts
Laravel is no longer limited to traditional CRUD applications. With Laravel 13 and the Laravel AI ecosystem, developers can build AI-native applications while continuing to use familiar Laravel concepts such as Eloquent, controllers, queues, jobs and application services.
The combination of Laravel AI SDK + embeddings + vector search + conversation context + RAG gives you a strong foundation for building production-grade knowledge assistants.
Ready to build your own Laravel AI chatbot?
Start with a small knowledge base, add semantic search, connect your AI agent, and then expand it into a full document or application assistant.
๐ Try the Chatbot Demo