=== AI Search === Contributors: samuelsilvapt Tags: search, AI, OpenAI, WordPress Tested up to: 6.8 Stable tag: 1.6.3 Requires PHP: 8.0 License: GPLv2 Replaces the default search with an intelligent search system provided by an AI service. --- == Description == AI Search for WordPress enhances the search experience by: - Replacing the default WordPress search with an AI-powered intelligent search system. - Generating embeddings for posts using OpenAI’s `text-embedding-3-small` model via an external Node.js service (Open AI account isn't necessary). - Managing embeddings centrally with per-origin quota control. - Caching results locally using WordPress transients. - Ranking posts based on similarity using cosine similarity metrics. ## Features - **Intelligent Search**: AI-powered context inference. - **Remote Embedding Service**: Embeddings stored in a central MySQL database through a Node.js API. - **Admin Settings**: Manage global token and service URL. - **Bulk Embedding Generation**: Generate embeddings for multiple posts or custom post types. - **Caching**: Local transient caching. == Installation == 1. Install and Activate the plugin through the 'Plugins' menu in WordPress. 2. Go to **Settings > AI Search** and configure what you need. 3. Run **Bulk Embedding Generation** via admin panel (the current posts have to be regenerated). ## Usage - Simply use the default WordPress search, and AI Search will enhance it. - Manage your OpenAI API key and plugin settings via the **Settings > AI Search** menu. == Frequently Asked Questions == ### What is required to use AI Search for WordPress? If you want to use the service we provide: nothing. If you want to use your own Open AI key, you'll need that. ### How does this plugin work? The plugin uses OpenAI’s `text-embedding-3-small` model to generate embeddings for your content. When users search, it matches the query embedding with post embeddings in the database for more relevant results. ### What happens if the OpenAI API fails? The plugin handles API errors by logging them and reverting to the default search query. == External Service == This plugin connects with: - OpenAI Embeddings API: https://platform.openai.com/docs/guides/embeddings - Custom Node.js Embedding Service Please read more here: https://platform.openai.com/docs/guides/embeddings == Changelog == = 1.6 = - Replaced internal embedding storage with external service integration. - Token-based authentication per origin. - Restore original search in case there isn't any AI results - Solve fatal errors in case the vectors don't have the same size = 1.5 = - Bulk embedding generation based on custom number of posts = 1.4 = - **Settings UI Revamp**: Introduced **tabbed navigation** to separate "General Settings" and "Generate Embeddings" for better organization. - **Batch Embedding Generation**: Users can now trigger embedding generation **for up to 50 posts** at a time. - **Custom Post Type Selection**: A dropdown was added, allowing users to **choose which CPT** they want to generate embeddings for. - **Embedding Optimization**: Now only processes posts that **do not yet have embeddings** to **avoid redundant API calls** and **improve performance**. - **Security Enhancements**: Added **nonce verification** to protect settings updates. This update significantly **improves usability**, **optimizes performance**, and **gives users more control** over AI-powered search embeddings. = 1.3 = - **Similarity Threshold Control**: Added a **range input field** (0-1) in settings to allow users to adjust the similarity threshold dynamically. = 1.2 = - Cache Search embeddings, saved in transients for one day = 1.1 = - text-davinci-003 (deprecated) has been replaced bytext-embedding-ada-002 model - db manipulation has been replaced by custom_post_meta approach = 1.0 = - Initial release, adding the settings page and the search filter.