mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-26 00:46:22 +02:00
281 lines
12 KiB
Markdown
281 lines
12 KiB
Markdown
---
|
||
layout: default
|
||
title: "Yapılandırılmış Veri Tanı Hizmeti Teknik Özellikleri"
|
||
parent: "Turkish (Beta)"
|
||
---
|
||
|
||
# Yapılandırılmış Veri Tanı Hizmeti Teknik Özellikleri
|
||
|
||
> **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.
|
||
|
||
## Genel Bakış
|
||
|
||
Bu özellik, TrustGraph içinde yapılandırılmış verileri teşhis etmek ve analiz etmek için yeni bir kullanılabilir hizmeti tanımlar. Bu hizmet, mevcut `tg-load-structured-data` komut satırı aracından işlevleri ayırır ve bunları istek/yanıt hizmeti olarak sunar, böylece veri türü algılama ve tanımlayıcı oluşturma yeteneklerine programlı erişim sağlar.
|
||
|
||
Bu hizmet, üç birincil işlemi destekler:
|
||
|
||
1. **Veri Türü Algılama**: Bir veri örneğinin biçimini (CSV, JSON veya XML) belirlemek için analiz gerçekleştirin.
|
||
2. **Tanımlayıcı Oluşturma**: Verilen bir veri örneği ve tür için bir TrustGraph yapılandırılmış veri tanımlayıcısı oluşturun.
|
||
3. **Birleşik Tanı**: Hem tür algılama hem de tanımlayıcı oluşturmayı sırayla gerçekleştirin.
|
||
|
||
## Hedefler
|
||
|
||
**Veri Analizini Modülerleştirme**: Veri teşhis mantığını CLI'dan yeniden kullanılabilir hizmet bileşenlerine ayırma.
|
||
**Programlı Erişimi Sağlama**: Veri analiz yeteneklerine API tabanlı erişim sağlama.
|
||
**Çoklu Veri Biçimlerini Destekleme**: CSV, JSON ve XML veri biçimlerini tutarlı bir şekilde işleme.
|
||
**Doğru Tanımlayıcılar Oluşturma**: Kaynak verileri TrustGraph şemalarına doğru bir şekilde eşleyen yapılandırılmış veri tanımlayıcıları oluşturma.
|
||
**Geriye Dönük Uyumluluğu Koruma**: Mevcut CLI işlevselliğinin çalışmaya devam etmesini sağlama.
|
||
**Hizmet Birleştirme İmkanı Sağlama**: Diğer hizmetlerin veri teşhis yeteneklerinden yararlanmasına olanak sağlama.
|
||
**Test Edilebilirliği Artırma**: İş mantığını CLI arayüzünden ayırarak daha iyi test imkanı sağlama.
|
||
**Akış Analizini Destekleme**: Tüm dosyaları yüklemeden veri örneklerinin analizini yapma imkanı sağlama.
|
||
|
||
## Arka Plan
|
||
|
||
Şu anda, `tg-load-structured-data` komutu, yapılandırılmış verileri analiz etmek ve tanımlayıcılar oluşturmak için kapsamlı işlevsellik sağlar. Ancak, bu işlevsellik CLI arayüzüne sıkı bir şekilde bağlıdır ve yeniden kullanılabilirliğini sınırlar.
|
||
|
||
Mevcut sınırlamalar şunlardır:
|
||
Veri teşhis mantığının CLI kodunda yer alması.
|
||
Tür algılama ve tanımlayıcı oluşturma için programlı erişimin olmaması.
|
||
Teşhis yeteneklerinin diğer hizmetlere entegre edilmesinin zor olması.
|
||
Veri analiz iş akışlarının birleştirme yeteneğinin sınırlı olması.
|
||
|
||
Bu özellik, yapılandırılmış veri teşhisi için özel bir hizmet oluşturarak bu boşlukları giderir. Bu yetenekleri bir hizmet olarak sunarak, TrustGraph şunları yapabilir:
|
||
Diğer hizmetlerin verileri programlı olarak analiz etmesine olanak sağlama.
|
||
Daha karmaşık veri işleme süreçlerini destekleme.
|
||
Harici sistemlerle entegrasyonu kolaylaştırma.
|
||
Endişelerin ayrılması yoluyla bakım kolaylığını artırma.
|
||
|
||
## Teknik Tasarım
|
||
|
||
### Mimari
|
||
|
||
Yapılandırılmış veri teşhis hizmeti, aşağıdaki teknik bileşenleri gerektirir:
|
||
|
||
1. **Teşhis Hizmeti İşlemcisi**
|
||
Gelen teşhis isteklerini işler.
|
||
Tür algılama ve tanımlayıcı oluşturmayı koordine eder.
|
||
Teşhis sonuçlarıyla yapılandırılmış yanıtlar döndürür.
|
||
|
||
Modül: `trustgraph-flow/trustgraph/diagnosis/structured_data/service.py`
|
||
|
||
2. **Veri Türü Algılayıcı**
|
||
Algoritmik algılama kullanarak veri biçimini (CSV, JSON, XML) belirler.
|
||
Veri yapısını, ayırıcıları ve sözdizimi kalıplarını analiz eder.
|
||
Algılanan biçimi ve güvenilirlik puanlarını döndürür.
|
||
|
||
Modül: `trustgraph-flow/trustgraph/diagnosis/structured_data/type_detector.py`
|
||
|
||
3. **Tanımlayıcı Oluşturucu**
|
||
Tanımlayıcılar oluşturmak için bir istem hizmetini kullanır.
|
||
Biçime özgü istemleri (diagnose-csv, diagnose-json, diagnose-xml) çağırır.
|
||
Veri alanlarını, istem yanıtları aracılığıyla TrustGraph şema alanlarına eşler.
|
||
|
||
Modül: `trustgraph-flow/trustgraph/diagnosis/structured_data/descriptor_generator.py`
|
||
|
||
### Veri Modelleri
|
||
|
||
#### StructuredDataDiagnosisRequest
|
||
|
||
Yapılandırılmış veri teşhis işlemleri için istek mesajı:
|
||
|
||
```python
|
||
class StructuredDataDiagnosisRequest:
|
||
operation: str # "detect-type", "generate-descriptor", or "diagnose"
|
||
sample: str # Data sample to analyze (text content)
|
||
type: Optional[str] # Data type (csv, json, xml) - required for generate-descriptor
|
||
schema_name: Optional[str] # Target schema name for descriptor generation
|
||
options: Dict[str, Any] # Additional options (e.g., delimiter for CSV)
|
||
```
|
||
|
||
#### YapılandırılmışVeriTeşhisYanıtı
|
||
|
||
Teşhis sonuçlarını içeren yanıt mesajı:
|
||
|
||
```python
|
||
class StructuredDataDiagnosisResponse:
|
||
operation: str # The operation that was performed
|
||
detected_type: Optional[str] # Detected data type (for detect-type/diagnose)
|
||
confidence: Optional[float] # Confidence score for type detection
|
||
descriptor: Optional[Dict] # Generated descriptor (for generate-descriptor/diagnose)
|
||
error: Optional[str] # Error message if operation failed
|
||
metadata: Dict[str, Any] # Additional metadata (e.g., field count, sample records)
|
||
```
|
||
|
||
#### Açıklayıcı Yapı
|
||
|
||
Oluşturulan açıklayıcı, mevcut yapılandırılmış veri açıklayıcı biçimini izler:
|
||
|
||
```json
|
||
{
|
||
"format": {
|
||
"type": "csv",
|
||
"encoding": "utf-8",
|
||
"options": {
|
||
"delimiter": ",",
|
||
"has_header": true
|
||
}
|
||
},
|
||
"mappings": [
|
||
{
|
||
"source_field": "customer_id",
|
||
"target_field": "id",
|
||
"transforms": [
|
||
{"type": "trim"}
|
||
]
|
||
}
|
||
],
|
||
"output": {
|
||
"schema_name": "customer",
|
||
"options": {
|
||
"batch_size": 1000,
|
||
"confidence": 0.9
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### Hizmet Arayüzü
|
||
|
||
Hizmet, istek/yanıt kalıbı aracılığıyla aşağıdaki işlemleri sunacaktır:
|
||
|
||
1. **Tip Algılama İşlemi**
|
||
Giriş: Veri örneği
|
||
İşlem: Algoritmik algılama kullanarak veri yapısını analiz etme
|
||
Çıkış: Belirlenen tip ve güvenilirlik skoru
|
||
|
||
2. **Açıklayıcı Oluşturma İşlemi**
|
||
Giriş: Veri örneği, tip, hedef şema adı
|
||
İşlem:
|
||
Biçime özgü bir istem kimliği (diagnose-csv, diagnose-json veya diagnose-xml) ile istem hizmetini çağırın.
|
||
Veri örneğini ve mevcut şemaları isteme iletin.
|
||
İstem yanıtından oluşturulan açıklayıcıyı alın.
|
||
Çıkış: Yapılandırılmış veri açıklayıcısı
|
||
|
||
3. **Birleşik Tanılama İşlemi**
|
||
Giriş: Veri örneği, isteğe bağlı şema adı
|
||
İşlem:
|
||
Önce algoritmik algılama kullanarak biçimi belirleyin.
|
||
Belirlenen tipe göre uygun biçime özgü istemi seçin.
|
||
Açıklayıcı oluşturmak için istem hizmetini çağırın.
|
||
Çıkış: Hem belirlenen tip hem de açıklayıcı
|
||
|
||
### Uygulama Detayları
|
||
|
||
Hizmet, TrustGraph hizmeti geleneklerini takip edecektir:
|
||
|
||
1. **Hizmet Kaydı**
|
||
`structured-diag` hizmet türü olarak kaydedin
|
||
Standart istek/yanıt konularını kullanın
|
||
FlowProcessor temel sınıfını uygulayın
|
||
İstem hizmeti etkileşimi için PromptClientSpec'i kaydedin
|
||
|
||
2. **Yapılandırma Yönetimi**
|
||
Şema yapılandırmalarına yapılandırma hizmeti aracılığıyla erişin
|
||
Performans için şemaları önbelleğe alın
|
||
Yapılandırma güncellemelerini dinamik olarak işleyin
|
||
|
||
3. **İstem Entegrasyonu**
|
||
Mevcut istem hizmeti altyapısını kullanın
|
||
Biçime özgü istem kimlikleriyle istem hizmetini çağırın:
|
||
`diagnose-csv`: CSV verisi analizi için
|
||
`diagnose-json`: JSON verisi analizi için
|
||
`diagnose-xml`: XML verisi analizi için
|
||
İstemler, hizmette sabit kodlanmış olan istem yapılandırmasında yapılandırılmıştır.
|
||
Şemaları ve veri örneklerini istem değişkenleri olarak iletin
|
||
Açıklayıcıları çıkarmak için istem yanıtlarını ayrıştırın
|
||
|
||
4. **Hata Yönetimi**
|
||
Giriş veri örneklerini doğrulayın
|
||
Açıklayıcı hata mesajları sağlayın
|
||
Hatalı verileri zarif bir şekilde işleyin
|
||
İstem hizmeti hatalarını işleyin
|
||
|
||
5. **Veri Örneklemesi**
|
||
Yapılandırılabilir örnek boyutlarını işleyin
|
||
Eksik kayıtları uygun şekilde işleyin
|
||
Örnekleme tutarlılığını koruyun
|
||
|
||
### API Entegrasyonu
|
||
|
||
Hizmet, mevcut TrustGraph API'leriyle entegre olacaktır:
|
||
|
||
Değiştirilen Bileşenler:
|
||
`tg-load-structured-data` CLI - Tanılama işlemleri için yeni hizmeti kullanmak üzere yeniden düzenlendi
|
||
Flow API - Yapılandırılmış veri tanılama isteklerini desteklemek üzere genişletildi
|
||
|
||
Yeni Hizmet Uç Noktaları:
|
||
`/api/v1/flow/{flow}/diagnose/structured-data` - Tanılama istekleri için WebSocket uç noktası
|
||
`/api/v1/diagnose/structured-data` - Senkron tanılama için REST uç noktası
|
||
|
||
### Mesaj Akışı
|
||
|
||
```
|
||
Client → Gateway → Structured Diag Service → Config Service (for schemas)
|
||
↓
|
||
Type Detector (algorithmic)
|
||
↓
|
||
Prompt Service (diagnose-csv/json/xml)
|
||
↓
|
||
Descriptor Generator (parses prompt response)
|
||
↓
|
||
Client ← Gateway ← Structured Diag Service (response)
|
||
```
|
||
|
||
## Güvenlik Hususları
|
||
|
||
Enjeksiyon saldırılarını önlemek için girdi doğrulama
|
||
DoS saldırılarını önlemek için veri örnekleri üzerindeki boyut sınırlamaları
|
||
Oluşturulan tanımlayıcıların temizlenmesi
|
||
Mevcut TrustGraph kimlik doğrulama aracılığıyla erişim kontrolü
|
||
|
||
## Performans Hususları
|
||
|
||
Yapılandırma hizmeti çağrılarını azaltmak için şema tanımlarını önbelleğe alın
|
||
Duyarlı performansı korumak için örnek boyutlarını sınırlayın
|
||
Büyük veri örnekleri için akış işleme kullanın
|
||
Uzun süren analizler için zaman aşımı mekanizmaları uygulayın
|
||
|
||
## Test Stratejisi
|
||
|
||
1. **Birim Testleri**
|
||
Çeşitli veri formatları için tür tespiti
|
||
Tanımlayıcı oluşturma doğruluğu
|
||
Hata işleme senaryoları
|
||
|
||
2. **Entegrasyon Testleri**
|
||
Hizmet istek/yanıt akışı
|
||
Şema alma ve önbelleğe alma
|
||
CLI entegrasyonu
|
||
|
||
3. **Performans Testleri**
|
||
Büyük örnek işleme
|
||
Eşzamanlı istek işleme
|
||
Yük altında bellek kullanımı
|
||
|
||
## Geçiş Planı
|
||
|
||
1. **1. Aşama**: Temel işlevselliğe sahip hizmeti uygulayın
|
||
2. **2. Aşama**: CLI'ı hizmeti kullanacak şekilde yeniden düzenleyin (geriye dönük uyumluluğu koruyun)
|
||
3. **3. Aşama**: REST API uç noktaları ekleyin
|
||
4. **4. Aşama**: Gömülü CLI mantığını kullanımdan kaldırın (bildirim süresiyle)
|
||
|
||
## Zaman Çizelgesi
|
||
|
||
1-2. Hafta: Temel hizmeti ve tür tespitini uygulayın
|
||
3-4. Hafta: Tanımlayıcı oluşturmayı ve entegrasyonu ekleyin
|
||
5. Hafta: Test ve dokümantasyon
|
||
6. Hafta: CLI yeniden düzenlemesi ve geçiş
|
||
|
||
## Açık Sorular
|
||
|
||
Hizmet, ek veri formatlarını (örneğin, Parquet, Avro) desteklemeli mi?
|
||
Analiz için maksimum örnek boyutu ne olmalıdır?
|
||
Teşhis sonuçları, tekrarlanan istekler için önbelleğe alınmalı mı?
|
||
Hizmet, çoklu şema senaryolarını nasıl işlemelidir?
|
||
İstek kimlikleri, hizmet için yapılandırılabilir parametreler olmalı mı?
|
||
|
||
## Referanslar
|
||
|
||
[Yapılandırılmış Veri Tanımlayıcı Özellikleri](structured-data-descriptor.md)
|
||
[Yapılandırılmış Veri Yükleme Dokümantasyonu](structured-data.md)
|
||
`tg-load-structured-data` uygulaması: `trustgraph-cli/trustgraph/cli/load_structured_data.py`
|