fed8b2eed7
Backend release / release (push) Waiting to run
Bandit Security Scan / bandit_scan (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Waiting to run
Build and push multi-arch DocsGPT Docker image / manifest (push) Blocked by required conditions
Build and push DocsGPT FE Docker image for development / build (linux/amd64, ubuntu-latest, amd64) (push) Waiting to run
Build and push DocsGPT FE Docker image for development / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Waiting to run
Build and push DocsGPT FE Docker image for development / manifest (push) Blocked by required conditions
Python linting / ruff (push) Waiting to run
Run python tests with pytest / Run tests and count coverage (3.12) (push) Waiting to run
React Widget Build / build (push) Waiting to run
20 lines
680 B
Python
20 lines
680 B
Python
from application.llm.handlers.base import LLMHandler
|
|
from application.llm.handlers.google import GoogleLLMHandler
|
|
from application.llm.handlers.openai import OpenAILLMHandler
|
|
|
|
|
|
class LLMHandlerCreator:
|
|
handlers = {
|
|
"openai": OpenAILLMHandler,
|
|
"google": GoogleLLMHandler,
|
|
"novita": OpenAILLMHandler, # Novita uses OpenAI-compatible API
|
|
"default": OpenAILLMHandler,
|
|
}
|
|
|
|
@classmethod
|
|
def create_handler(cls, llm_type: str, *args, **kwargs) -> LLMHandler:
|
|
handler_class = cls.handlers.get(llm_type.lower())
|
|
if not handler_class:
|
|
handler_class = OpenAILLMHandler
|
|
return handler_class(*args, **kwargs)
|