txtai est une base de données d'intégration tout-en-un pour les workflows de recherche sémantique, d'orchestration LLM et de modèles de langage.
Les bases de données Embeddings sont une union d’index vectoriels ( clairsemés et denses), de réseaux de graphes et de bases de données relationnelles.
Cette base permet la recherche vectorielle et/ou sert de puissante source de connaissances pour les applications de grands modèles de langage (LLM).
Créez des agents autonomes, des processus de génération augmentée de récupération (RAG), des flux de travail multimodèles et bien plus encore.
Résumé des fonctionnalités de txtai :
txtai est construit avec Python 3.9+, Hugging Face Transformers, Sentence Transformers et FastAPI. txtai est open source sous licence Apache 2.0.
Intéressé par un moyen simple et sécurisé d’exécuter des applications txtai hébergées ? Rejoignez ensuite l'aperçu txtai.cloud pour en savoir plus.
De nouvelles bases de données vectorielles, des frameworks LLM et tout le reste apparaissent quotidiennement. Pourquoi construire avec 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 "
Les sections suivantes présentent des cas d'utilisation courants de txtai. Un ensemble complet de plus de 60 exemples de blocs-notes et d'applications est également disponible.
Créez des applications de recherche sémantique/similarité/vecteur/neurale.
Les systèmes de recherche traditionnels utilisent des mots-clés pour trouver des données. La recherche sémantique comprend le langage naturel et identifie les résultats qui ont la même signification, pas nécessairement les mêmes mots-clés.
Commencez avec les exemples suivants.
Carnet de notes | Description | |
---|---|---|
Présentation de txtai | Aperçu des fonctionnalités fournies par txtai | |
Recherche de similarité avec des images | Intégrez des images et du texte dans le même espace pour la recherche | |
Construire une base de données d'assurance qualité | Correspondance de questions avec recherche sémantique | |
Graphiques sémantiques | Explorez les sujets, la connectivité des données et exécutez une analyse du réseau |
Agents autonomes, génération augmentée de récupération (RAG), discutez avec vos données, pipelines et workflows qui s'interfacent avec de grands modèles de langage (LLM).
Voir ci-dessous pour en savoir plus.
Carnet de notes | Description | |
---|---|---|
Modèles d'invite et chaînes de tâches | Créez des invites de modèle et connectez les tâches avec des flux de travail | |
Intégrer les frameworks LLM | Intégrez llama.cpp, LiteLLM et des frameworks de génération personnalisés | |
Créez des graphiques de connaissances avec les LLM | Créez des graphiques de connaissances avec l'extraction d'entités basée sur LLM |
Les agents connectent les intégrations, les pipelines, les flux de travail et d'autres agents entre eux pour résoudre de manière autonome des problèmes complexes.
Les agents txtai sont construits sur le framework Transformers Agent. Cela prend en charge tous les LLM pris en charge par txtai (Hugging Face, llama.cpp, OpenAI / Claude / AWS Bedrock via LiteLLM).
Consultez le lien ci-dessous pour en savoir plus.
Carnet de notes | Description | |
---|---|---|
Quoi de neuf dans txtai 8.0 | Agents avec txtai | |
Analyser les publications de visages câlins avec des graphiques et des agents | Explorez un riche ensemble de données avec Graph Analysis et Agents | |
Accorder de l’autonomie aux agents | Des agents qui résolvent les problèmes de manière itérative comme bon leur semble |
La génération augmentée par récupération (RAG) réduit le risque d'hallucinations LLM en limitant la sortie avec une base de connaissances comme contexte. RAG est couramment utilisé pour « discuter avec vos données ».
Une nouvelle fonctionnalité de txtai est qu'il peut fournir à la fois une réponse et une citation de la source.
Carnet de notes | Description | |
---|---|---|
Créer des pipelines RAG avec txtai | Guide sur la génération augmentée de récupération, y compris comment créer des citations | |
Comment fonctionne RAG avec txtai | Créer des processus RAG, des services API et des instances Docker | |
RAG avancé avec parcours de chemin graphique | Parcours de chemin graphique pour collecter des ensembles complexes de données pour un RAG avancé | |
Discours à discours RAG | Flux de travail parole-parole à cycle complet avec RAG |
Les workflows de modèles de langage, également appelés workflows sémantiques, connectent les modèles de langage entre eux pour créer des applications intelligentes.
Bien que les LLM soient puissants, il existe de nombreux modèles plus petits et plus spécialisés qui fonctionnent mieux et plus rapidement pour des tâches spécifiques. Cela inclut des modèles de réponse extractive aux questions, de résumé automatique, de synthèse vocale, de transcription et de traduction.
Carnet de notes | Description | |
---|---|---|
Exécuter des workflows de pipeline | Des constructions simples mais puissantes pour traiter efficacement les données | |
Construire des résumés de texte abstraits | Exécuter un résumé de texte abstrait | |
Transcrire l'audio en texte | Convertir des fichiers audio en texte | |
Traduire du texte entre les langues | Rationalisez la traduction automatique et la détection de langues |
Le moyen le plus simple d'installer est via pip et PyPI
pip install txtai
Python 3.9+ est pris en charge. L'utilisation d'un environnement virtuel Python est recommandée.
Consultez les instructions d'installation détaillées pour plus d'informations sur les dépendances facultatives, les prérequis spécifiques à l'environnement, l'installation à partir des sources, la prise en charge de conda et la manière d'exécuter avec des conteneurs.
Consultez le tableau ci-dessous pour connaître les modèles actuellement recommandés. Ces modèles permettent tous une utilisation commerciale et offrent un mélange de vitesse et de performances.
Composant | Modèle(s) |
---|---|
Intégrations | tout-MiniLM-L6-v2 |
Légendes des images | SPOT |
Étiquettes - Zero Shot | BART-Large-MNLI |
Étiquettes - Fixe | Affiner le pipeline de formation |
Grand modèle linguistique (LLM) | Lama 3.1 Instruire |
Récapitulation | DistilBART |
Synthèse vocale | ESPnet-JETS |
Transcription | Chuchoter |
Traduction | Série de modèles OPUS |
Les modèles peuvent être chargés soit sous forme de chemin depuis Hugging Face Hub, soit sous forme de répertoire local. Les chemins du modèle sont facultatifs, les valeurs par défaut sont chargées lorsqu'elles ne sont pas spécifiées. Pour les tâches sans modèle recommandé, txtai utilise les modèles par défaut comme indiqué dans le guide Hugging Face Tasks.
Consultez les liens suivants pour en savoir plus.
Les applications suivantes sont alimentées par txtai.
Application | Description |
---|---|
txtchat | Recherche optimisée par Retrieval Augmented Generation (RAG) |
paperai | Recherche sémantique et workflows pour les articles médicaux/scientifiques |
question de code | Recherche sémantique pour les développeurs |
histoire | Recherche sémantique de titres et de textes d'articles |
En plus de cette liste, il existe également de nombreux autres projets open source, des recherches publiées et des projets propriétaires/commerciaux fermés qui se sont appuyés sur txtai en production.
Une documentation complète sur txtai, y compris les paramètres de configuration pour les intégrations, les pipelines, les flux de travail, l'API et une FAQ avec des questions/problèmes courants, est disponible.
Pour ceux qui souhaitent contribuer à txtai, veuillez consulter ce guide.