Skip to main content

CreateOllamaEmbeddings

Description

Uses Ollama to create embeddings for text. The input text can be provided as a single FlowFile or as a record-oriented FlowFile.

Tags

chatbot, embeddings, gen ai, generative ai, llm, nlp, ollama, text

Properties

In the list below required Properties are shown with an asterisk (*). Other properties are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Service URL *Service URLThe URL to use to communicate with Ollama
Web Client Service *Web Client ServiceController Service:
WebClientServiceProvider

Implementations:
StandardWebClientServiceProvider
The Web Client Service to use for communicating with Ollama
Embeddings Model *Embeddings Modelnomic-embed-textThe model to use for embeddings
Record ReaderRecord ReaderController Service:
RecordReaderFactory

Implementations:
AvroReader
CEFReader
CSVReader
ExcelReader
GrokReader
JsonPathReader
JsonTreeReader
ReaderLookup
ScriptedReader
Syslog5424Reader
SyslogReader
WindowsEventLogReader
XMLReader
YamlTreeReader
The record reader to use for reading record-oriented data. If the incoming data is to be treated as plaintext, this property should be left unset.
Record Writer *Record WriterController Service:
RecordSetWriterFactory

Implementations:
AvroRecordSetWriter
CSVRecordSetWriter
FreeFormTextRecordSetWriter
JsonRecordSetWriter
RecordSetWriterLookup
ScriptedRecordSetWriter
XMLRecordSetWriter
The Record Writer to use for writing the output
Text Record Path *Text Record Path/textThe path to the field in the record that contains the text to be embedded. If the incoming data is to be treated as plaintext, this property should be left unset.

Supports Expression Language, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Record Reader has a value specified
Embeddings Record Path *Embeddings Record Path/embeddingsThe path to the field in the record where the embeddings are to be written.

Supports Expression Language, using FlowFile attributes and Environment variables.

This property is only considered if:
  • the property Record Reader has a value specified

Dynamic Properties

This component does not support dynamic properties.

Relationships

NameDescription
failureThe original FlowFile will be routed to this relationship if the embeddings could not be created
successThe embeddings will be routed to this relationship

Reads Attributes

This processor does not read attributes.

Writes Attributes

NameDescription
mime.typeThe MIME type of the output data, based on the chosen Record Writer
record.countThe number of records written to the output

State Management

This component does not store state.

Restricted

This component is not restricted.

Input Requirement

Input requirements are not specified for this component.

Example Use Cases

Use Case 1

Create embeddings for text using Ollama's Embeddings

Configuration

Set "Model" to the name of the Ollama model to use for creating embeddings.
Set "Record Writer" to a Record Writer that writes out data in the desired format, typically JSON.
Set "Web Client Service" to a WebClientService that can be used to make requests to the Ollama API.
Since the Web Client Service will also be used to download models the Timeouts should be set high for local runs.

If the incoming data is in a structured format such as JSON, set "Record Reader" to a Record Reader that can read the format of the incoming data and set "Text Record Path" to the path to the field that contains the text to be embedded.
Otherwise, if the incoming data is raw text, leave the "Text Record Path" and "Record Reader" properties unset.

System Resource Considerations

This component does not specify system resource considerations.

See Also