LLM Config#
Purpose#
EAA separates model construction from task-manager logic through small config
objects in eaa_core.api.llm_config. The task manager passes the selected config
to build_chat_model(), which returns a LangChain chat model.
Available config classes#
LLMConfigEmpty base class used for typing and shared config helpers.
OpenAIConfigConfiguration for OpenAI-compatible chat endpoints. Fields:
modelbase_urlapi_key
AskSageConfigConfiguration for AskSage endpoints. Fields:
modelserver_base_urluser_base_urlapi_keyemailcacert_path
ArgoConfigConfiguration for Argo endpoints. Fields:
modelbase_urlapi_keyuser(deprecated; accepted temporarily and ignored)
How the config is used#
BaseTaskManager.build_model() calls build_chat_model(self.llm_config).
In the current implementation:
OpenAIConfigandArgoConfigare treated as OpenAI-compatible configurationsAskSageConfigusesserver_base_urlas the model endpoint
Example#
from eaa_core.api.llm_config import OpenAIConfig
llm_config = OpenAIConfig(
model="gpt-4o-mini",
base_url="https://api.openai.com/v1",
api_key="YOUR_API_KEY",
)
Relationship to memory#
MemoryManagerConfig can optionally carry its own llm_config override.
If that override is not supplied, the memory manager reuses the task manager’s
main llm_config for embedding calls.