Docs: Conversational Search#4559
Conversation
|
|
||
| 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: |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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`: |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
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. |
There was a problem hiding this comment.
"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 |
There was a problem hiding this comment.
How do I use it via the HTTP JSON interface?
|
|
||
| ## Troubleshooting | ||
|
|
||
| `Table '<table>' has no FLOAT_VECTOR field` |
There was a problem hiding this comment.
Is this an error I might encounter while using the functionality? Let's add a little intro in this section.
|
|
||
| <!-- end --> | ||
|
|
||
| Common options: |
There was a problem hiding this comment.
What are the defaults?
|
|
||
| Use `CREATE CHAT MODEL` to define the LLM and retrieval settings. | ||
|
|
||
| Minimal model: |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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.
ref: #2286