LlamaEmbeddingInput constructor
LlamaEmbeddingInput(
- List<
LlamaContentPart> parts
Creates an embedding input from existing public content parts.
Implementation
factory LlamaEmbeddingInput(List<LlamaContentPart> parts) {
if (parts.isEmpty) {
throw LlamaArgumentException(
'Embedding input requires at least one part.',
);
}
final kinds = <LlamaEmbeddingModality>[
for (final part in parts)
switch (part) {
LlamaTextContent() => LlamaEmbeddingModality.text,
LlamaImageContent() => LlamaEmbeddingModality.image,
LlamaAudioContent() => LlamaEmbeddingModality.audio,
_ => throw LlamaUnsupportedException(
'Embedding input supports only text, image and audio; '
'${part.runtimeType} is unavailable in the embedding input contract.',
),
},
];
return LlamaEmbeddingInput._(
List<LlamaContentPart>.unmodifiable(parts),
List<LlamaEmbeddingModality>.unmodifiable(kinds),
);
}