Documentation du format JSON Wikit Semantics
Introduction
Le format JSON Wikit Semantics est une structure de données conçue pour représenter des documents numériques de manière sémantique. Inspiré par Schema.org, ce format facilite l'intégration, le traitement et l'analyse de contenus documentaires dans vos applications.
Ce format offre une manière simple de représenter des documents numériques pour ingestion dans des apps LLM avec mécanisme de RAG.
Structure de base (Document)
Un document au format Wikit Semantics est représenté par un objet JSON avec les propriétés suivantes :
{
"@context": "https://wikit.ai",
"@type": "Document",
"identifier": "document-1",
"title": "Titre du document",
"url": "https://source-du-document.com/page",
"hasPart": [
// Tableau de fragments DocumentChunk
]
}@context: Toujours défini comme "https://wikit.ai"@type: Toujours "Document" pour l'objet racineidentifier: L’identifiant du document dans la source d’originetitle: Le titre du documenturl: L'URL source du documenthasPart: Un tableau contenant les fragments du document
Fragments de document (DocumentChunk)
Chaque fragment du document est représenté par un objet DocumentChunk :
{
"@type": "DocumentChunk",
"text": "Contenu textuel du fragment"
}@type: Toujours "DocumentChunk"text: Le contenu textuel du fragment, qui peut inclure du formatage (ex : Markdown)
Utilisation
Création d'un document
Pour créer un document au format Wikit Semantics :
- Commencez par l'objet racine avec les propriétés
@context,@type,title, eturl. - Divisez le contenu du document en fragments logiques.
- Pour chaque fragment, créez un objet DocumentChunk et ajoutez-le au tableau
hasPart.
Lecture et traitement
Pour traiter un document Wikit Semantics :
- Parsez le JSON pour obtenir l'objet document.
- Accédez aux métadonnées via les propriétés
titleeturl. - Itérez sur le tableau
hasPartpour traiter chaque fragment individuellement.
Exemple de code (Python)
Voici un exemple simple de création et de lecture d'un document Wikit Semantics en Python :
import json
# Création d'un document
document = {
"@context": "https://wikit.ai",
"@type": "Document",
"identifier": "document-1",
"title": "Mon Document",
"url": "https://example.com/document",
"hasPart": [
{"@type": "DocumentChunk", "text": "# Introduction\n\nCeci est le premier paragraphe."},
{"@type": "DocumentChunk", "text": "# Chapitre 1\n\nContenu du chapitre 1."},
{"@type": "DocumentChunk", "text": "# Conclusion\n\nRésumé final."}
]
}
# Sérialisation du JSON
json_doc = json.dumps(document, indent=2)
print(json_doc)
# Lecture et traitement
parsed_doc = json.loads(json_doc)
print(f"Titre: {parsed_doc['title']}")
print(f"URL: {parsed_doc['url']}")
for chunk in parsed_doc['hasPart']:
print(f"Fragment: {chunk['text'][:50]}...") # Affiche les 50 premiers caractèresBonnes pratiques
- Maintenez une granularité cohérente dans la fragmentation des documents.
- Utilisez un formatage cohérent (comme Markdown) dans les fragments de texte.
- Assurez-vous que l'URL fournie est valide et accessible.
- Validez toujours la structure JSON avant le traitement.