mirror of
https://github.com/trustgraph-ai/trustgraph.git
synced 2026-04-25 08:26:21 +02:00
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.
5 KiB
5 KiB
| layout | title | parent |
|---|---|---|
| default | Propuesta de Refactorización del Directorio de Esquemas | Spanish (Beta) |
Propuesta de Refactorización del Directorio de Esquemas
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.
Problemas Actuales
- Estructura plana - Tener todos los esquemas en un solo directorio dificulta la comprensión de las relaciones.
- Preocupaciones mixtas - Tipos centrales, objetos de dominio y contratos de API mezclados.
- Nombres poco claros - Archivos como "object.py", "types.py", "topic.py" no indican claramente su propósito.
- Sin capa clara - No es fácil ver qué depende de qué.
Estructura Propuesta
trustgraph-base/trustgraph/schema/
├── __init__.py
├── core/ # Tipos primitivos centrales utilizados en todas partes
│ ├── __init__.py
│ ├── primitives.py # Error, Value, Triple, Field, RowSchema
│ ├── metadata.py # Registro de metadatos
│ └── topic.py # Utilitarios de tema
│
├── knowledge/ # Modelos del dominio de conocimiento y extracción
│ ├── __init__.py
│ ├── graph.py # EntityContext, EntityEmbeddings, Triples
│ ├── document.py # Document, TextDocument, Chunk
│ ├── knowledge.py # Tipos de extracción de conocimiento
│ ├── embeddings.py # Todos los tipos relacionados con la incorporación (movidos de múltiples archivos)
│ └── nlp.py # Tipos de Definición, Tema, Relación, Hecho
│
└── services/ # Contratos de solicitud/respuesta de servicios
├── __init__.py
├── llm.py # TextCompletion, Embeddings, Solicitudes/respuestas de Herramientas
├── retrieval.py # Consultas/respuestas de GraphRAG, DocumentRAG
├── query.py # Consultas/respuestas de GraphEmbeddingsRequest, DocumentEmbeddingsRequest
├── agent.py # Solicitudes/respuestas del agente
├── flow.py # Solicitudes/respuestas de flujo
├── prompt.py # Solicitudes/respuestas del servicio de prompt
├── config.py # Servicio de configuración
├── library.py # Servicio de bibliotecario
└── lookup.py # Servicio de búsqueda
Cambios Clave
-
Organización jerárquica - Separación clara entre tipos centrales, modelos de conocimiento y contratos de servicio.
-
Nombres mejorados:
types.py→core/primitives.py(propósito más claro)object.py→ Dividir entre archivos apropiados según el contenido realdocuments.py→knowledge/document.py(singular, consistente)models.py→services/llm.py(qué tipo de modelos)prompt.py→ Dividir: partes del servicio aservices/prompt.py, tipos de datos aknowledge/nlp.py
-
Agrupamiento lógico:
- Todos los tipos de incorporación consolidados en
knowledge/embeddings.py - Todos los contratos de servicio relacionados con LLM en
services/llm.py - Separación clara de pares de solicitud/respuesta en el directorio de servicios
- Grupos de tipos de extracción de conocimiento con otros modelos de dominio de conocimiento
- Todos los tipos de incorporación consolidados en
-
Claridad de dependencias:
- Los tipos centrales no tienen dependencias
- Los modelos de conocimiento dependen solo de los centrales
- Los contratos de servicio pueden depender de los centrales y de los modelos de conocimiento
Beneficios de la Migración
- Navegación más fácil - Los desarrolladores pueden encontrar rápidamente lo que necesitan.
- Mejor modularidad - Límites claros entre diferentes preocupaciones.
- Importaciones más simples - Rutas de importación más intuitivas.
- Futurizable - Fácil de agregar nuevos tipos de conocimiento o servicios sin desorden.
Cambios de Importación de Ejemplo
# Antes
from trustgraph.schema import Error, Triple, GraphEmbeddings, TextCompletionRequest
# Después
from trustgraph.schema.core import Error, Triple
from trustgraph.schema.knowledge import GraphEmbeddings
from trustgraph.schema.services import TextCompletionRequest
Notas de Implementación
- Mantener la compatibilidad hacia atrás manteniendo las importaciones en el
__init__.pyraíz. - Mover los archivos gradualmente, actualizando las importaciones según sea necesario.
- Considerar agregar un
legacy.pyque importe todo para el período de transición. - Actualizar la documentación para reflejar la nueva estructura.
<function_calls> [{"id": "1", "content": "Examinar la estructura actual del directorio de esquemas", "status": "completed", "priority": "high"}, {"id": "2", "content": "Analizar los archivos de esquema y sus propósitos", "status": "completed", "priority": "high"}, {"id": "3", "content": "Proponer una estructura y nombres mejorados", "status": "completed", "priority": "high"}]