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
|
||||
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"
|
||||
)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue