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.
4.7 KiB
| layout | title | parent |
|---|---|---|
| default | Şema Dizini Yeniden Düzenleme Önerisi | Turkish (Beta) |
Şema Dizini Yeniden Düzenleme Önerisi
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.
Mevcut Sorunlar
- Düz yapı - Tüm şemaların tek bir dizinde olması, ilişkileri anlamayı zorlaştırıyor.
- Karışık konular - Temel tipler, alan nesneleri ve API sözleşmeleri bir arada bulunuyor.
- Belirsiz adlandırma - "object.py", "types.py", "topic.py" gibi dosyalar, amaçlarını açıkça belirtmiyor.
- Açık katmanlama yok - Neyin neye bağlı olduğunu kolayca görmek mümkün değil.
Önerilen Yapı
trustgraph-base/trustgraph/schema/
├── __init__.py
├── core/ # Core primitive types used everywhere
│ ├── __init__.py
│ ├── primitives.py # Error, Value, Triple, Field, RowSchema
│ ├── metadata.py # Metadata record
│ └── topic.py # Topic utilities
│
├── knowledge/ # Knowledge domain models and extraction
│ ├── __init__.py
│ ├── graph.py # EntityContext, EntityEmbeddings, Triples
│ ├── document.py # Document, TextDocument, Chunk
│ ├── knowledge.py # Knowledge extraction types
│ ├── embeddings.py # All embedding-related types (moved from multiple files)
│ └── nlp.py # Definition, Topic, Relationship, Fact types
│
└── services/ # Service request/response contracts
├── __init__.py
├── llm.py # TextCompletion, Embeddings, Tool requests/responses
├── retrieval.py # GraphRAG, DocumentRAG queries/responses
├── query.py # GraphEmbeddingsRequest/Response, DocumentEmbeddingsRequest/Response
├── agent.py # Agent requests/responses
├── flow.py # Flow requests/responses
├── prompt.py # Prompt service requests/responses
├── config.py # Configuration service
├── library.py # Librarian service
└── lookup.py # Lookup service
Temel Değişiklikler
-
Hiyerarşik organizasyon - Temel tipler, bilgi modelleri ve hizmet sözleşmeleri arasında net bir ayrım.
-
Daha iyi adlandırma:
types.py→core/primitives.py(daha açık amaç)object.py→ Gerçek içeriğe göre uygun dosyalara ayrımdocuments.py→knowledge/document.py(tekil, tutarlı)models.py→services/llm.py(hangi tür modeller olduğu daha açık)prompt.py→ Ayrım: hizmet kısımlarıservices/prompt.py'e, veri tipleriknowledge/nlp.py'ye -
Mantıksal gruplandırma: Tüm gömme türleri
knowledge/embeddings.pyiçinde toplandı. Tüm LLM ile ilgili hizmet sözleşmeleriservices/llm.pyiçinde. Hizmetler dizininde istek/yanıt çiftlerinin net bir şekilde ayrılması. Bilgi çıkarma türleri, diğer bilgi alanı modelleriyle gruplandırıldı. -
Bağımlılık netliği: Temel tiplerin hiçbir bağımlılığı yoktur. Bilgi modelleri yalnızca temel bağımlılıklarına sahiptir. Hizmet sözleşmeleri hem temel hem de bilgi modellerine bağımlı olabilir.
Geçiş Faydaları
- Daha kolay gezinme - Geliştiriciler ihtiyaç duyduklarını hızla bulabilir.
- Daha iyi modülerlik - Farklı konular arasındaki sınırlar nettir.
- Daha basit içe aktarmalar - Daha sezgisel içe aktarma yolları.
- Geleceğe yönelik - Yeni bilgi türleri veya hizmetler eklemek, karmaşayı önleyecek şekilde kolaydır.
Örnek İçe Aktarma Değişiklikleri
# Before
from trustgraph.schema import Error, Triple, GraphEmbeddings, TextCompletionRequest
# After
from trustgraph.schema.core import Error, Triple
from trustgraph.schema.knowledge import GraphEmbeddings
from trustgraph.schema.services import TextCompletionRequest
Uygulama Notları
- Kök dizindeki
__init__.pyiçindeki import'ları koruyarak geriye dönük uyumluluğu sağlayın. - Dosyaları kademeli olarak taşıyın ve gerektiğinde import'ları güncelleyin.
- Geçiş dönemi için her şeyi import eden bir
legacy.pyeklemeyi düşünün. - Yeni yapıyı yansıtacak şekilde dokümantasyonu güncelleyin.
<function_calls> [{"id": "1", "content": "Mevcut şema dizin yapısını inceleyin", "status": "tamamlandı", "priority": "yüksek"}, {"id": "2", "content": "Şema dosyalarını ve amaçlarını analiz edin", "status": "tamamlandı", "priority": "yüksek"}, {"id": "3", "content": "Geliştirilmiş adlandırma ve yapı önerin", "status": "tamamlandı", "priority": "yüksek"}]