Morphik Core : une plateforme RAG open-source pour le traitement des données multimodales
Introduction générale
Morphik Core est un projet open source développé par l'équipe de morphik-org et hébergé sur GitHub. Cet outil est une base de données conçue pour les applications d'IA qui peuvent gérer une grande variété de données telles que du texte, des images, des PDF, des vidéos, etc. Il offre de puissantes fonctionnalités RAG (Retrieval Augmented Generation) pour aider les utilisateurs à récupérer et à générer rapidement des informations. Morphik Core prend en charge le traitement de données à grande échelle et peut gérer des millions de documents tout en assurant une recherche rapide. Que vous souhaitiez tester une nouvelle idée ou créer un environnement de production, Morphik Core est là pour vous aider. Il est actuellement en cours de développement et prévoit de lancer un service hébergé où les utilisateurs peuvent s'inscrire sur une liste d'attente.

Liste des fonctions
- Prise en charge des données multimodales : peut traiter du texte, des PDF, des images, des vidéos et d'autres formats.
- Analyse intelligente des fichiers : décompose automatiquement les fichiers en petits morceaux et génère l'intégration.
- ColPali multimodal embedding : combining text and image content for efficient retrieval.
- Prise en charge des graphes de connaissances : extraction automatique d'entités et de relations pour améliorer les résultats de la recherche.
- Règles du langage naturel : définir des règles pour des données encombrées afin d'extraire des informations structurées.
- Mise en cache efficace : prétraitement des données pour réduire les coûts de calcul et accélérer la réponse.
- Architecture extensible : prise en charge d'analyseurs personnalisés et de méthodes de stockage multiples.
- MCP Protocoles : faciliter le partage des connaissances avec les systèmes d'intelligence artificielle.
Utiliser l'aide
Morphik Core est un outil permettant aux développeurs d'obtenir le code et de l'utiliser principalement via GitHub. Vous trouverez ci-dessous un guide d'installation et d'utilisation détaillé pour vous aider à démarrer rapidement.
Processus d'installation
Pour commencer à utiliser Morphik Core, vous devez télécharger le code depuis GitHub et configurer votre environnement. Les étapes sont les suivantes :
- entrepôt de clones
Entrez la commande dans le terminal pour télécharger le projet :
git clone https://github.com/morphik-org/morphik-core.git
Allez ensuite dans le répertoire du projet :
cd morphik-core
- Créer un environnement virtuel
Créez un environnement autonome avec Python 3.12 pour éviter les conflits de dépendances :
python3.12 -m venv .venv
Activer l'environnement :
- Linux/macOS :
source .venv/bin/activate
- Fenêtres :
.venv\Scripts\activate
- Installation des dépendances
Les projets sont les suivantsrequirements.txt
pour installer les paquets nécessaires :
pip install -r requirements.txt
S'il vous manque des fichiers, consultez le README de GitHub pour obtenir les dernières dépendances.
- Démarrage des services
Configurer et faire fonctionner le serveur :
python quick_setup.py
python start_server.py
Une fois terminé, le service sera localhost:8000
La course à pied.
Principales fonctions
Au cœur de Morphik Core se trouve la capacité de traiter des données multimodales et de fournir RAG Fonction. Voici comment procéder :
1. importation de données
Vous pouvez importer du texte ou des fichiers à l'aide du SDK Python. Par exemple, importez un morceau de texte :
from databridge import DataBridge
db = DataBridge("databridge://localhost:8000")
doc = db.ingest_text("这是关于AI技术的示例文档。", metadata={"category": "tech"})
- Mode d'emploiAprès s'être connecté au serveur, importer le texte et ajouter les métadonnées.
- en fin de compteLe texte est traité et stocké en vue de sa consultation.
Importer des fichiers PDF :
doc = db.ingest_file("path/to/document.pdf", metadata={"category": "research"})
- FonctionnalitéPrise en charge des formats PDF, vidéo et autres, avec analyse automatique du contenu.
2. recherche multimodale (ColPali)
Morphik Core utilise ColPali pour traiter les documents contenant des images. Exemple :
doc = db.ingest_file("report_with_charts.pdf", use_colpali=True)
chunks = db.retrieve_chunks("显示第二季度收入图表", use_colpali=True, k=3)
- déplacerColPali : Active ColPali lors de l'importation de fichiers et renvoie du texte et des images lors de l'extraction.
- effetVous pouvez trouver directement le contenu d'un graphique ou d'une image.
3. fixer des règles
Des règles peuvent être définies en langage naturel pour extraire des informations :
rules = [
{"type": "metadata_extraction", "schema": {"title": "string", "author": "string"}},
{"type": "natural_language", "prompt": "删除所有个人信息"}
]
doc = db.ingest_file("document.pdf", rules=rules)
- correspond à l'anglais -ity, -ism, -ization: Extraire les titres et les auteurs des fichiers, ou nettoyer les données à la demande.
- suggestionLes règles doivent être adaptées au contenu du document.
4. la cartographie des connaissances
Créer et utiliser des graphiques de connaissances pour améliorer la recherche :
db.create_graph("tech_graph", filters={"category": "tech"})
response = db.query("AI如何与云计算相关?", graph_name="tech_graph", hop_depth=2)
- gréementLa carte : Après avoir généré une carte, la requête renvoie les informations qui y sont associées.
- tranchantLes résultats sont plus précis et adaptés aux problèmes complexes.
5. traitement par lots
Prise en charge de l'importation par lots de fichiers dans des dossiers :
docs = db.ingest_directory("data/documents", recursive=True, pattern="*.pdf")
- FonctionnalitéLes fichiers PDF peuvent être importés à partir d'une base de données.
- prendreLes données de l'enquête peuvent être utilisées pour le traitement d'un grand nombre de données.
Fonction en vedette Fonctionnement
Les points forts de Morphik Core sont le support multimodal et l'efficacité. Voici une description détaillée :
Intégration multimodale ColPali
ColPali permet au texte et aux images de fonctionner ensemble. Par exemple, ColPali permet d'associer texte et images :
db.ingest_file("report.pdf", use_colpali=True)
chunks = db.retrieve_chunks("查找2024年的销售数据图", use_colpali=True)
- effetLes données de l'enquête ne sont pas seulement des textes, mais aussi des graphiques.
- utiliserLes documents visuels : Analyser des documents contenant des éléments visuels.
Mise en cache efficace
Prétraiter les données pour les retrouver plus rapidement :
db.cache_documents(filters={"category": "research"})
chunks = db.retrieve_chunks("AI最新进展", k=5)
- kilométrageLes coûts de calcul sont réduits et les temps de réponse sont plus courts 80%.
- prendre noteLe cache occupe de l'espace et est nettoyé régulièrement.
évolutivité
Connexion à des bases de données et traitement de données à grande échelle :
db.connect_storage("postgresql://user:password@localhost:5432/dbname")
docs = db.ingest_directory("large_data")
- adjuvantGestion de millions de documents avec PostgreSQL ou MongoDB.
- tempoLes délais de récupération restent en secondes.
mise en garde
- Avant de l'utiliser pour la première fois, lisez le guide de GitHub
README.md
et de la documentation officielle. - Assurez-vous que la version de Python est 3.12 et que les dépendances sont installées correctement.
- Les questions peuvent être soumises en tant que problèmes sur Discord (https://discord.gg/BwMtv3Zaju) ou GitHub.
Avec ces étapes, vous pouvez facilement installer et utiliser Morphik Core pour gérer une variété de besoins en matière de données.
scénario d'application
- Document de recherche sur la gestion
Le chercheur importe le PDF de l'article, extrait le titre et le résumé à l'aide de règles, génère un graphe de connaissances et trouve rapidement des recherches connexes. - Analyse des données d'entreprise
L'entreprise traite les rapports et les contrats, récupère les graphiques et les textes avec ColPali et met les données en cache pour plus d'efficacité. - Collation des ressources éducatives
Les enseignants importent des manuels et des vidéos, définissent des règles pour extraire les points clés, et les étudiants peuvent consulter le contenu des cours.
QA
- Morphik Core est-il payant ?
Gratuit, c'est un projet open source sous licence MIT et libre d'utilisation. - Besoin d'un serveur ?
Oui, l'auto-hébergement nécessite un serveur local, et il y aura à l'avenir des options d'hébergement dans le nuage. - Prend-il en charge la vidéo ?
Support qui analyse les vidéos et en extrait le texte et le contenu.
© déclaration de droits d'auteur
Article copyright Cercle de partage de l'IA Tous, prière de ne pas reproduire sans autorisation.
Articles connexes
Pas de commentaires...