Installation
Client
To setup a simpleClient to interface with a running helix instance:
Python
6969, but you can change it by passing in the port parameter.
For cloud instances, you can pass in the api_endpoint parameter.
Queries
helix-py allows users to define a PyTorch-like manner, similar to how you would define a neural network’s forward pass. You can use built-in queries inhelix/client.py
to get started with inserting and search vectors, or you can define your own queries for more complex workflows.
Pytorch-like Query
Given a HelixQL query like this:
query.hx
Python
Query.query method returns a list of objects.
Instance
To setup a simpleInstance that manages and automatically starts and stops a helix instance with respect
to the lifetime of the script:
Python
helixdb-cfg is the directory where the configuration files are stored.
and from there you can interact with the instance using Client.
The instance will be automatically stopped when the script exits.
Providers
Helix has LLM interfaces for popular LLM providers. Available providers:OpenAIProviderGeminiProviderAnthropicProvider
enable_mcps(name: str, url: str=...) -> boolto enable Helix MCP toolsgenerate(messages, response_model: BaseModel | None=None) -> str | BaseModel
- Free-form text: pass a string
- Message lists: pass a list of
dictor provider-specificMessagemodels
- OpenAI GPT-5 family models support reasoning while other models use temperature.
- Anthropic local streamable MCP is not supported; use a URL-based MCP.
Embedders
Helix has embedder interfaces for popular embedding providers. Available embedders:OpenAIEmbedderGeminiEmbedderVoyageAIEmbedder
embed(text: str, **kwargs)returns a vector[F64]embed_batch(texts: List[str], **kwargs)returns a list of vectors[F64]
examples/llm_providers/providers.ipynb for more):
Chunking
Helix uses Chonkie chunking methods to split text into manageable pieces for processing and embedding:Loader
The loader (helix/loader.py) currently supports .parquet, .fvecs, and .csv data. Simply pass in the path to your
file or files and the columns you want to process and the loader does the rest for you and is easy to integrate with
your queries