txtai
💡 All-in-one open-source AI framework for semantic search, LLM orchestration and language model workflows
Science Score: 64.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: scholar.google -
✓Committers with academic emails
2 of 19 committers (10.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.5%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
💡 All-in-one open-source AI framework for semantic search, LLM orchestration and language model workflows
Basic Info
- Host: GitHub
- Owner: neuml
- License: apache-2.0
- Language: Python
- Default Branch: master
- Homepage: https://neuml.github.io/txtai
- Size: 53.2 MB
Statistics
- Stars: 11,474
- Watchers: 110
- Forks: 730
- Open Issues: 9
- Releases: 51
Topics
Metadata Files
README.md
All-in-one AI framework
txtai is an all-in-one AI framework for semantic search, LLM orchestration and language model workflows.

The key component of txtai is an embeddings database, which is a union of vector indexes (sparse and dense), graph networks and relational databases.
This foundation enables vector search and/or serves as a powerful knowledge source for large language model (LLM) applications.
Build autonomous agents, retrieval augmented generation (RAG) processes, multi-model workflows and more.
Summary of txtai features:
- 🔎 Vector search with SQL, object storage, topic modeling, graph analysis and multimodal indexing
- 📄 Create embeddings for text, documents, audio, images and video
- 💡 Pipelines powered by language models that run LLM prompts, question-answering, labeling, transcription, translation, summarization and more
- ↪️️ Workflows to join pipelines together and aggregate business logic. txtai processes can be simple microservices or multi-model workflows.
- 🤖 Agents that intelligently connect embeddings, pipelines, workflows and other agents together to autonomously solve complex problems
- ⚙️ Web and Model Context Protocol (MCP) APIs. Bindings available for JavaScript, Java, Rust and Go.
- 🔋 Batteries included with defaults to get up and running fast
- ☁️ Run local or scale out with container orchestration
txtai is built with Python 3.10+, Hugging Face Transformers, Sentence Transformers and FastAPI. txtai is open-source under an Apache 2.0 license.
Interested in an easy and secure way to run hosted txtai applications? Then join the txtai.cloud preview to learn more.
Why txtai?

New vector databases, LLM frameworks and everything in between are sprouting up daily. Why build with txtai?
embeddings = txtai.Embeddings() embeddings.index(["Correct", "Not what we hoped"]) embeddings.search("positive", 1)
[(0, 0.29862046241760254)]
- Built-in API makes it easy to develop applications using your programming language of choice
yaml
app.yml
embeddings:
path: sentence-transformers/all-MiniLM-L6-v2
bash
CONFIG=app.yml uvicorn "txtai.api:app"
curl -X GET "http://localhost:8000/search?query=positive"
```
- Run local - no need to ship data off to disparate remote services
- Work with micromodels all the way up to large language models (LLMs)
- Low footprint - install additional dependencies and scale up when needed
- Learn by example - notebooks cover all available functionality
Use Cases
The following sections introduce common txtai use cases. A comprehensive set of over 60 example notebooks and applications are also available.
Semantic Search
Build semantic/similarity/vector/neural search applications.

Traditional search systems use keywords to find data. Semantic search has an understanding of natural language and identifies results that have the same meaning, not necessarily the same keywords.

Get started with the following examples.
| Notebook | Description | |
|:----------|:-------------|------:|
| Introducing txtai ▶️ | Overview of the functionality provided by txtai | |
| Similarity search with images | Embed images and text into the same space for search |
|
| Build a QA database | Question matching with semantic search |
|
| Semantic Graphs | Explore topics, data connectivity and run network analysis|
|
LLM Orchestration
Autonomous agents, retrieval augmented generation (RAG), chat with your data, pipelines and workflows that interface with large language models (LLMs).

See below to learn more.
| Notebook | Description | |
|:----------|:-------------|------:|
| Prompt templates and task chains | Build model prompts and connect tasks together with workflows | |
| Integrate LLM frameworks | Integrate llama.cpp, LiteLLM and custom generation frameworks |
|
| Build knowledge graphs with LLMs | Build knowledge graphs with LLM-driven entity extraction |
|
| Parsing the stars with txtai | Explore an astronomical knowledge graph of known stars, planets, galaxies |
|
Agents
Agents connect embeddings, pipelines, workflows and other agents together to autonomously solve complex problems.

txtai agents are built on top of the smolagents framework. This supports all LLMs txtai supports (Hugging Face, llama.cpp, OpenAI / Claude / AWS Bedrock via LiteLLM).
See the link below to learn more.
| Notebook | Description | |
|:----------|:-------------|------:|
| Analyzing Hugging Face Posts with Graphs and Agents | Explore a rich dataset with Graph Analysis and Agents | |
| Granting autonomy to agents | Agents that iteratively solve problems as they see fit |
|
| Analyzing LinkedIn Company Posts with Graphs and Agents | Exploring how to improve social media engagement with AI |
|
Retrieval augmented generation
Retrieval augmented generation (RAG) reduces the risk of LLM hallucinations by constraining the output with a knowledge base as context. RAG is commonly used to "chat with your data".

A novel feature of txtai is that it can provide both an answer and source citation.
| Notebook | Description | |
|:----------|:-------------|------:|
| Build RAG pipelines with txtai | Guide on retrieval augmented generation including how to create citations | |
| Chunking your data for RAG | Extract, chunk and index content for effective retrieval |
|
| Advanced RAG with graph path traversal | Graph path traversal to collect complex sets of data for advanced RAG |
|
| Speech to Speech RAG ▶️ | Full cycle speech to speech workflow with RAG |
|
Language Model Workflows
Language model workflows, also known as semantic workflows, connect language models together to build intelligent applications.

While LLMs are powerful, there are plenty of smaller, more specialized models that work better and faster for specific tasks. This includes models for extractive question-answering, automatic summarization, text-to-speech, transcription and translation.
| Notebook | Description | |
|:----------|:-------------|------:|
| Run pipeline workflows ▶️ | Simple yet powerful constructs to efficiently process data | |
| Building abstractive text summaries | Run abstractive text summarization |
|
| Transcribe audio to text | Convert audio files to text |
|
| Translate text between languages | Streamline machine translation and language detection |
|
Installation

The easiest way to install is via pip and PyPI
pip install txtai
Python 3.10+ is supported. Using a Python virtual environment is recommended.
See the detailed install instructions for more information covering optional dependencies, environment specific prerequisites, installing from source, conda support and how to run with containers.
Model guide

See the table below for the current recommended models. These models all allow commercial use and offer a blend of speed and performance.
| Component | Model(s) | | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------ | | Embeddings | all-MiniLM-L6-v2 | | Image Captions | BLIP | | Labels - Zero Shot | BART-Large-MNLI | | Labels - Fixed | Fine-tune with training pipeline | | Large Language Model (LLM) | Llama 3.1 Instruct | | Summarization | DistilBART | | Text-to-Speech | ESPnet JETS | | Transcription | Whisper | | Translation | OPUS Model Series |
Models can be loaded as either a path from the Hugging Face Hub or a local directory. Model paths are optional, defaults are loaded when not specified. For tasks with no recommended model, txtai uses the default models as shown in the Hugging Face Tasks guide.
See the following links to learn more.
- Hugging Face Tasks
- Hugging Face Model Hub
- MTEB Leaderboard
- LMSYS LLM Leaderboard
- Open LLM Leaderboard
Powered by txtai
The following applications are powered by txtai.

| Application | Description | |:------------ |:-------------| | rag | Retrieval Augmented Generation (RAG) application | | ragdata | Build knowledge bases for RAG | | paperai | AI for medical and scientific papers | | annotateai | Automatically annotate papers with LLMs |
In addition to this list, there are also many other open-source projects, published research and closed proprietary/commercial projects that have built on txtai in production.
Further Reading

- Introducing txtai, the all-in-one AI framework
- Tutorial series on Hashnode | dev.to
- What's new in txtai 9.0 | 8.0 | 7.0 | 6.0 | 5.0 | 4.0
- Getting started with semantic search | workflows | rag
- Running txtai at scale
- Vector search & RAG Landscape: A review with txtai
Documentation
Full documentation on txtai including configuration settings for embeddings, pipelines, workflows, API and a FAQ with common questions/issues is available.
Contributing
For those who would like to contribute to txtai, please see this guide.
Owner
- Name: NeuML
- Login: neuml
- Kind: organization
- Location: Washington, DC Metro
- Website: https://neuml.com
- Twitter: neumll
- Repositories: 15
- Profile: https://github.com/neuml
Applying machine learning to solve everyday problems
Citation (CITATION.cff)
cff-version: 1.2.0 date-released: 2020-08-11 message: "If you use this software, please cite it as below." title: "txtai: the all-in-one AI framework" abstract: "txtai is an all-in-one open-source AI framework for semantic search, LLM orchestration and language model workflows" url: "https://github.com/neuml/txtai" authors: - family-names: "Mezzetti" given-names: "David" affiliation: NeuML license: Apache-2.0
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| davidmezzetti | 5****i | 1,573 |
| Yash Datta | y****0@c****u | 4 |
| Yash Datta | y****0@c****u | 4 |
| 0206pdh | 7****h | 2 |
| 0xflotus | 0****s@g****m | 2 |
| Azam Din | 4****6 | 2 |
| Ikko Eltociear Ashimine | e****r@g****m | 2 |
| csheargm | c****m@g****m | 2 |
| hsm207 | h****7 | 2 |
| hi019 | 6****9 | 1 |
| Grant Sherrick | a****k@g****m | 1 |
| Ian Wilson | i****n@a****i | 1 |
| Igor Ribeiro Lima | l****o@g****m | 1 |
| Jeff | j****r@s****m | 1 |
| Jerome | j****e@p****t | 1 |
| Nelson Chu | c****u@g****m | 1 |
| Tibor Lipusz | t****z@l****m | 1 |
| a0346f102085fe9f | 7****f | 1 |
| cstech-carl-camilleri | 6****i | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 536
- Total pull requests: 39
- Average time to close issues: 24 days
- Average time to close pull requests: 6 days
- Total issue authors: 153
- Total pull request authors: 19
- Average comments per issue: 1.52
- Average comments per pull request: 3.72
- Merged pull requests: 21
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 165
- Pull requests: 11
- Average time to close issues: 6 days
- Average time to close pull requests: 2 days
- Issue authors: 38
- Pull request authors: 6
- Average comments per issue: 0.65
- Average comments per pull request: 3.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- davidmezzetti (319)
- Vincent-liuwingsang (7)
- nickchomey (6)
- vnguye65 (6)
- DenuwanClouda (6)
- ccdv-ai (5)
- akset2X (5)
- obonyojimmy (4)
- nicolas-geysse (4)
- jridevapp (3)
- ferpuyol (3)
- dustyatx (3)
- 4l1fe (3)
- dcferreira (2)
- rickknowles-cognitant (2)
Pull Request Authors
- babinux (4)
- thealmightygrant (4)
- eltociear (4)
- saucam (3)
- a0346f102085fe9f (2)
- ianawilson (2)
- Anush008 (2)
- igorlima (2)
- yukiman76 (2)
- lwsinclair (2)
- ivanmilevtues (2)
- denis-gordeev (2)
- hsm207 (2)
- kursataktas (1)
- kaushalpowar (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 2
-
Total downloads:
- pypi 19,716 last-month
- Total docker downloads: 114
-
Total dependent packages: 13
(may contain duplicates) -
Total dependent repositories: 14
(may contain duplicates) - Total versions: 102
- Total maintainers: 1
pypi.org: txtai
All-in-one open-source AI framework for semantic search, LLM orchestration and language model workflows
- Homepage: https://github.com/neuml/txtai
- Documentation: https://github.com/neuml/txtai
- License: Apache 2.0: http://www.apache.org/licenses/LICENSE-2.0
-
Latest release: 8.6.0
published 9 months ago
Rankings
Maintainers (1)
proxy.golang.org: github.com/neuml/txtai
- Documentation: https://pkg.go.dev/github.com/neuml/txtai#section-documentation
- License: apache-2.0
-
Latest release: v8.6.0+incompatible
published 9 months ago
Rankings
Dependencies
- actions/checkout v3 composite
- actions/setup-java v3 composite
- actions/setup-python v4 composite
- pre-commit/action v3.0.0 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- $BASE_IMAGE latest build
- $BASE_IMAGE latest build
- $BASE_IMAGE latest build
- $BASE_IMAGE latest build
- $BASE_IMAGE latest build