from analogai.deepthink.thinker import DeepThinker
from analogai.deepthink.infrastructure.gateways.llm.enums.llm_provider import LlmProvider
from analogai.deepthink.application.value_objects import LlmConfig, EmbeddingConfig
from analogai.foundation.common.enums.embedding_type import EmbeddingType  # type: ignore[import-not-found]
from analogai.foundation.common.enums.embedding_provider import EmbeddingProvider  # type: ignore[import-not-found]


thinker = DeepThinker(
    llm_config=LlmConfig(
        provider=LlmProvider.AZURE,
        model="gpt-4o-mini",
    ),
    embedding_config=EmbeddingConfig(
        embed_type=EmbeddingType.API,
        provider=EmbeddingProvider.AZURE,
        model="text-embedding-3-small",
    ),
)


if __name__ == "__main__":
    while True:
        message = input("Message: ")
        result = thinker.chat(message)
        print(result if result else "(no response)")
