import streamlit as st from pathlib import Path from typing import Optional from optimized_store import OptimizedVectorStore from shared_models import SharedModels from langchain_google_genai import GoogleGenerativeAI import os @st.cache_resource def load_cached_vectorstore(file_path: Path) -> OptimizedVectorStore: """Cached Laden des Vector Stores""" return OptimizedVectorStore(file_path) @st.cache_resource def load_shared_models(): """Cached Laden der Shared Models""" return SharedModels() @st.cache_resource def load_llm(api_key: Optional[str] = None): """Cached Laden des LLM""" try: api_key = api_key or os.getenv("GOOGLE_API_KEY") if not api_key: raise ValueError("Google API Key nicht gefunden") return GoogleGenerativeAI( model="gemini-pro", temperature=0.4, top_p=0.95, max_output_tokens=700 ) except Exception as e: raise Exception(f"LLM-Initialisierungsfehler: {str(e)}")