2024-12-20 13:25:01 -08:00
|
|
|
import os
|
|
|
|
|
from openai import OpenAI
|
|
|
|
|
from src.commons.utils import get_model_server_logger
|
|
|
|
|
from src.core.guardrails import get_guardrail_handler
|
|
|
|
|
from src.core.function_calling import (
|
2025-03-19 15:21:34 -07:00
|
|
|
ArchAgentConfig,
|
|
|
|
|
ArchAgentHandler,
|
2024-12-20 13:25:01 -08:00
|
|
|
ArchFunctionConfig,
|
|
|
|
|
ArchFunctionHandler,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Define logger
|
|
|
|
|
logger = get_model_server_logger()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Define the client
|
2025-04-15 14:39:12 -07:00
|
|
|
# ARCH_ENDPOINT = os.getenv("ARCH_ENDPOINT", "https://archfc.katanemo.dev/v1")
|
|
|
|
|
# use temporary endpoint until we deprecate archfc-v1.0 from archfc.katanemo.dev
|
|
|
|
|
# and officially release archfc-v1.1 on archfc.katanemo.dev
|
|
|
|
|
ARCH_ENDPOINT = os.getenv("ARCH_ENDPOINT", "http://34.72.123.163:8000/v1")
|
2024-12-20 13:25:01 -08:00
|
|
|
ARCH_API_KEY = "EMPTY"
|
|
|
|
|
ARCH_CLIENT = OpenAI(base_url=ARCH_ENDPOINT, api_key=ARCH_API_KEY)
|
2025-03-19 15:21:34 -07:00
|
|
|
ARCH_AGENT_CLIENT = ARCH_CLIENT
|
2024-12-20 13:25:01 -08:00
|
|
|
|
|
|
|
|
# Define model names
|
|
|
|
|
ARCH_INTENT_MODEL_ALIAS = "Arch-Intent"
|
|
|
|
|
ARCH_FUNCTION_MODEL_ALIAS = "Arch-Function"
|
2025-03-19 15:21:34 -07:00
|
|
|
ARCH_AGENT_MODEL_ALIAS = ARCH_FUNCTION_MODEL_ALIAS
|
2025-01-10 16:45:36 -08:00
|
|
|
ARCH_GUARD_MODEL_ALIAS = "katanemo/Arch-Guard"
|
2024-12-20 13:25:01 -08:00
|
|
|
|
|
|
|
|
# Define model handlers
|
|
|
|
|
handler_map = {
|
|
|
|
|
"Arch-Function": ArchFunctionHandler(
|
|
|
|
|
ARCH_CLIENT, ARCH_FUNCTION_MODEL_ALIAS, ArchFunctionConfig
|
|
|
|
|
),
|
2025-03-19 15:21:34 -07:00
|
|
|
"Arch-Agent": ArchAgentHandler(
|
|
|
|
|
ARCH_AGENT_CLIENT, ARCH_AGENT_MODEL_ALIAS, ArchAgentConfig
|
|
|
|
|
),
|
2025-01-10 16:45:36 -08:00
|
|
|
"Arch-Guard": get_guardrail_handler(ARCH_GUARD_MODEL_ALIAS),
|
2024-12-20 13:25:01 -08:00
|
|
|
}
|