2026-04-10 23:20:41 -04:00
---
layout: default
title: "Veri Çı karma Akı şları "
parent: "Turkish (Beta)"
---
2026-04-06 14:50:34 -04:00
# Veri Çı karma Akı şları
2026-04-10 23:20:41 -04:00
> **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.
2026-04-06 14:50:34 -04:00
Bu belge, verilerin TrustGraph veri çı karma işlem hattı üzerinden nası l aktı ğı nı , belge gönderiminden başlayarak bilgi depoları na kaydedilmesine kadar olan süreci açı klamaktadı r.
## Genel Bakı ş
```
┌──────────┐ ┌─────────────┐ ┌─────────┐ ┌────────────────────┐
│ Librarian│────▶│ PDF Decoder │────▶│ Chunker │────▶│ Knowledge │
│ │ │ (PDF only) │ │ │ │ Extraction │
│ │────────────────────────▶│ │ │ │
└──────────┘ └─────────────┘ └─────────┘ └────────────────────┘
│ │
│ ├──▶ Triples
│ ├──▶ Entity Contexts
│ └──▶ Rows
│
└──▶ Document Embeddings
```
## İçerik Depolama
### Blob Depolama (S3/Minio)
Belge içeriği, S3 uyumlu blob depolama alanı nda saklanı r:
Yol formatı : `doc/{object_id}` , burada object_id bir UUID'dir.
Tüm belge türleri burada saklanı r: kaynak belgeler, sayfalar, parçalar.
### Metaveri Depolama (Cassandra)
Cassandra'da saklanan belge metaverileri şunları içerir:
Belge ID'si, başlı k, tür (MIME türü).
Blob depolama alanı na `object_id` referansı .
Alt belgelere (sayfalar, parçalar) ait `parent_id` .
`document_type` : "kaynak", "sayfa", "parça", "cevap".
### İçerik vs. Akı ş Eşiği
İçerik iletimi, boyuta dayalı bir strateji kullanı r:
**< 2MB * * : İçerik , mesaj içinde ( base64 ile kodlanmı ş ) yer alı r .
**≥ 2MB**: Yalnı zca `document_id` gönderilir; işlemci, kütüphaneci API'si aracı lı ğı yla içeriği alı r.
## 1. Aşama: Belge Gönderimi (Kütüphaneci)
### Giriş Noktası
Belgeler, kütüphanecinin `add-document` işlemi aracı lı ğı yla sisteme girer:
1. İçerik, blob depolama alanı na yüklenir.
2. Cassandra'da bir metaveri kaydı oluşturulur.
3. Belge ID'si döndürülür.
### Çı karı m Tetikleme
`add-processing` işlemi, çı karı mı tetikler:
`document_id` , `flow` (işlem hattı ID'si) ve `collection` (hedef depolama alanı ) belirtir.
Kütüphanecinin `load_document()` işlemi, içeriği alı r ve akı ş giriş kuyruğuna yayı nlar.
### Şema: Belge
```
Document
├── metadata: Metadata
│ ├── id: str # Document identifier
│ ├── user: str # Tenant/user ID
│ ├── collection: str # Target collection
│ └── metadata: list[Triple] # (largely unused, historical)
├── data: bytes # PDF content (base64, if inline)
└── document_id: str # Librarian reference (if streaming)
```
**Yönlendirme**: `kind` alanı na göre:
`application/pdf` → `document-load` kuyruğu → PDF Kod Çözücü
`text/plain` → `text-load` kuyruğu → Parçalayı cı
## 2. Aşama: PDF Kod Çözücü
PDF belgelerini metin sayfaları na dönüştürür.
### İşlem
1. İçeriği al (doğrudan `data` veya `document_id` üzerinden kütüphaneciden)
2. Sayfaları PyPDF kullanarak çı kar
3. Her sayfa için:
Kütüphanecide alt belge olarak kaydet (`{doc_id}/p{page_num}` )
Kaynak üçlülerini yayı nla (sayfa, belgeden türetilmiştir)
Parçalayı cı ya ilet
### Şema: TextDocument
```
TextDocument
├── metadata: Metadata
│ ├── id: str # Page URI (e.g., https://trustgraph.ai/doc/xxx/p1)
│ ├── user: str
│ ├── collection: str
│ └── metadata: list[Triple]
├── text: bytes # Page text content (if inline)
└── document_id: str # Librarian reference (e.g., "doc123/p1")
```
## 3. Aşama: Parçalayı cı (Chunker)
Metni, yapı landı rı lmı ş boyutta parçalara ayı rı r.
### Parametreler (akı şa bağı mlı olarak yapı landı rı labilir)
`chunk_size` : Karakter cinsinden hedef parça boyutu (varsayı lan: 2000)
`chunk_overlap` : Parçalar arası ndaki örtüşme (varsayı lan: 100)
### İşlem
1. Metin içeriğini alı n (doğrudan veya kütüphaneci aracı lı ğı yla)
2. Özyinelemeli karakter ayı rı cı kullanarak parçalara ayı rı n
3. Her parça için:
Kütüphanecide alt belge olarak kaydedin (`{parent_id}/c{index}` )
Kaynak bilgilerini yayı nlayı n (parça, sayfadan/belgeden türetilmiştir)
Çı karma işleme modüllerine yönlendirin
### Şema: Parça (Chunk)
```
Chunk
├── metadata: Metadata
│ ├── id: str # Chunk URI
│ ├── user: str
│ ├── collection: str
│ └── metadata: list[Triple]
├── chunk: bytes # Chunk text content
└── document_id: str # Librarian chunk ID (e.g., "doc123/p1/c3")
```
### Belge Kimlik Hiyerarşisi
Alt belgeler, kimlik içinde kendi kökenlerini kodlar:
Kaynak: `doc123`
Sayfa: `doc123/p5`
Sayfadan parça: `doc123/p5/c2`
Metinden parça: `doc123/c2`
## 4. Aşama: Bilgi Çı karı mı
Kullanı labilir çoklu çı karma kalı pları , akı ş yapı landı rması tarafı ndan seçilir.
### Kalı p A: Temel GraphRAG
İki paralel işlemci:
**kg-extract-definitions**
Giriş: Parça
Çı kı ş: Üçlüler (varlı k tanı mları ), Varlı k Bağlamları
Çı karı r: varlı k etiketleri, tanı mlar
**kg-extract-relationships**
Giriş: Parça
Çı kı ş: Üçlüler (ilişkiler), Varlı k Bağlamları
Çı karı r: özne-yüklem-nesne ilişkileri
### Kalı p B: Ontoloji Odaklı (kg-extract-ontology)
Giriş: Parça
Çı kı ş: Üçlüler, Varlı k Bağlamları
Çı karı mı yönlendirmek için yapı landı rı lmı ş bir ontoloji kullanı r
### Kalı p C: Ajan Tabanlı (kg-extract-agent)
Giriş: Parça
Çı kı ş: Üçlüler, Varlı k Bağlamları
Çı karı m için ajan çerçevesini kullanı r
### Kalı p D: Satı r Çı karı mı (kg-extract-rows)
Giriş: Parça
Çı kı ş: Satı rlar (üçlüler değil, yapı landı rı lmı ş veri)
Yapı landı rı lmı ş kayı tları çı karmak için şema tanı mı nı kullanı r
### Şema: Üçlüler
```
Triples
├── metadata: Metadata
│ ├── id: str
│ ├── user: str
│ ├── collection: str
│ └── metadata: list[Triple] # (set to [] by extractors)
└── triples: list[Triple]
└── Triple
├── s: Term # Subject
├── p: Term # Predicate
├── o: Term # Object
└── g: str | None # Named graph
```
### Şema: Varlı k Bağlamları
```
EntityContexts
├── metadata: Metadata
└── entities: list[EntityContext]
└── EntityContext
├── entity: Term # Entity identifier (IRI)
├── context: str # Textual description for embedding
└── chunk_id: str # Source chunk ID (provenance)
```
### Şema: Satı rlar
```
Rows
├── metadata: Metadata
├── row_schema: RowSchema
│ ├── name: str
│ ├── description: str
│ └── fields: list[Field]
└── rows: list[dict[str, str]] # Extracted records
```
## 5. Aşama: Gömme (Embedding) Oluşturma
### Grafik Gömme (Graph Embeddings)
Varlı k bağlamları nı vektör gömmelerine dönüştürür.
**Süreç:**
1. Varlı k Bağlamları nı Alı n
2. Bağlam metniyle gömme hizmetini çağı rı n
3. GrafikGömme'leri Çı ktı layı n (varlı k → vektör eşlemesi)
**Şema: GrafikGömme (GraphEmbeddings)**
```
GraphEmbeddings
├── metadata: Metadata
└── entities: list[EntityEmbeddings]
└── EntityEmbeddings
├── entity: Term # Entity identifier
├── vector: list[float] # Embedding vector
└── chunk_id: str # Source chunk (provenance)
```
### Belge Gömme (Document Embeddings)
Parça metnini doğrudan vektör gömmelerine dönüştürür.
**Süreç:**
1. Parçayı Al
2. Parça metniyle gömme hizmetini çağı r
3. DocumentEmbeddings çı ktı sı nı ver
**Şema: DocumentEmbeddings**
```
DocumentEmbeddings
├── metadata: Metadata
└── chunks: list[ChunkEmbeddings]
└── ChunkEmbeddings
├── chunk_id: str # Chunk identifier
└── vector: list[float] # Embedding vector
```
### Satı r Gömme (Row Embeddings)
Satı r indeks alanları nı vektör gömmelerine dönüştürür.
**İşlem:**
1. Satı rları Al
2. Yapı landı rı lmı ş indeks alanları nı göm
3. Satı r vektör deposuna çı ktı ver
## 6. Aşama: Depolama
### Üçlü Depo (Triple Store)
Gelen: Üçlüler
Depolama: Cassandra (varlı k odaklı tablolar)
İsimlendirilmiş grafikler, temel bilgiyi köken bilgisinden ayı rı r:
`""` (varsayı lan): Temel bilgi gerçekleri
`urn:graph:source` : Çı karma kökeni
`urn:graph:retrieval` : Sorgu zamanı açı klanabilirliği
### Vektör Deposu (Grafik Gömme)
Gelen: GrafikGömme (GraphEmbeddings)
Depolama: Qdrant, Milvus veya Pinecone
Dizin: Varlı k IRI'si ile
Metaveri: Köken için chunk_id
### Vektör Deposu (Belge Gömme)
Gelen: BelgeGömme (DocumentEmbeddings)
Depolama: Qdrant, Milvus veya Pinecone
Dizin: chunk_id ile
### Satı r Deposu (Row Store)
Gelen: Satı rlar
Depolama: Cassandra
Şema odaklı tablo yapı sı
### Satı r Vektör Deposu
Gelen: Satı r gömmeleri
Depolama: Vektör Veritabanı
Dizin: Satı r indeks alanları ile
## Metaveri Alanı Analizi
### Aktif Olarak Kullanı lan Alanlar
| Alan | Kullanı m |
|-------|-------|
| `metadata.id` | Belge/parça tanı mlayı cı , günlükleme, köken |
| `metadata.user` | Çoklu kiracı lı k, depolama yönlendirme |
| `metadata.collection` | Hedef koleksiyon seçimi |
| `document_id` | Kütüphaneci referansı , köken bağlantı sı |
| `chunk_id` | İşlem hattı boyunca köken takibi |
< < < < < < < HEAD
### Potansiyel Olarak Gereksiz Alanlar
| Alan | Durum |
|-------|--------|
| `metadata.metadata` | Tüm çı karı cı lar tarafı ndan `[]` olarak ayarlanı r; belge düzeyindeki metaveri artı k gönderim zamanı nda kütüphaneci tarafı ndan işlenir |
=======
### Kaldı rı lan Alanlar
| Alan | Durum |
|-------|--------|
| `metadata.metadata` | `Metadata` sı nı fı ndan kaldı rı ldı . Belge düzeyindeki metaveri üçlüleri artı k kütüphaneci tarafı ndan doğrudan üçlü depoya gönderim zamanı nda gönderilir, çı karma hattı üzerinden taşı nmaz. |
>>>>>>> e3bcbf73 (The metadata field (list of triples) in the pipeline Metadata class)
### Bayt Alanı Modeli
Tüm içerik alanları (`data` , `text` , `chunk` ) `bytes` 'tür, ancak tüm işlemciler tarafı ndan hemen UTF-8 dizelerine kod çözülür. İşlemci tarafı ndan ham bayt kullanı lmaz.
## Akı ş Yapı landı rması
Akı şlar harici olarak tanı mlanı r ve kütüphaneci aracı lı ğı yla yapı landı rma hizmetinden sağlanı r. Her akı ş şunları belirtir:
Giriş kuyrukları (`text-load` , `document-load` )
İşlemci zinciri
Parametreler (parça boyutu, çı karma yöntemi, vb.)
Örnek akı ş modelleri:
`pdf-graphrag` : PDF → Kod Çözücü → Parçalayı cı → Tanı mlar + İlişkiler → Gömme
`text-graphrag` : Metin → Parçalayı cı → Tanı mlar + İlişkiler → Gömme
`pdf-ontology` : PDF → Kod Çözücü → Parçalayı cı → Ontoloji Çı karma → Gömme
`text-rows` : Metin → Parçalayı cı → Satı r Çı karma → Satı r Deposu