Swayam AI Chatbot

Description

Why “Swayam”?

Swayam (स्वयं)—an ancient Sanskrit word meaning “self.” Your content. Your knowledge. Autonomously intelligent.

Swayam AI Chatbot is a WordPress plugin that provides an intelligent chatbot powered by Retrieval-Augmented Generation (RAG) technology. It indexes your WordPress content and uses AI to answer visitor questions based on your actual posts, pages, and custom post types.

Features

  • RAG-Powered Q&A – Answers questions using your actual WordPress content as context
  • Automatic Content Indexing – Syncs posts, pages, and custom post types to a vector database
  • Auto-Sync on Publish – Automatically updates the index when content is published, updated, or deleted
  • Customizable Chat Interface – Use the shortcode or floating widget
  • Admin Dashboard – Easy configuration with connection testing
  • REST API – Programmatic access to the chatbot
  • Rate Limiting – Built-in protection against spam

Shortcode Usage

Embed the chatbot on any page or post:

[swayam_ai_chatbot]

With custom attributes:

[swayam_ai_chatbot title="Ask about our products" placeholder="What would you like to know?"]

External Services

This plugin connects to the following external services:

Ollama (Required)
This plugin requires a running Ollama instance to generate embeddings and chat responses using the Llama 3.2 model.

Ollama runs locally on your server or a server you control. No data is sent to third-party cloud services unless you configure it to connect to a remote Ollama instance.

Elasticsearch (Required)
This plugin requires an Elasticsearch instance to store vector embeddings and perform semantic search.

Elasticsearch can run locally on your server. If using Elastic Cloud, your indexed content will be stored on Elastic’s servers according to their privacy policy.

Data Transmitted
* To Ollama: Post content for embedding generation, user questions for response generation
* To Elasticsearch: Post content, titles, excerpts, URLs, and vector embeddings

Screenshots

  • Admin settings page with Ollama and Elasticsearch configuration
  • Content sync section showing indexed documents
  • Floating chat widget on the frontend
  • Shortcode-embedded chatbot in a page
  • Chat conversation showing RAG-powered responses with sources

Installation

Requirements

  • PHP 8.2 or higher
  • WordPress 6.0 or higher
  • Ollama running locally with Llama 3.2 model
  • Elasticsearch 8.x with vector search support
  • Composer (for dependency installation)

Installation Steps

  1. Upload the swayam-ai-chatbot folder to the /wp-content/plugins/ directory
  2. Navigate to the plugin directory and run composer install to install dependencies
  3. Install and start Ollama with the Llama 3.2 model (ollama pull llama3.2:3b)
  4. Install and start Elasticsearch
  5. Activate the plugin through the ‘Plugins’ menu in WordPress
  6. Go to Settings > Swayam AI Chatbot to configure the plugin
  7. Test connections and sync your content

Setting up Ollama

# Install Ollama (macOS)
brew install ollama

# Or download from https://ollama.com/download

# Pull the Llama 3.2 model
ollama pull llama3.2:3b

# Start Ollama server
ollama serve

Setting up Elasticsearch

# Quick start with Docker
curl -fsSL https://elastic.co/start-local | sh

cd elastic-start-local
./start.sh

FAQ

Does this plugin work with any AI model?

Currently, the plugin is designed to work with Ollama running the Llama 3.2 model. Support for additional models may be added in future versions.

Is my content sent to external servers?

By default, both Ollama and Elasticsearch run locally on your server, so no data leaves your infrastructure. If you configure remote instances, data will be transmitted to those servers.

Can I customize the chat appearance?

Yes, the plugin includes CSS that you can override in your theme. Key CSS variables are available for customization including colors, border radius, and more.

How do I use the chatbot on a specific page?

Use the shortcode [swayam_ai_chatbot] on any page or post. You can also enable the floating widget in settings to show it on all pages.

The chatbot says it cannot find relevant content

Make sure you have synced your content in Settings > Swayam AI Chatbot. Click “Sync All Content” to index your posts and pages.

Connection to Ollama/Elasticsearch fails

If WordPress runs in Docker, use http://host.docker.internal:11434 for Ollama and http://host.docker.internal:9200 for Elasticsearch instead of localhost.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Swayam AI Chatbot” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Swayam AI Chatbot” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.0.0

  • Initial release
  • RAG-powered Q&A with Llama 3.2 and Elasticsearch
  • Shortcode and floating widget support
  • Auto-sync on post publish/update/delete
  • Admin settings page with connection testing
  • REST API endpoint
  • Customizable chat title and placeholder
  • Rate limiting for spam protection