mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-26 00:46:22 +02:00
Feat: TrustGraph i18n & Documentation Translation Updates (#781)
Native CLI i18n: The TrustGraph CLI has built-in translation support that dynamically loads language strings. You can test and use different languages by simply passing the --lang flag (e.g., --lang es for Spanish, --lang ru for Russian) or by configuring your environment's LANG variable. Automated Docs Translations: This PR introduces autonomously translated Markdown documentation into several target languages, including Spanish, Swahili, Portuguese, Turkish, Hindi, Hebrew, Arabic, Simplified Chinese, and Russian.
This commit is contained in:
parent
f976f1b6fe
commit
8954fa3ad7
560 changed files with 236300 additions and 99 deletions
271
docs/tech-specs/query-time-explainability.hi.md
Normal file
271
docs/tech-specs/query-time-explainability.hi.md
Normal file
|
|
@ -0,0 +1,271 @@
|
|||
---
|
||||
layout: default
|
||||
title: "क्वेरी-टाइम एक्सप्लेनेबिलिटी (Query-Time Explainability)"
|
||||
parent: "Hindi (Beta)"
|
||||
---
|
||||
|
||||
# क्वेरी-टाइम एक्सप्लेनेबिलिटी (Query-Time Explainability)
|
||||
|
||||
> **Beta Translation:** This document was translated via Machine Learning and as such may not be 100% accurate. All non-English languages are currently classified as Beta.
|
||||
|
||||
## स्थिति (Status)
|
||||
|
||||
कार्यान्वित (Implemented)
|
||||
|
||||
## अवलोकन (Overview)
|
||||
|
||||
यह विनिर्देश बताता है कि GraphRAG क्वेरी निष्पादन के दौरान एक्सप्लेनेबिलिटी डेटा को कैसे रिकॉर्ड और संचारित करता है। इसका लक्ष्य पूर्ण पता लगाने की क्षमता है: अंतिम उत्तर से लेकर चयनित किनारों तक और फिर स्रोत दस्तावेजों तक।
|
||||
|
||||
क्वेरी-टाइम एक्सप्लेनेबिलिटी यह कैप्चर करती है कि GraphRAG पाइपलाइन तर्क के दौरान क्या करती है। यह निष्कर्षण-समय के प्रमाण से जुड़ा है, जो रिकॉर्ड करता है कि ज्ञान ग्राफ तथ्यों की उत्पत्ति कहाँ से हुई।
|
||||
|
||||
## शब्दावली (Terminology)
|
||||
|
||||
| शब्द | परिभाषा |
|
||||
|------|------------|
|
||||
| **एक्सप्लेनेबिलिटी (Explainability)** | यह रिकॉर्ड है कि एक परिणाम कैसे प्राप्त किया गया |
|
||||
| **सेशन (Session)** | एक एकल GraphRAG क्वेरी निष्पादन |
|
||||
| **एज सिलेक्शन (Edge Selection)** | तर्क के साथ प्रासंगिक किनारों का LLM-संचालित चयन |
|
||||
| **प्रूवेनेंस चेन (Provenance Chain)** | किनारे → चंक → पृष्ठ → दस्तावेज़ से पथ |
|
||||
|
||||
## आर्किटेक्चर (Architecture)
|
||||
|
||||
### एक्सप्लेनेबिलिटी फ्लो (Explainability Flow)
|
||||
|
||||
```
|
||||
GraphRAG Query
|
||||
│
|
||||
├─► Session Activity
|
||||
│ └─► Query text, timestamp
|
||||
│
|
||||
├─► Retrieval Entity
|
||||
│ └─► All edges retrieved from subgraph
|
||||
│
|
||||
├─► Selection Entity
|
||||
│ └─► Selected edges with LLM reasoning
|
||||
│ └─► Each edge links to extraction provenance
|
||||
│
|
||||
└─► Answer Entity
|
||||
└─► Reference to synthesized response (in librarian)
|
||||
```
|
||||
|
||||
### दो-चरणीय ग्राफआरएजी पाइपलाइन
|
||||
|
||||
1. **एज चयन**: एलएलएम सबग्राफ से प्रासंगिक किनारों का चयन करता है, प्रत्येक के लिए तर्क प्रदान करता है।
|
||||
2. **संश्लेषण**: एलएलएम केवल चयनित किनारों से उत्तर उत्पन्न करता है।
|
||||
|
||||
यह अलगाव व्याख्यात्मकता को सक्षम बनाता है - हमें ठीक से पता है कि किन किनारों ने योगदान दिया।
|
||||
|
||||
### भंडारण
|
||||
|
||||
व्याख्यात्मकता ट्रिपल कॉन्फ़िगर करने योग्य संग्रह में संग्रहीत हैं (डिफ़ॉल्ट: `explainability`)।
|
||||
यह स्रोत संबंधों के लिए प्रोवी-ओ ऑन्टोलॉजी का उपयोग करता है।
|
||||
किनारे संदर्भों के लिए आरडीएफ-स्टार रीफिकेशन।
|
||||
उत्तर सामग्री लाइब्रेरियन सेवा में संग्रहीत है (इनलाइन नहीं - बहुत बड़ा)।
|
||||
|
||||
### वास्तविक समय स्ट्रीमिंग
|
||||
|
||||
व्याख्यात्मकता घटनाएँ क्लाइंट को क्वेरी निष्पादित होने के दौरान स्ट्रीम की जाती हैं:
|
||||
|
||||
1. सत्र बनाया गया → घटना उत्सर्जित।
|
||||
2. किनारे पुनर्प्राप्त किए गए → घटना उत्सर्जित।
|
||||
3. तर्क के साथ किनारे चुने गए → घटना उत्सर्जित।
|
||||
4. उत्तर संश्लेषित → घटना उत्सर्जित।
|
||||
|
||||
क्लाइंट को `explain_id` और `explain_collection` प्राप्त होते हैं ताकि पूर्ण विवरण प्राप्त किए जा सकें।
|
||||
|
||||
## यूआरआई संरचना
|
||||
|
||||
सभी यूआरआई `urn:trustgraph:` नेमस्पेस का उपयोग करते हैं जिसमें यूयूआईडी शामिल हैं:
|
||||
|
||||
| इकाई | यूआरआई पैटर्न |
|
||||
|--------|-------------|
|
||||
| सत्र | `urn:trustgraph:session:{uuid}` |
|
||||
| पुनर्प्राप्ति | `urn:trustgraph:prov:retrieval:{uuid}` |
|
||||
| चयन | `urn:trustgraph:prov:selection:{uuid}` |
|
||||
| उत्तर | `urn:trustgraph:prov:answer:{uuid}` |
|
||||
| किनारे का चयन | `urn:trustgraph:prov:edge:{uuid}:{index}` |
|
||||
|
||||
## आरडीएफ मॉडल (प्रोवी-ओ)
|
||||
|
||||
### सत्र गतिविधि
|
||||
|
||||
```turtle
|
||||
<session-uri> a prov:Activity ;
|
||||
rdfs:label "GraphRAG query session" ;
|
||||
prov:startedAtTime "2024-01-15T10:30:00Z" ;
|
||||
tg:query "What was the War on Terror?" .
|
||||
```
|
||||
|
||||
### पुनर्प्राप्ति इकाई
|
||||
|
||||
```turtle
|
||||
<retrieval-uri> a prov:Entity ;
|
||||
rdfs:label "Retrieved edges" ;
|
||||
prov:wasGeneratedBy <session-uri> ;
|
||||
tg:edgeCount 50 .
|
||||
```
|
||||
|
||||
### चयन इकाई
|
||||
|
||||
```turtle
|
||||
<selection-uri> a prov:Entity ;
|
||||
rdfs:label "Selected edges" ;
|
||||
prov:wasDerivedFrom <retrieval-uri> ;
|
||||
tg:selectedEdge <edge-sel-0> ;
|
||||
tg:selectedEdge <edge-sel-1> .
|
||||
|
||||
<edge-sel-0> tg:edge << <s> <p> <o> >> ;
|
||||
tg:reasoning "This edge establishes the key relationship..." .
|
||||
```
|
||||
|
||||
### उत्तर इकाई
|
||||
|
||||
```turtle
|
||||
<answer-uri> a prov:Entity ;
|
||||
rdfs:label "GraphRAG answer" ;
|
||||
prov:wasDerivedFrom <selection-uri> ;
|
||||
tg:document <urn:trustgraph:answer:{uuid}> .
|
||||
```
|
||||
|
||||
`tg:document` संदर्भ लाइब्रेरियन सेवा में संग्रहीत उत्तर को दर्शाता है।
|
||||
|
||||
## नेमस्पेस स्थिरांक
|
||||
|
||||
`trustgraph-base/trustgraph/provenance/namespaces.py` में परिभाषित:
|
||||
|
||||
| स्थिरांक | यूआरआई |
|
||||
|----------|-----|
|
||||
| `TG_QUERY` | `https://trustgraph.ai/ns/query` |
|
||||
| `TG_EDGE_COUNT` | `https://trustgraph.ai/ns/edgeCount` |
|
||||
| `TG_SELECTED_EDGE` | `https://trustgraph.ai/ns/selectedEdge` |
|
||||
| `TG_EDGE` | `https://trustgraph.ai/ns/edge` |
|
||||
| `TG_REASONING` | `https://trustgraph.ai/ns/reasoning` |
|
||||
| `TG_CONTENT` | `https://trustgraph.ai/ns/content` |
|
||||
| `TG_DOCUMENT` | `https://trustgraph.ai/ns/document` |
|
||||
|
||||
## GraphRagResponse स्कीमा
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
class GraphRagResponse:
|
||||
error: Error | None = None
|
||||
response: str = ""
|
||||
end_of_stream: bool = False
|
||||
explain_id: str | None = None
|
||||
explain_collection: str | None = None
|
||||
message_type: str = "" # "chunk" or "explain"
|
||||
end_of_session: bool = False
|
||||
```
|
||||
|
||||
### संदेश प्रकार
|
||||
|
||||
| संदेश_प्रकार | उद्देश्य |
|
||||
|--------------|---------|
|
||||
| `chunk` | प्रतिक्रिया पाठ (स्ट्रीमिंग या अंतिम) |
|
||||
| `explain` | आईआरआई संदर्भ के साथ व्याख्यात्मक घटना |
|
||||
|
||||
### सत्र जीवनचक्र
|
||||
|
||||
1. कई `explain` संदेश (सत्र, पुनर्प्राप्ति, चयन, उत्तर)
|
||||
2. कई `chunk` संदेश (स्ट्रीमिंग प्रतिक्रिया)
|
||||
3. `end_of_session=True` के साथ अंतिम `chunk`
|
||||
|
||||
## एज चयन प्रारूप
|
||||
|
||||
एलएलएम चयनित किनारों के साथ JSONL लौटाता है:
|
||||
|
||||
```jsonl
|
||||
{"id": "edge-hash-1", "reasoning": "This edge shows the key relationship..."}
|
||||
{"id": "edge-hash-2", "reasoning": "Provides supporting evidence..."}
|
||||
```
|
||||
|
||||
`id`, `(labeled_s, labeled_p, labeled_o)` का एक हैश है, जिसकी गणना `edge_id()` द्वारा की जाती है।
|
||||
|
||||
## यूआरआई का संरक्षण
|
||||
|
||||
### समस्या
|
||||
|
||||
GraphRAG, एलएलएम को समझने योग्य लेबल प्रदर्शित करता है, लेकिन स्पष्टीकरण के लिए मूल यूआरआई की आवश्यकता होती है ताकि स्रोत का पता लगाया जा सके।
|
||||
|
||||
### समाधान
|
||||
|
||||
`get_labelgraph()` दोनों लौटाता है:
|
||||
`labeled_edges`: एलएलएम के लिए `(label_s, label_p, label_o)` की सूची
|
||||
`uri_map`: एक डिक्शनरी जो `edge_id(labels)` को `(uri_s, uri_p, uri_o)` से जोड़ती है।
|
||||
|
||||
जब व्याख्यात्मक डेटा संग्रहीत किया जाता है, तो `uri_map` से यूआरआई का उपयोग किया जाता है।
|
||||
|
||||
## उत्पत्ति अनुरेखण
|
||||
|
||||
### किनारे से स्रोत तक
|
||||
|
||||
चयनित किनारों को मूल दस्तावेजों तक वापस ट्रेस किया जा सकता है:
|
||||
|
||||
1. समाहित उपग्राफ के लिए क्वेरी करें: `?subgraph tg:contains <<s p o>>`
|
||||
2. मूल दस्तावेज़ तक `prov:wasDerivedFrom` श्रृंखला का पालन करें
|
||||
3. श्रृंखला में प्रत्येक चरण: खंड → पृष्ठ → दस्तावेज़
|
||||
|
||||
### कैसेंड्रा उद्धृत त्रिक समर्थन
|
||||
|
||||
कैसेंड्रा क्वेरी सेवा उद्धृत त्रिकों के मिलान का समर्थन करती है:
|
||||
|
||||
```python
|
||||
# In get_term_value():
|
||||
elif term.type == TRIPLE:
|
||||
return serialize_triple(term.triple)
|
||||
```
|
||||
|
||||
यह इस तरह के प्रश्नों को सक्षम करता है:
|
||||
```
|
||||
?subgraph tg:contains <<http://example.org/s http://example.org/p "value">>
|
||||
```
|
||||
|
||||
## कमांड लाइन इंटरफेस (CLI) का उपयोग
|
||||
|
||||
```bash
|
||||
tg-invoke-graph-rag --explainable -q "What was the War on Terror?"
|
||||
```
|
||||
|
||||
### आउटपुट प्रारूप
|
||||
|
||||
```
|
||||
[session] urn:trustgraph:session:abc123
|
||||
|
||||
[retrieval] urn:trustgraph:prov:retrieval:abc123
|
||||
|
||||
[selection] urn:trustgraph:prov:selection:abc123
|
||||
Selected 12 edge(s)
|
||||
Edge: (Guantanamo, definition, A detention facility...)
|
||||
Reason: Directly connects Guantanamo to the War on Terror
|
||||
Source: Chunk 1 → Page 2 → Beyond the Vigilant State
|
||||
|
||||
[answer] urn:trustgraph:prov:answer:abc123
|
||||
|
||||
Based on the provided knowledge statements...
|
||||
```
|
||||
|
||||
### विशेषताएं
|
||||
|
||||
क्वेरी के दौरान वास्तविक समय में व्याख्यात्मक घटनाएं।
|
||||
`rdfs:label` के माध्यम से एज घटकों के लिए लेबल समाधान।
|
||||
`prov:wasDerivedFrom` के माध्यम से स्रोत श्रृंखला का पता लगाना।
|
||||
बार-बार क्वेरी से बचने के लिए लेबल कैशिंग।
|
||||
|
||||
## कार्यान्वित फाइलें
|
||||
|
||||
| फ़ाइल | उद्देश्य |
|
||||
|------|---------|
|
||||
| `trustgraph-base/trustgraph/provenance/uris.py` | यूआरआई जनरेटर |
|
||||
| `trustgraph-base/trustgraph/provenance/namespaces.py` | आरडीएफ नेमस्पेस स्थिरांक |
|
||||
| `trustgraph-base/trustgraph/provenance/triples.py` | ट्रिपल बिल्डर |
|
||||
| `trustgraph-base/trustgraph/schema/services/retrieval.py` | GraphRagResponse स्कीमा |
|
||||
| `trustgraph-flow/trustgraph/retrieval/graph_rag/graph_rag.py` | यूआरआई संरक्षण के साथ मुख्य GraphRAG |
|
||||
| `trustgraph-flow/trustgraph/retrieval/graph_rag/rag.py` | लाइब्रेरियन एकीकरण के साथ सेवा |
|
||||
| `trustgraph-flow/trustgraph/query/triples/cassandra/service.py` | उद्धृत ट्रिपल क्वेरी समर्थन |
|
||||
| `trustgraph-cli/trustgraph/cli/invoke_graph_rag.py` | व्याख्यात्मक प्रदर्शन के साथ सीएलआई |
|
||||
|
||||
## संदर्भ
|
||||
|
||||
PROV-O (डब्ल्यू3सी प्रोवेनेंस ऑन्टोलॉजी): https://www.w3.org/TR/prov-o/
|
||||
RDF-star: https://w3c.github.io/rdf-star/
|
||||
निष्कर्षण-समय प्रोवेनेंस: `docs/tech-specs/extraction-time-provenance.md`
|
||||
Loading…
Add table
Add a link
Reference in a new issue