Skip to content

Docs: Conversational Search#4559

Open
KlimTodrik wants to merge 2 commits into
masterfrom
docs/conversational-search
Open

Docs: Conversational Search#4559
KlimTodrik wants to merge 2 commits into
masterfrom
docs/conversational-search

Conversation

@KlimTodrik
Copy link
Copy Markdown
Contributor

ref: #2286

@KlimTodrik KlimTodrik requested a review from sanikolaev May 7, 2026 13:31
@KlimTodrik KlimTodrik mentioned this pull request May 7, 2026
6 tasks

Conversational search adds retrieval-augmented chat over an existing vectorized table. It searches the table, builds context from matching documents, and asks a large language model (LLM) to answer using that context and the current conversation history.

Conversational search is provided by the `ConversationalSearch` Buddy plugin and is managed with SQL commands:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think nobody cares about the name of the plugin.

- `DROP CHAT MODEL`
- `CALL CHAT`

> NOTE: Conversational search requires [Manticore Buddy](../Installation/Manticore_Buddy.md) with the `ConversationalSearch` plugin and the `llm` PHP extension installed. Provider support depends on the installed `llm` extension.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's enough to say that Buddy is required. The chance that the user will have Buddy of another version is very low now.


## How it works

At query time, `CALL CHAT`:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When I read this, I want to see an example on the right.


1. Loads the chat model configuration.
2. Loads conversation history for the provided conversation UUID, or creates a new UUID when none is provided.
3. Inspects the target table and selects a `FLOAT_VECTOR` field.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if I have multiple float_vector fields?

5. Runs KNN search with the selected vector field.
6. Builds prompt context from the selected vector field's `from='...'` source fields.
7. Generates the final answer with the configured LLM.
8. Stores the user and assistant messages in conversation history.
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Assistant" requires an intro if you want to use this term.


When the fifth argument is provided, Buddy validates that the field exists and is a `FLOAT_VECTOR`. If it is omitted, Buddy detects the first `FLOAT_VECTOR` field from `SHOW CREATE TABLE`.

### CALL CHAT syntax
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How do I use it via the HTTP JSON interface?


## Troubleshooting

`Table '<table>' has no FLOAT_VECTOR field`
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this an error I might encounter while using the functionality? Let's add a little intro in this section.


<!-- end -->

Common options:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are the defaults?


Use `CREATE CHAT MODEL` to define the LLM and retrieval settings.

Minimal model:
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by "minimal model"?


When the fifth argument is provided, Buddy validates that the field exists and is a `FLOAT_VECTOR`. If it is omitted, Buddy detects the first `FLOAT_VECTOR` field from `SHOW CREATE TABLE`.

### CALL CHAT syntax
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be combined with examples of how to use CALL CHAT (the "Asking questions" section). Otherwise, when I see the examples, too many questions arise, and I don't know yet if I can get the answers, which upsets me a little bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants