Installation and setup 

Requirements 

  • TYPO3 version 13 or higher.
  • ke_search with a populated search index (tx_kesearch_index).
  • Embedding index: The console command ke_search_ai:embeddingindex must be run (manually or via Scheduler) so that embeddings are stored in tx_kesearchai_embeddings. See the section Building the embedding index below.
  • LLM API: An API key and endpoint for a chat/completions API (e.g. Mistral, OpenAI, or any OpenAI-compatible provider). Configure URL, key and model in Extension Manager under AI-generated results (RAG)LLM.
  • Embedding API: An API key and endpoint for an embeddings API (same or different provider). Configure under AI-generated results (RAG)Embeddings.

The feature has been tested with Mistral AI (default configuration) but works with other OpenAI-compatible AI providers (e.g. OpenAI, Azure OpenAI, local models). Use the same API URL pattern and model names as required by your provider.

Installation and first steps 

  1. Install the extension via composer

    You can either install it directly from a repository:

    composer require tpwd/ke_search_ai
    Copied!

    Or if you received the extension as a ZIP file, place it in a folder named packages in your project root, add the path repository to your composer.json and then require it:

    {
        "repositories": [
            {
                "type": "path",
                "url": "packages/*"
            }
        ]
    }
    Copied!
    composer require tpwd/ke_search_ai
    Copied!
  2. Update the database schema

    vendor/bin/typo3 database:updateschema
    Copied!
  3. Configure the extension

    Activate "Enable AI-generated results (RAG)", configure the LLM and Embedding API in the Extension Manager. See Configuration.

  4. Create the embedding index

    Run the console command to create the embeddings for your search index:

    vendor/bin/typo3 ke_search_ai:embeddingindex
    Copied!

Building the embedding index 

Before the feature can show answers, the embedding index must be built:

vendor/bin/typo3 ke_search_ai:embeddingindex
Copied!

Options:

  • --pid=123 Only process index entries from this storage PID.
  • --limit=500 Do at most 500 API calls per run. Default: 500.
  • --update Only process new or changed entries (by content hash).
  • --verbose See the process in detail.

Embedding index status 

To print a summary table (index size, embedding coverage, configured embedding API URL, and the last embedding update time from tx_kesearchai_embeddings.tstamp):

vendor/bin/typo3 ke_search_ai:embeddingindex status
Copied!

Optional: --pid=123 limits index size, coverage, and last-update to entries from that storage PID (same semantics as when building the index).

Run the command after the normal ke_search indexer, or schedule it in the TYPO3 Scheduler (e.g. daily after ke_search:indexing).