Practical overview
When it fits
Use Vectrain when you need a configurable ingestion-and-embedding backend that connects supported data sources to vector storage for a downstream application.
Who it is for
- Developers building a semantic-search, recommendation or analytics backend around stored embeddings.
- Teams processing data from Kafka topics or REST services into a Qdrant vector database.
- Go developers extending a pipeline through custom source, embedder or storage components.
Documented uses
- Ingest data from Kafka or a REST source.
- Generate embeddings using the documented Ollama integration.
- Store and query embeddings in Qdrant.
- Control the pipeline through its HTTP API.
Requirements & limits
The repository is public and identifies the project as MIT-licensed. The README lists Go 1.24 or later and Docker for running dependencies such as Kafka, Ollama and Qdrant.
- The documented source options are Kafka and REST.
- The README names Ollama for embedding generation and Qdrant for vector storage.
- YAML configuration selects pipeline components and allows batch-size and worker-count adjustments.
- Custom source, embedder and storage types require implementing the corresponding Go interface and registering the component in the factory.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install and configure Vectrain for a REST source
Prepare a local Vectrain installation and configure it to receive input through its REST source.
Before you start
- Go 1.24 or later.
- Docker for running dependencies such as Ollama and Qdrant.
- A checkout of the Vectrain repository.
Steps
Clone the repository and change into its directory: the command below followed by
cd vectrain.git clone https://github.com/torys877/vectrain.gitInstall Go dependencies with the command below.
go mod tidyCreate
config/config.yamland adapt the REST example configuration in./config/rest_config.yamlwith the required endpoints and settings.
Expected outcome
The application dependencies are installed and a REST-oriented configuration file is prepared for running Vectrain.
Guide limitations
- This guide covers setup and configuration, not starting the service or verifying a successful embedding run.
- The README’s clone URL uses the
torys877owner, while the repository source URL identifiesphilpher0x; confirm the intended repository before cloning. - The README does not detail the configuration fields or provide specific endpoint values.
Submit text to Vectrain’s REST source and process it
Send a text-and-payload message to the REST source and have Vectrain process it through the configured embedding and storage stages.
Before you start
- A running Vectrain application configured for REST input, an embedding service, and Qdrant storage.
- The REST source is available at
http://127.0.0.1/source/send; messages are embedded only after the pipeline is started.
Steps
Start the application using the command below, or build it with the command below and run
./vectrain --config=config/config.yaml.go run cmd/vectrain/main.go --config=config/config.yamlgo build -o vectrain cmd/vectrain/main.goStart the workflow by sending a
POSTrequest to/api/start.Send a message to
http://127.0.0.1/source/sendwith a JSON body containingTextandPayload, for example the fields shown in the README.Allow the pipeline to send the source data to its embedding service and store generated embeddings in Qdrant; use
POST /api/stopto stop the workflow when appropriate.
Expected outcome
Vectrain processes submitted messages through its source, embedder, and storage stages, storing generated embeddings in Qdrant.
Guide limitations
- Ollama is identified as the currently supported embedding service and Qdrant as the currently supported vector database; other providers are mentioned in the workflow description but not established as supported configuration options.
- The README gives endpoint paths and a sample message, but does not specify request headers, response formats, or a complete configuration.
- The source endpoint can accept messages while the pipeline is stopped, but those messages are not embedded until the pipeline starts.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 17 October 2026
- Original website title
- philpher0x/vectrain · Official homepage title · retained in its source language

