1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//! Vector responses type for vector completions.
//!
//! A vector response is a single option that LLMs can vote for in a vector
//! completion. Each response can be plain text or multimodal content (images,
//! audio, video, files).
use crateRichContent;
use JsonSchema;
use ;
/// The list of response options in a vector completion request.
///
/// Each element is a [`RichContent`] value that an LLM can vote for.
/// Responses can be plain text strings or multi-part content containing
/// text, images, audio, video, or files.
///
/// # Minimum Length
///
/// A vector completion requires at least 2 responses to vote between.
///
/// # Examples
///
/// Plain text responses:
/// ```json
/// ["Yes", "No", "Maybe"]
/// ```
///
/// Multimodal responses:
/// ```json
/// [
/// [{"type": "text", "text": "Option A"}, {"type": "image_url", "image_url": {"url": "https://example.com/a.png"}}],
/// [{"type": "text", "text": "Option B"}, {"type": "image_url", "image_url": {"url": "https://example.com/b.png"}}]
/// ]
/// ```
;