mirror of
https://github.com/Skyvern-AI/skyvern.git
synced 2025-09-14 17:29:40 +00:00
GPT-4.1-support (#2159)
This commit is contained in:
parent
0d24fe3981
commit
c829966936
4 changed files with 70 additions and 10 deletions
17
setup.sh
17
setup.sh
|
@ -52,7 +52,12 @@ setup_llm_providers() {
|
||||||
else
|
else
|
||||||
update_or_add_env_var "OPENAI_API_KEY" "$openai_api_key"
|
update_or_add_env_var "OPENAI_API_KEY" "$openai_api_key"
|
||||||
update_or_add_env_var "ENABLE_OPENAI" "true"
|
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
|
fi
|
||||||
else
|
else
|
||||||
update_or_add_env_var "ENABLE_OPENAI" "false"
|
update_or_add_env_var "ENABLE_OPENAI" "false"
|
||||||
|
@ -69,7 +74,10 @@ setup_llm_providers() {
|
||||||
else
|
else
|
||||||
update_or_add_env_var "ANTHROPIC_API_KEY" "$anthropic_api_key"
|
update_or_add_env_var "ANTHROPIC_API_KEY" "$anthropic_api_key"
|
||||||
update_or_add_env_var "ENABLE_ANTHROPIC" "true"
|
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
|
fi
|
||||||
else
|
else
|
||||||
update_or_add_env_var "ENABLE_ANTHROPIC" "false"
|
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_BASE" "$azure_api_base"
|
||||||
update_or_add_env_var "AZURE_API_VERSION" "$azure_api_version"
|
update_or_add_env_var "AZURE_API_VERSION" "$azure_api_version"
|
||||||
update_or_add_env_var "ENABLE_AZURE" "true"
|
update_or_add_env_var "ENABLE_AZURE" "true"
|
||||||
model_options+=("AZURE_OPENAI_GPT4V")
|
model_options+=(
|
||||||
|
"AZURE_OPENAI_GPT4O"
|
||||||
|
)
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
update_or_add_env_var "ENABLE_AZURE" "false"
|
update_or_add_env_var "ENABLE_AZURE" "false"
|
||||||
|
@ -112,7 +122,6 @@ setup_llm_providers() {
|
||||||
model_options+=(
|
model_options+=(
|
||||||
"GEMINI_FLASH_2_0"
|
"GEMINI_FLASH_2_0"
|
||||||
"GEMINI_FLASH_2_0_LITE"
|
"GEMINI_FLASH_2_0_LITE"
|
||||||
"GEMINI_PRO"
|
|
||||||
"GEMINI_2.5_PRO_PREVIEW_03_25"
|
"GEMINI_2.5_PRO_PREVIEW_03_25"
|
||||||
"GEMINI_2.5_PRO_EXP_03_25"
|
"GEMINI_2.5_PRO_EXP_03_25"
|
||||||
)
|
)
|
||||||
|
|
|
@ -221,7 +221,14 @@ def setup_llm_providers() -> None:
|
||||||
else:
|
else:
|
||||||
update_or_add_env_var("OPENAI_API_KEY", openai_api_key)
|
update_or_add_env_var("OPENAI_API_KEY", openai_api_key)
|
||||||
update_or_add_env_var("ENABLE_OPENAI", "true")
|
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:
|
else:
|
||||||
update_or_add_env_var("ENABLE_OPENAI", "false")
|
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")
|
update_or_add_env_var("ENABLE_ANTHROPIC", "true")
|
||||||
model_options.extend(
|
model_options.extend(
|
||||||
[
|
[
|
||||||
"ANTHROPIC_CLAUDE3_OPUS",
|
|
||||||
"ANTHROPIC_CLAUDE3_HAIKU",
|
|
||||||
"ANTHROPIC_CLAUDE3.5_SONNET",
|
"ANTHROPIC_CLAUDE3.5_SONNET",
|
||||||
"ANTHROPIC_CLAUDE3.7_SONNET",
|
"ANTHROPIC_CLAUDE3.7_SONNET",
|
||||||
]
|
]
|
||||||
|
@ -283,7 +288,6 @@ def setup_llm_providers() -> None:
|
||||||
[
|
[
|
||||||
"GEMINI_FLASH_2_0",
|
"GEMINI_FLASH_2_0",
|
||||||
"GEMINI_FLASH_2_0_LITE",
|
"GEMINI_FLASH_2_0_LITE",
|
||||||
"GEMINI_PRO",
|
|
||||||
"GEMINI_2.5_PRO_PREVIEW_03_25",
|
"GEMINI_2.5_PRO_PREVIEW_03_25",
|
||||||
"GEMINI_2.5_PRO_EXP_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.")
|
print("\nMCP configuration is complete! Your AI applications are now ready to use Skyvern Cloud.")
|
||||||
|
|
||||||
if run_local:
|
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("\nTo start using Skyvern, run:")
|
||||||
print(" skyvern run server")
|
print(" skyvern run server")
|
||||||
|
|
|
@ -99,7 +99,8 @@ class Settings(BaseSettings):
|
||||||
# LLM Configuration #
|
# LLM Configuration #
|
||||||
#####################
|
#####################
|
||||||
# ACTIVE LLM PROVIDER
|
# 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
|
SECONDARY_LLM_KEY: str | None = None
|
||||||
SELECT_AGENT_LLM_KEY: str | None = None
|
SELECT_AGENT_LLM_KEY: str | None = None
|
||||||
SINGLE_CLICK_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_TIMEOUT: int = 300
|
||||||
LLM_CONFIG_MAX_TOKENS: int = 4096
|
LLM_CONFIG_MAX_TOKENS: int = 4096
|
||||||
LLM_CONFIG_TEMPERATURE: float = 0
|
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
|
# LLM PROVIDER SPECIFIC
|
||||||
ENABLE_OPENAI: bool = False
|
ENABLE_OPENAI: bool = False
|
||||||
ENABLE_ANTHROPIC: bool = False
|
ENABLE_ANTHROPIC: bool = False
|
||||||
|
|
|
@ -37,7 +37,17 @@ class LLMConfigRegistry:
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_config(cls, llm_key: str) -> LLMRouterConfig | LLMConfig:
|
def get_config(cls, llm_key: str) -> LLMRouterConfig | LLMConfig:
|
||||||
if llm_key not in cls._configs:
|
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]
|
return cls._configs[llm_key]
|
||||||
|
|
||||||
|
@ -52,6 +62,36 @@ if settings.ENABLE_OPENAI:
|
||||||
add_assistant_prefix=False,
|
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(
|
LLMConfigRegistry.register_config(
|
||||||
"OPENAI_GPT4_5",
|
"OPENAI_GPT4_5",
|
||||||
LLMConfig(
|
LLMConfig(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue