Objective:
Implement a configurable LLMClientFactory to dynamically create instances of different Language Model (LLM) clients based on the specified configuration. The goal is to enhance the flexibility and scalability of the system by allowing seamless integration with various LLM APIs, such as OpenAI, GeminiAI, and LlamaAI. This will enable automatic extraction of onboarding data from unstructured text and improve the overall adaptability of the data extraction system.
Tasks:
API Integration:
Develop the LLMClientFactory class to instantiate the appropriate LLM client based on the environment configuration (LLM_CLIENT_NAME).
Ensure the factory correctly initializes and configures different LLM client implementations.
Configuration:
Configure environment variables to support the dynamic creation of LLM clients.
Validate that the factory correctly interprets and applies these configurations to initialize the appropriate LLM client.
Deliverables:
Implementation of the LLMClientFactory class capable of creating instances of various LLM clients.
Ensured integration of the factory with the existing system for automatic onboarding data extraction.
Documentation detailing the configuration and usage of the LLMClientFactory and associated LLM clients.
Ticket Description
Objective: Implement a configurable
LLMClientFactory
to dynamically create instances of different Language Model (LLM) clients based on the specified configuration. The goal is to enhance the flexibility and scalability of the system by allowing seamless integration with various LLM APIs, such as OpenAI, GeminiAI, and LlamaAI. This will enable automatic extraction of onboarding data from unstructured text and improve the overall adaptability of the data extraction system.Tasks:
API Integration:
LLMClientFactory
class to instantiate the appropriate LLM client based on the environment configuration (LLM_CLIENT_NAME
).Configuration:
Deliverables:
LLMClientFactory
class capable of creating instances of various LLM clients.LLMClientFactory
and associated LLM clients.Docs: