Skip to content

refactor: update model provider #45

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Jul 15, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1,871 changes: 1,015 additions & 856 deletions libs/admin-api-lib/poetry.lock

Large diffs are not rendered by default.

7 changes: 3 additions & 4 deletions libs/admin-api-lib/src/admin_api_lib/dependency_container.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
Singleton,
)
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.llms import Ollama, VLLMOpenAI
from langfuse import Langfuse

from admin_api_lib.extractor_api_client.openapi_client.api.extractor_api import (
Expand Down Expand Up @@ -61,7 +60,7 @@
Configuration as RagConfiguration,
)
from rag_core_lib.impl.langfuse_manager.langfuse_manager import LangfuseManager
from rag_core_lib.impl.llms.llm_factory import llm_provider
from rag_core_lib.impl.llms.llm_factory import chat_model_provider
from rag_core_lib.impl.settings.langfuse_settings import LangfuseSettings
from rag_core_lib.impl.settings.ollama_llm_settings import OllamaSettings
from rag_core_lib.impl.settings.rag_class_types_settings import RAGClassTypeSettings
Expand Down Expand Up @@ -108,8 +107,8 @@ class DependencyContainer(DeclarativeContainer):

large_language_model = Selector(
class_selector_config.llm_type,
ollama=Singleton(llm_provider, ollama_settings, Ollama),
stackit=Singleton(llm_provider, stackit_vllm_settings, VLLMOpenAI),
ollama=Singleton(chat_model_provider, ollama_settings, "ollama"),
stackit=Singleton(chat_model_provider, stackit_vllm_settings, "openai"),
)

summary_text_splitter = Singleton(RecursiveCharacterTextSplitter)(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,15 +77,17 @@ async def ainvoke(self, query: SummarizerInput, config: Optional[RunnableConfig]
for langchain_document in langchain_documents:
async with self._semaphore:
try:
outputs.append(
await self._create_chain().ainvoke({"text": langchain_document.page_content}, config)
)
result = await self._create_chain().ainvoke({"text": langchain_document.page_content}, config)
# Extract content from AIMessage if it's not already a string
content = result.content if hasattr(result, "content") else str(result)
outputs.append(content)
except Exception as e:
logger.error("Error in summarizing langchain doc: %s %s", e, traceback.format_exc())
config["tries_remaining"] = tries_remaining - 1
outputs.append(
await self._create_chain().ainvoke({"text": langchain_document.page_content}, config)
)
result = await self._create_chain().ainvoke({"text": langchain_document.page_content}, config)
# Extract content from AIMessage if it's not already a string
content = result.content if hasattr(result, "content") else str(result)
outputs.append(content)

if len(outputs) == 1:
return outputs[0]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
"""Module for the summarize prompt template."""

SUMMARIZE_PROMPT = """<|begin_of_text|><|start_header_id|>system<|end_header_id|>
from langchain_core.prompts import ChatPromptTemplate, SystemMessagePromptTemplate, HumanMessagePromptTemplate

Fasse den folgenden Text zusammen. Die Ausgabe soll auf Deutsch sein. Gebe nur die deutsche Zusammenfassung aus, keinen zusätzlichen Text. Halte dich möglichst kurz mit deiner Antwort.<|eot_id|><|start_header_id|>user<|end_header_id|>

{text}<|eot_id|><|start_header_id|>assistant<|end_header_id|>
"""
SUMMARIZE_PROMPT = ChatPromptTemplate.from_messages(
[
SystemMessagePromptTemplate.from_template(
"Fasse den folgenden Text zusammen. Die Ausgabe soll auf Deutsch sein. "
"Gebe nur die deutsche Zusammenfassung aus, keinen zusätzlichen Text. "
"Halte dich möglichst kurz mit deiner Antwort."
),
HumanMessagePromptTemplate.from_template("{text}"),
]
)
1,235 changes: 628 additions & 607 deletions libs/extractor-api-lib/poetry.lock

Large diffs are not rendered by default.

54 changes: 27 additions & 27 deletions libs/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading