feat: add Snowflake provider (#2488)

Co-authored-by: Michael Neale <michael.neale@gmail.com>
This commit is contained in:
Tyler White
2025-06-01 23:37:00 -04:00
committed by GitHub
parent 44fa6a442e
commit 8c9a89efde
12 changed files with 1195 additions and 1 deletions
@@ -9,6 +9,7 @@ export const default_models = {
azure_openai: 'gpt-4o',
gcp_vertex_ai: 'gemini-2.0-flash-001',
aws_bedrock: 'us.anthropic.claude-3-7-sonnet-20250219-v1:0',
snowflake: 'claude-3-5-sonnet',
venice: 'llama-3.3-70b',
};
@@ -24,6 +25,7 @@ export const required_keys = {
Ollama: ['OLLAMA_HOST'],
Google: ['GOOGLE_API_KEY'],
OpenRouter: ['OPENROUTER_API_KEY'],
Snowflake: ['SNOWFLAKE_HOST', 'SNOWFLAKE_TOKEN'],
'Azure OpenAI': [
'AZURE_OPENAI_ENDPOINT',
'AZURE_OPENAI_DEPLOYMENT_NAME',
@@ -53,6 +55,7 @@ export const supported_providers = [
'Azure OpenAI',
'GCP Vertex AI',
'AWS Bedrock',
'Snowflake',
];
export const model_docs_link = [
@@ -68,6 +71,10 @@ export const model_docs_link = [
{ name: 'Ollama', href: 'https://ollama.com/library' },
{ name: 'GCP Vertex AI', href: 'https://cloud.google.com/vertex-ai' },
{ name: 'AWS Bedrock', href: 'https://console.aws.amazon.com/bedrock/home#/model-catalog' },
{
name: 'Snowflake',
href: 'https://docs.snowflake.com/user-guide/snowflake-cortex/llm-functions#availability',
},
];
export const provider_aliases = [
@@ -81,5 +88,6 @@ export const provider_aliases = [
{ provider: 'Azure OpenAI', alias: 'azure_openai' },
{ provider: 'GCP Vertex AI', alias: 'gcp_vertex_ai' },
{ provider: 'AWS Bedrock', alias: 'aws_bedrock' },
{ provider: 'Snowflake', alias: 'snowflake' },
{ provider: 'Venice', alias: 'venice' },
];
@@ -216,4 +216,22 @@ export const PROVIDER_REGISTRY: ProviderRegistry[] = [
],
},
},
{
name: 'Snowflake',
details: {
id: 'snowflake',
name: 'Snowflake',
description: 'Access Cortex models hosted on your Snowflake account',
parameters: [
{
name: 'SNOWFLAKE_HOST',
is_secret: false,
},
{
name: 'SNOWFLAKE_TOKEN',
is_secret: true,
},
],
},
},
];
@@ -5,6 +5,7 @@ import GroqLogo from './icons/groq@3x.png';
import OllamaLogo from './icons/ollama@3x.png';
import DatabricksLogo from './icons/databricks@3x.png';
import OpenRouterLogo from './icons/openrouter@3x.png';
import SnowflakeLogo from './icons/snowflake@3x.png';
import DefaultLogo from './icons/default@3x.png';
// Map provider names to their logos
@@ -16,6 +17,7 @@ const providerLogos: Record<string, string> = {
ollama: OllamaLogo,
databricks: DatabricksLogo,
openrouter: OpenRouterLogo,
snowflake: SnowflakeLogo,
default: DefaultLogo,
};
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB