GPT-4.1-support (#2159)

This commit is contained in:
Suchintan 2025-04-16 02:12:33 -04:00 committed by GitHub
parent 0d24fe3981
commit c829966936
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 70 additions and 10 deletions

View file

@ -52,7 +52,12 @@ setup_llm_providers() {
else
update_or_add_env_var "OPENAI_API_KEY" "$openai_api_key"
update_or_add_env_var "ENABLE_OPENAI" "true"
model_options+=("OPENAI_GPT4_TURBO" "OPENAI_GPT4V" "OPENAI_GPT4O")
model_options+=(
"OPENAI_GPT4_1"
"OPENAI_GPT4_1_MINI"
"OPENAI_GPT4_1_NANO"
"OPENAI_GPT4O"
)
fi
else
update_or_add_env_var "ENABLE_OPENAI" "false"
@ -69,7 +74,10 @@ setup_llm_providers() {
else
update_or_add_env_var "ANTHROPIC_API_KEY" "$anthropic_api_key"
update_or_add_env_var "ENABLE_ANTHROPIC" "true"
model_options+=("ANTHROPIC_CLAUDE3_OPUS" "ANTHROPIC_CLAUDE3_SONNET" "ANTHROPIC_CLAUDE3_HAIKU" "ANTHROPIC_CLAUDE3.5_SONNET")
model_options+=(
"ANTHROPIC_CLAUDE3.5_SONNET"
"ANTHROPIC_CLAUDE3.7_SONNET"
)
fi
else
update_or_add_env_var "ENABLE_ANTHROPIC" "false"
@ -92,7 +100,9 @@ setup_llm_providers() {
update_or_add_env_var "AZURE_API_BASE" "$azure_api_base"
update_or_add_env_var "AZURE_API_VERSION" "$azure_api_version"
update_or_add_env_var "ENABLE_AZURE" "true"
model_options+=("AZURE_OPENAI_GPT4V")
model_options+=(
"AZURE_OPENAI_GPT4O"
)
fi
else
update_or_add_env_var "ENABLE_AZURE" "false"
@ -112,7 +122,6 @@ setup_llm_providers() {
model_options+=(
"GEMINI_FLASH_2_0"
"GEMINI_FLASH_2_0_LITE"
"GEMINI_PRO"
"GEMINI_2.5_PRO_PREVIEW_03_25"
"GEMINI_2.5_PRO_EXP_03_25"
)

View file

@ -221,7 +221,14 @@ def setup_llm_providers() -> None:
else:
update_or_add_env_var("OPENAI_API_KEY", openai_api_key)
update_or_add_env_var("ENABLE_OPENAI", "true")
model_options.extend(["OPENAI_GPT4O"])
model_options.extend(
[
"OPENAI_GPT4_1",
"OPENAI_GPT4_1_MINI",
"OPENAI_GPT4_1_NANO",
"OPENAI_GPT4O",
]
)
else:
update_or_add_env_var("ENABLE_OPENAI", "false")
@ -238,8 +245,6 @@ def setup_llm_providers() -> None:
update_or_add_env_var("ENABLE_ANTHROPIC", "true")
model_options.extend(
[
"ANTHROPIC_CLAUDE3_OPUS",
"ANTHROPIC_CLAUDE3_HAIKU",
"ANTHROPIC_CLAUDE3.5_SONNET",
"ANTHROPIC_CLAUDE3.7_SONNET",
]
@ -283,7 +288,6 @@ def setup_llm_providers() -> None:
[
"GEMINI_FLASH_2_0",
"GEMINI_FLASH_2_0_LITE",
"GEMINI_PRO",
"GEMINI_2.5_PRO_PREVIEW_03_25",
"GEMINI_2.5_PRO_EXP_03_25",
]
@ -856,5 +860,9 @@ def init() -> None:
print("\nMCP configuration is complete! Your AI applications are now ready to use Skyvern Cloud.")
if run_local:
print("\nInstalling Chromium browser...")
subprocess.run(["playwright", "install", "chromium"], check=True)
print("Chromium installation complete.")
print("\nTo start using Skyvern, run:")
print(" skyvern run server")

View file

@ -99,7 +99,8 @@ class Settings(BaseSettings):
# LLM Configuration #
#####################
# ACTIVE LLM PROVIDER
LLM_KEY: str = "OPENAI_GPT4O"
LLM_KEY: str = "OPENAI_GPT4O" # This is the model name
LLM_API_KEY: str | None = None # API key for the model
SECONDARY_LLM_KEY: str | None = None
SELECT_AGENT_LLM_KEY: str | None = None
SINGLE_CLICK_AGENT_LLM_KEY: str | None = None
@ -108,6 +109,8 @@ class Settings(BaseSettings):
LLM_CONFIG_TIMEOUT: int = 300
LLM_CONFIG_MAX_TOKENS: int = 4096
LLM_CONFIG_TEMPERATURE: float = 0
LLM_CONFIG_SUPPORT_VISION: bool = True # Whether the model supports vision
LLM_CONFIG_ADD_ASSISTANT_PREFIX: bool = False # Whether to add assistant prefix
# LLM PROVIDER SPECIFIC
ENABLE_OPENAI: bool = False
ENABLE_ANTHROPIC: bool = False

View file

@ -37,7 +37,17 @@ class LLMConfigRegistry:
@classmethod
def get_config(cls, llm_key: str) -> LLMRouterConfig | LLMConfig:
if llm_key not in cls._configs:
raise InvalidLLMConfigError(llm_key)
# If the key is not found in registered configs, treat it as a general model
LOG.info("Using general model configuration for unknown LLM key", llm_key=llm_key)
if not llm_key:
raise InvalidLLMConfigError(f"LLM_KEY not set for {llm_key}")
return LLMConfig(
llm_key, # Use the LLM_KEY as the model name
["LLM_API_KEY"],
supports_vision=settings.LLM_CONFIG_SUPPORT_VISION,
add_assistant_prefix=settings.LLM_CONFIG_ADD_ASSISTANT_PREFIX,
max_completion_tokens=settings.LLM_CONFIG_MAX_TOKENS,
)
return cls._configs[llm_key]
@ -52,6 +62,36 @@ if settings.ENABLE_OPENAI:
add_assistant_prefix=False,
),
)
LLMConfigRegistry.register_config(
"OPENAI_GPT4_1",
LLMConfig(
"gpt-4.1",
["OPENAI_API_KEY"],
supports_vision=True,
add_assistant_prefix=False,
max_completion_tokens=16384,
),
)
LLMConfigRegistry.register_config(
"OPENAI_GPT4_1_MINI",
LLMConfig(
"gpt-4.1-mini",
["OPENAI_API_KEY"],
supports_vision=True,
add_assistant_prefix=False,
max_completion_tokens=16384,
),
)
LLMConfigRegistry.register_config(
"OPENAI_GPT4_1_NANO",
LLMConfig(
"gpt-4.1-nano",
["OPENAI_API_KEY"],
supports_vision=True,
add_assistant_prefix=False,
max_completion_tokens=16384,
),
)
LLMConfigRegistry.register_config(
"OPENAI_GPT4_5",
LLMConfig(