Open-source embedding database for AI apps, storing documents and vectors to power semantic, hybrid and full-text search.
neuml/txtai
All-in-one Python AI framework for semantic search, RAG, LLM orchestration and language model workflows, built on an embeddings database.
- Stars
- 13,090
- Forks
- 972
- Open issues
- 15
- Last commit
- 23 hours ago
What is it?
txtai is a Python framework built around an embeddings database that combines vector indexes (sparse and dense), graph networks and relational databases. It is used for semantic search and as a knowledge source for large language model applications such as retrieval augmented generation (RAG) and autonomous agents.
Beyond search, txtai provides pipelines for tasks like text summarization, transcription, translation, labeling and LLM prompting, which can be chained into workflows. Agents are built on the smolagents framework and can work with Hugging Face models, llama.cpp, and hosted models through LiteLLM. Embeddings can cover text, documents, audio, images and video.
The project can be installed with pip and run locally, or exposed as a web API via FastAPI and as a Model Context Protocol (MCP) server. Bindings exist for JavaScript, Java, Rust and Go, and containers are supported for scaling out.
Key features
- 01Vector search that combines dense and sparse indexes with SQL, graph analysis and topic modeling
- 02Embeddings for text, documents, audio, images and video
- 03Pipelines for LLM prompts, question answering, summarization, transcription and translation
- 04Workflows that chain pipelines together into microservices or multi-model applications
- 05Agents built on smolagents that work with Hugging Face, llama.cpp and LiteLLM-supported models
- 06Web API and Model Context Protocol (MCP) server, with bindings for JavaScript, Java, Rust and Go
Use cases
- Building semantic search over documents, images or QA databases
- Implementing retrieval augmented generation to chat with your own data
- Creating autonomous agents that use embeddings and pipelines as tools
- Chaining summarization, transcription and translation models into a single workflow
Quick start
- 1
Install txtai with pip (see the install guide linked in the README)
- 2
Create an app.yml config file with an embeddings path such as sentence-transformers/all-MiniLM-L6-v2
- 3
Start the txtai API server with the config file
CONFIG=app.yml uvicorn "txtai.api:app"
Things to know
- Requires Python 3.11 or newer.
- Built on heavy machine learning dependencies such as Hugging Face Transformers and Sentence Transformers.
In collections
Topics
FAQ
- What is txtai?
- All-in-one Python AI framework for semantic search, RAG, LLM orchestration and language model workflows, built on an embeddings database. txtai is a Python framework built around an embeddings database that combines vector indexes (sparse and dense), graph networks and relational databases. It is used for semantic search and as a knowledge source for large language model applications such as retrieval augmented generation (RAG) and autonomous agents.
- Is txtai free to use? What license does it have?
- txtai is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is txtai still maintained?
- Actively maintained. The last commit to txtai was on Nov 6, 2026.
- What can I use txtai for?
- Building semantic search over documents, images or QA databases Implementing retrieval augmented generation to chat with your own data Creating autonomous agents that use embeddings and pipelines as tools Chaining summarization, transcription and translation models into a single workflow
- How do I install txtai?
- Install txtai with pip (see the install guide linked in the README) Create an app.yml config file with an embeddings path such as sentence-transformers/all-MiniLM-L6-v2 Start the txtai API server with the config file: CONFIG=app.yml uvicorn "txtai.api:app"
- Where can I get txtai?
- The source code and installation instructions are on GitHub: https://github.com/neuml/txtai
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Epsilla is an open-source C++ vector database for embedding similarity search, with metadata filtering, hybrid search, and LLM retrieval integrations.
A Ruby library for building LLM-powered applications, offering a unified interface to many LLM providers, vector databases, RAG pipelines and assistants.
A retrieval toolkit from BAAI providing BGE embedding and reranker models plus training, evaluation and tutorials for search and RAG.
A step-by-step educational project that builds Retrieval-Augmented Generation from scratch in JavaScript using local LLMs and no cloud APIs.
A collection of Jupyter notebook tutorials and demos showing how to build unstructured-data search and AI applications with the Milvus vector database.