Fix/library translators (#415)

* Fixing naming

* Fix mapping of library document list
This commit is contained in:
cybermaggedon 2025-06-23 21:52:21 +01:00 committed by GitHub
parent a4e2f67cb1
commit fcab3aeb0e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 15 additions and 15 deletions

View file

@ -11,7 +11,7 @@ from .translators.retrieval import (
) )
from .translators.triples import TriplesQueryRequestTranslator, TriplesQueryResponseTranslator from .translators.triples import TriplesQueryRequestTranslator, TriplesQueryResponseTranslator
from .translators.knowledge import KnowledgeRequestTranslator, KnowledgeResponseTranslator from .translators.knowledge import KnowledgeRequestTranslator, KnowledgeResponseTranslator
from .translators.library import LibraryDocumentTranslator, LibraryProcessingTranslator from .translators.library import LibraryRequestTranslator, LibraryResponseTranslator
from .translators.document_loading import DocumentTranslator, TextDocumentTranslator from .translators.document_loading import DocumentTranslator, TextDocumentTranslator
from .translators.config import ConfigRequestTranslator, ConfigResponseTranslator from .translators.config import ConfigRequestTranslator, ConfigResponseTranslator
from .translators.flow import FlowRequestTranslator, FlowResponseTranslator from .translators.flow import FlowRequestTranslator, FlowResponseTranslator
@ -66,8 +66,8 @@ TranslatorRegistry.register_service(
TranslatorRegistry.register_service( TranslatorRegistry.register_service(
"librarian", "librarian",
LibraryDocumentTranslator(), LibraryRequestTranslator(),
LibraryProcessingTranslator() LibraryResponseTranslator()
) )
TranslatorRegistry.register_service( TranslatorRegistry.register_service(

View file

@ -8,7 +8,7 @@ from .retrieval import DocumentRagRequestTranslator, DocumentRagResponseTranslat
from .retrieval import GraphRagRequestTranslator, GraphRagResponseTranslator from .retrieval import GraphRagRequestTranslator, GraphRagResponseTranslator
from .triples import TriplesQueryRequestTranslator, TriplesQueryResponseTranslator from .triples import TriplesQueryRequestTranslator, TriplesQueryResponseTranslator
from .knowledge import KnowledgeRequestTranslator, KnowledgeResponseTranslator from .knowledge import KnowledgeRequestTranslator, KnowledgeResponseTranslator
from .library import LibraryDocumentTranslator, LibraryProcessingTranslator from .library import LibraryRequestTranslator, LibraryResponseTranslator
from .document_loading import DocumentTranslator, TextDocumentTranslator, ChunkTranslator, DocumentEmbeddingsTranslator from .document_loading import DocumentTranslator, TextDocumentTranslator, ChunkTranslator, DocumentEmbeddingsTranslator
from .config import ConfigRequestTranslator, ConfigResponseTranslator from .config import ConfigRequestTranslator, ConfigResponseTranslator
from .flow import FlowRequestTranslator, FlowResponseTranslator from .flow import FlowRequestTranslator, FlowResponseTranslator
@ -16,4 +16,4 @@ from .prompt import PromptRequestTranslator, PromptResponseTranslator
from .embeddings_query import ( from .embeddings_query import (
DocumentEmbeddingsRequestTranslator, DocumentEmbeddingsResponseTranslator, DocumentEmbeddingsRequestTranslator, DocumentEmbeddingsResponseTranslator,
GraphEmbeddingsRequestTranslator, GraphEmbeddingsResponseTranslator GraphEmbeddingsRequestTranslator, GraphEmbeddingsResponseTranslator
) )

View file

@ -4,8 +4,8 @@ from .base import MessageTranslator
from .metadata import DocumentMetadataTranslator, ProcessingMetadataTranslator from .metadata import DocumentMetadataTranslator, ProcessingMetadataTranslator
class LibraryDocumentTranslator(MessageTranslator): class LibraryRequestTranslator(MessageTranslator):
"""Translator for LibrarianRequest/Response schema objects""" """Translator for LibrarianRequest schema objects"""
def __init__(self): def __init__(self):
self.doc_metadata_translator = DocumentMetadataTranslator() self.doc_metadata_translator = DocumentMetadataTranslator()
@ -73,7 +73,7 @@ class LibraryDocumentTranslator(MessageTranslator):
result["user"] = obj.user result["user"] = obj.user
if obj.collection: if obj.collection:
result["collection"] = obj.collection result["collection"] = obj.collection
if obj.criteria: if obj.criteria is not None:
result["criteria"] = [ result["criteria"] = [
{ {
"key": c.key, "key": c.key,
@ -86,7 +86,7 @@ class LibraryDocumentTranslator(MessageTranslator):
return result return result
class LibraryProcessingTranslator(MessageTranslator): class LibraryResponseTranslator(MessageTranslator):
"""Translator for LibrarianResponse schema objects""" """Translator for LibrarianResponse schema objects"""
def __init__(self): def __init__(self):
@ -105,13 +105,13 @@ class LibraryProcessingTranslator(MessageTranslator):
if obj.content: if obj.content:
result["content"] = obj.content.decode("utf-8") if isinstance(obj.content, bytes) else obj.content result["content"] = obj.content.decode("utf-8") if isinstance(obj.content, bytes) else obj.content
if obj.document_metadatas: if obj.document_metadatas is not None:
result["document-metadatas"] = [ result["document-metadatas"] = [
self.doc_metadata_translator.from_pulsar(dm) self.doc_metadata_translator.from_pulsar(dm)
for dm in obj.document_metadatas for dm in obj.document_metadatas
] ]
if obj.processing_metadatas: if obj.processing_metadatas is not None:
result["processing-metadatas"] = [ result["processing-metadatas"] = [
self.proc_metadata_translator.from_pulsar(pm) self.proc_metadata_translator.from_pulsar(pm)
for pm in obj.processing_metadatas for pm in obj.processing_metadatas
@ -121,4 +121,4 @@ class LibraryProcessingTranslator(MessageTranslator):
def from_response_with_completion(self, obj: LibrarianResponse) -> Tuple[Dict[str, Any], bool]: def from_response_with_completion(self, obj: LibrarianResponse) -> Tuple[Dict[str, Any], bool]:
"""Returns (response_dict, is_final)""" """Returns (response_dict, is_final)"""
return self.from_pulsar(obj), True return self.from_pulsar(obj), True

View file

@ -18,7 +18,7 @@ class DocumentMetadataTranslator(Translator):
kind=data.get("kind"), kind=data.get("kind"),
title=data.get("title"), title=data.get("title"),
comments=data.get("comments"), comments=data.get("comments"),
metadata=self.subgraph_translator.to_pulsar(metadata) if metadata else [], metadata=self.subgraph_translator.to_pulsar(metadata) if metadata is not None else [],
user=data.get("user"), user=data.get("user"),
tags=data.get("tags") tags=data.get("tags")
) )
@ -36,7 +36,7 @@ class DocumentMetadataTranslator(Translator):
result["title"] = obj.title result["title"] = obj.title
if obj.comments: if obj.comments:
result["comments"] = obj.comments result["comments"] = obj.comments
if obj.metadata: if obj.metadata is not None:
result["metadata"] = self.subgraph_translator.from_pulsar(obj.metadata) result["metadata"] = self.subgraph_translator.from_pulsar(obj.metadata)
if obj.user: if obj.user:
result["user"] = obj.user result["user"] = obj.user
@ -78,4 +78,4 @@ class ProcessingMetadataTranslator(Translator):
if obj.tags is not None: if obj.tags is not None:
result["tags"] = obj.tags result["tags"] = obj.tags
return result return result