From 0d77263fb7cd37e3314d663651084f156bc035bf Mon Sep 17 00:00:00 2001
From: ValueOn AG
Date: Tue, 30 Dec 2025 02:13:18 +0100
Subject: [PATCH] fixed language of prompt
---
.../serviceAi/subStructureGeneration.py | 22 +++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/modules/services/serviceAi/subStructureGeneration.py b/modules/services/serviceAi/subStructureGeneration.py
index f4a26b5b..bee83706 100644
--- a/modules/services/serviceAi/subStructureGeneration.py
+++ b/modules/services/serviceAi/subStructureGeneration.py
@@ -24,6 +24,20 @@ class StructureGenerator:
self.services = services
self.aiService = aiService
+ def _getUserLanguage(self) -> str:
+ """Get user language for document generation"""
+ try:
+ if self.services:
+ # Prefer detected language if available (from user intention analysis)
+ if hasattr(self.services, 'currentUserLanguage') and self.services.currentUserLanguage:
+ return self.services.currentUserLanguage
+ # Fallback to user's preferred language
+ elif hasattr(self.services, 'user') and self.services.user and hasattr(self.services.user, 'language'):
+ return self.services.user.language
+ except Exception:
+ pass
+ return 'en' # Default fallback
+
async def generateStructure(
self,
userPrompt: str,
@@ -168,9 +182,9 @@ class StructureGenerator:
if not contentPartsIndex:
contentPartsIndex = "\n(No content parts available)"
- # Extract language from user prompt or default to "de" (can be detected from userPrompt)
- # For now, default to "de" - can be enhanced with language detection later
- language = "en" # Default language
+ # Get language from services (user intention analysis)
+ language = self._getUserLanguage()
+ logger.debug(f"Using language from services (user intention analysis) for structure generation: {language}")
prompt = f"""USER REQUEST (for context):
```
@@ -228,7 +242,7 @@ RETURN JSON:
{{
"metadata": {{
"title": "Document Title",
- "language": "de"
+ "language": "{language}"
}},
"documents": [{{
"id": "doc_1",