FAQs Omeka Classic plugin

Troubleshooting

The top of the Chatbot pages says chat and search are not working

It names what is missing: the OpenAI key, the Turso URL or token, or an answer from Turso. Fix it in Settings; the message goes away when Turso answers and the index is sound.

"error adding trust anchors from file" or "unable to get local issuer certificate"

PHP on your server cannot check HTTPS certificates, so it cannot reach Turso or OpenAI. The first message means PHP's openssl.cafile (or curl.cainfo) setting in php.ini names a file that does not exist, as happens when a php.ini made for one machine is used on another. The second means PHP has no certificate bundle at all. Point the setting at the server's CA bundle (on macOS /etc/ssl/cert.pem, on Debian and Ubuntu /etc/ssl/certs/ca-certificates.crt), or remove a wrong one, then restart PHP. On hosted sites this is set for you.

"The saved OpenAI API key cannot be read here"

Saved keys are encrypted with a key derived from the database credentials in db.ini. After moving the site to a server with other credentials, enter the key and the token again. To keep them across moves, set chatbot.encryption_key in config.ini on both servers, or set the keys themselves there.

Records stay "waiting to be indexed"

The indexing job did not start or stopped. Check that background jobs work (Omeka's background.php.path in config.ini must point to PHP's command-line program) and look for queue.error in the log, such as a missing key. Saving any record starts the job again; so does Re-index now.

Visitors get "The chat service is temporarily unavailable"

OpenAI or Turso failed: the log has the reason under chat.error. Common ones: an OpenAI key without credit or access to the models (OpenAI API error 401 or 429), a Turso token that expired (Turso HTTP 401), or a chat model name that does not exist.

The index holds embeddings of another size

Embedding dimensions changed after indexing. Purge the index on the Index tab, then re-index.

Answers say "I don't know" too often

  • The answer is not in the metadata: the model only uses what is indexed.
  • Evidence per answer is low: try 8 or 10.
  • The records are outside the collections indexed, or not public.
  • Run a Test search with the question to see what the index returns.

Answers have no sources

The model did not cite its evidence as [1], [2]: if you changed Instructions to the model, keep the rule to cite sources that way.

A record visitors should not see appears in results

It was public when indexed. Chat and search check every source again before showing it, so a record made private since is not shown; Remove non-public chunks removes its chunks too. If it still appears, it is public now: check its visibility.

What does it cost?

Indexing embeds each chunk once: a few thousand records cost cents with text-embedding-3-small. Each search is one embedding; each chat is one embedding and one chat completion (about a thousand words of evidence), a fraction of a cent with gpt-4o-mini. The rate limit keeps one visitor from running up the bill.

Log in for Support