txtai README

The project's README from github.com/neuml/txtai. As one markdown file: README.md.

All-in-one AI framework

Version GitHub last commit GitHub issues Join Slack Build Status Coverage Status

txtai is an all-in-one AI framework for semantic search, LLM orchestration and language model workflows.

architecture architecture

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:

txtai is built with Python 3.10+, Hugging Face Transformers, Sentence Transformers and FastAPI. txtai is open-source under an Apache 2.0 license.

[!NOTE]

NeuML is the company behind txtai and we provide AI consulting services around our stack. Schedule a meeting or send a message to learn more.

We're also building an easy and secure way to run hosted txtai applications with txtai.cloud.

Why txtai?

why why

New vector databases, LLM frameworks and everything in between are sprouting up daily. Why build with txtai?

# Get started in a couple lines
import txtai

embeddings = txtai.Embeddings()
embeddings.index(["Correct", "Not what we hoped"])
embeddings.search("positive", 1)
#[(0, 0.29862046241760254)]
# app.yml
embeddings:
    path: sentence-transformers/all-MiniLM-L6-v2
CONFIG=app.yml uvicorn "txtai.api:app"
curl -X GET "http://localhost:8000/search?query=positive"

Use Cases

The following sections introduce common txtai use cases. A comprehensive set of over 70 example notebooks and applications are also available.

Build semantic/similarity/vector/neural search applications.

demo

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.

search search

Get started with the following examples.

Notebook Description
Introducing txtai ▶️ Overview of the functionality provided by txtai Open In Colab
Similarity search with images Embed images and text into the same space for search Open In Colab
Build a QA database Question matching with semantic search Open In Colab
Semantic Graphs Explore topics, data connectivity and run network analysis Open In Colab

LLM Orchestration

Autonomous agents, retrieval augmented generation (RAG), chat with your data, pipelines and workflows that interface with large language models (LLMs).

llm

See below to learn more.

Notebook Description
Prompt templates and task chains Build model prompts and connect tasks together with workflows Open In Colab
Integrate LLM frameworks Integrate llama.cpp, LiteLLM and custom generation frameworks Open In Colab
Build knowledge graphs with LLMs Build knowledge graphs with LLM-driven entity extraction Open In Colab
Parsing the stars with txtai Explore an astronomical knowledge graph of known stars, planets, galaxies Open In Colab

Agents

Agents connect embeddings, pipelines, workflows and other agents together to autonomously solve complex problems.

agent

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). Agent prompting with agents.md and skill.md are also supported.

Check out this Agent Quickstart Example. Additional examples are listed below.

Notebook Description
Granting autonomy to agents Agents that iteratively solve problems as they see fit Open In Colab
TxtAI got skills Integrate skill.md files with your agent Open In Colab
Agent Tools ▶️ Learn about the txtai agent toolkit Open In Colab
Analyzing LinkedIn Company Posts with Graphs and Agents Exploring how to improve social media engagement with AI Open In Colab

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".

rag rag

Check out this RAG Quickstart Example. Additional examples are listed below.

Notebook Description
Build RAG pipelines with txtai ▶️ Guide on retrieval augmented generation including how to create citations Open In Colab
RAG is more than Vector Search Context retrieval via Web, SQL and other sources Open In Colab
GraphRAG with Wikipedia and GPT OSS Deep graph search powered RAG Open In Colab
Speech to Speech RAG ▶️ Full cycle speech to speech workflow with RAG Open In Colab

Language Model Workflows

Language model workflows, also known as semantic workflows, connect language models together to build intelligent applications.

flows flows

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.

Check out this Workflow Quickstart Example. Additional examples are listed below.

Notebook Description
Run pipeline workflows ▶️ Simple yet powerful constructs to efficiently process data Open In Colab
Building abstractive text summaries Run abstractive text summarization Open In Colab
Transcribe audio to text Convert audio files to text Open In Colab
Translate text between languages Streamline machine translation and language detection Open In Colab

Installation

install install

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, lightweight minimal installation and how to run with containers.

Model guide

models

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 DeBERTa v3 Zeroshot
Labels - Fixed Fine-tune with training pipeline
Large Language Model (LLM) Gemma 4 31B
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.

Powered by txtai

The following applications are powered by txtai.

apps

Application Description
[rag](https://github.com/n

txtai (neuml/txtai)

Searching Database…

13K ·GitHub
Что это такое?txtai — это универсальный AI-фреймворк для семантического поиска, оркестрации LLM и рабочих процессов с языковыми моделями. Его основа — база эмбеддингов, которая объединяет векторные индексы, графовые сети и реляционные базы данных, чтобы работать в поиске или служить источником знаний для приложений на основе LLM.
Это векторная база данных, фреймворк для LLM или и то, и другое?И то, и другое: это Python-фреймворк на основе базы эмбеддингов (векторные и разреженные индексы, граф и реляционное хранилище) плюс пайплайны, рабочие процессы и агенты для оркестрации LLM.
Как мне установить это и начать пользоваться?Устанавливается через pip из PyPI (нужен Python 3.10+), желательно в виртуальном окружении; для запуска также поддерживаются Docker-контейнеры.
На каких библиотеках это построено и нужен ли мне API-ключ для какой-нибудь LLM?Оно построено на Python 3.10+, Hugging Face Transformers, Sentence Transformers и FastAPI; LLM можно запускать локально (например, llama.cpp, модели Hugging Face) или через внешние API (OpenAI, Claude, AWS Bedrock через LiteLLM), поэтому API-ключ нужен только если вы выбираете облачную модель.
Могу ли я всё держать локально, не отправляя данные во внешние сервисы?Да, txtai рассчитан на полностью локальную работу без передачи данных удалённым сервисам, хотя при желании он может подключаться и к облачным API LLM.
Что на самом деле умеют агенты txtai?Агенты связывают эмбеддинги, пайплайны, рабочие процессы и других агентов, чтобы самостоятельно решать сложные задачи; они построены на фреймворке smolagents, поддерживают промпты в формате agents.md/skill.md, а также работают с любой LLM, которую поддерживает txtai.
Чем txtai помогает с RAG, кроме простого векторного поиска?Его RAG-пайплайны ограничивают ответы LLM базой знаний в качестве контекста (что снижает галлюцинации) и могут брать контекст из веба, SQL и других источников, а не только из векторного поиска, включая генерацию ссылок на источники.
Какую модель txtai рекомендует для компонента LLM?Актуальное руководство по моделям рекомендует Gemma 4 31B для компонента большой языковой модели, а также такие модели, как all-MiniLM-L6-v2 для эмбеддингов и Whisper для транскрибации.
На каких языках, кроме Python, можно использовать txtai?txtai предоставляет веб- и Model Context Protocol (MCP) API с биндингами для JavaScript, Java, Rust и Go, так что он не ограничен Python.
Creator
neuml
Size
55.5 MB
Stars
13K
Age
6y
Commits · 90 Days