Spaces:
Running
Running
| from functools import lru_cache | |
| from app.shared.cache.memory import SimpleTTLCache | |
| from app.shared.config.settings import get_settings | |
| from app.shared.nlp.embeddings.base import EmbeddingProvider | |
| from app.shared.nlp.embeddings.cached import CachedEmbeddingProvider | |
| from app.shared.nlp.embeddings.factory import create_embedding_provider | |
| from app.shared.nlp.llm.base import LLMProvider | |
| from app.shared.nlp.llm.groq_llama import GroqLlamaProvider | |
| from app.shared.nlp.llm.mock import MockLLMProvider | |
| def get_embedding_provider() -> EmbeddingProvider: | |
| settings = get_settings() | |
| return CachedEmbeddingProvider( | |
| provider=create_embedding_provider(settings), | |
| cache=SimpleTTLCache(default_ttl_seconds=settings.embedding_cache_ttl_seconds), | |
| ) | |
| def get_llm_provider() -> LLMProvider: | |
| settings = get_settings() | |
| if settings.groq_api_key: | |
| return GroqLlamaProvider(settings=settings) | |
| return MockLLMProvider(model_name=settings.groq_model) | |