chips commited on
Commit
80c6e40
·
1 Parent(s): 4a370c7

gemini 2.5 flash

Browse files
app/config.py CHANGED
@@ -8,6 +8,7 @@ from pydantic_settings import BaseSettings
8
  os.environ["WEAVE_CAPTURE_CODE"] = "false"
9
  if os.getenv("HUGGINGFACE_DEMO"):
10
  OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
 
11
  ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY")
12
  REDIS_PASSWORD = ""
13
  REDIS_USE_SSL = False
@@ -20,6 +21,7 @@ else:
20
  print("not WB")
21
  #os.environ["WANDB_API_KEY"] = secrets["WANDB_API_KEY"]
22
  OPENAI_API_KEY = secrets["OPENAI_API_KEY"]
 
23
  ANTHROPIC_API_KEY = secrets["ANTHROPIC_API_KEY"]
24
  REDIS_PASSWORD = secrets["REDIS_PASSWORD"] if ENV == "PROD" else ""
25
  REDIS_USE_SSL = True if ENV == "PROD" or ENV == "UAT" else False
@@ -41,12 +43,18 @@ class Settings(BaseSettings):
41
  "claude-3-5-sonnet-latest" # first model is the default of the vendor
42
  ]
43
 
 
 
 
 
 
44
  # Supprted AI Services
45
- SUPPORTED_MODELS: list = OPENAI_MODELS + ANTHROPIC_MODELS
46
 
47
  # API Keys
48
  OPENAI_API_KEY: str
49
  ANTHROPIC_API_KEY: str
 
50
 
51
  DEFAULT_MAX_ATTEMPTS: int = 1
52
 
@@ -78,6 +86,7 @@ class Settings(BaseSettings):
78
  # API Keys
79
  OPENAI_API_KEY: str = OPENAI_API_KEY
80
  ANTHROPIC_API_KEY: str = ANTHROPIC_API_KEY
 
81
 
82
  #
83
  MAX_DOWNLOAD_RETRY: int = 10 # times
@@ -88,6 +97,8 @@ class Settings(BaseSettings):
88
  raise ValueError("OPENAI_API_KEY is required")
89
  if not self.ANTHROPIC_API_KEY:
90
  raise ValueError("ANTHROPIC_API_KEY is required")
 
 
91
 
92
 
93
  # Create a cached instance of settings
 
8
  os.environ["WEAVE_CAPTURE_CODE"] = "false"
9
  if os.getenv("HUGGINGFACE_DEMO"):
10
  OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
11
+ GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
12
  ANTHROPIC_API_KEY = os.getenv("ANTHROPIC_API_KEY")
13
  REDIS_PASSWORD = ""
14
  REDIS_USE_SSL = False
 
21
  print("not WB")
22
  #os.environ["WANDB_API_KEY"] = secrets["WANDB_API_KEY"]
23
  OPENAI_API_KEY = secrets["OPENAI_API_KEY"]
24
+ GEMINI_API_KEY = os.getenv("GEMINI_API_KEY")
25
  ANTHROPIC_API_KEY = secrets["ANTHROPIC_API_KEY"]
26
  REDIS_PASSWORD = secrets["REDIS_PASSWORD"] if ENV == "PROD" else ""
27
  REDIS_USE_SSL = True if ENV == "PROD" or ENV == "UAT" else False
 
43
  "claude-3-5-sonnet-latest" # first model is the default of the vendor
44
  ]
45
 
46
+ # Supported anthropic models
47
+ GEMINI_MODELS: list = [
48
+ "gemini-2.5-flash-preview-04-17" , # first model is the default of the vendor
49
+ "gemini-1.5-flash"
50
+ ]
51
  # Supprted AI Services
52
+ SUPPORTED_MODELS: list = OPENAI_MODELS + ANTHROPIC_MODELS + GEMINI_MODELS
53
 
54
  # API Keys
55
  OPENAI_API_KEY: str
56
  ANTHROPIC_API_KEY: str
57
+ GEMINI_API_KEY: str
58
 
59
  DEFAULT_MAX_ATTEMPTS: int = 1
60
 
 
86
  # API Keys
87
  OPENAI_API_KEY: str = OPENAI_API_KEY
88
  ANTHROPIC_API_KEY: str = ANTHROPIC_API_KEY
89
+ GEMINI_API_KEY: str = GEMINI_API_KEY
90
 
91
  #
92
  MAX_DOWNLOAD_RETRY: int = 10 # times
 
97
  raise ValueError("OPENAI_API_KEY is required")
98
  if not self.ANTHROPIC_API_KEY:
99
  raise ValueError("ANTHROPIC_API_KEY is required")
100
+ if not self.GEMINI_API_KEY:
101
+ raise ValueError("GEMINI_API_KEY is required")
102
 
103
 
104
  # Create a cached instance of settings
app/request_handler/follow_handler.py CHANGED
@@ -22,6 +22,8 @@ async def handle_follow(request: FollowSchemaRequest):
22
  ai_vendor = "openai"
23
  elif request.ai_model in settings.ANTHROPIC_MODELS:
24
  ai_vendor = "anthropic"
 
 
25
  else:
26
  raise ValueError(
27
  f"Invalid AI model: {request.ai_model}, only support {settings.SUPPORTED_MODELS}"
 
22
  ai_vendor = "openai"
23
  elif request.ai_model in settings.ANTHROPIC_MODELS:
24
  ai_vendor = "anthropic"
25
+ elif request.ai_model in settings.GEMINI_MODELS:
26
+ ai_vendor = "gemini"
27
  else:
28
  raise ValueError(
29
  f"Invalid AI model: {request.ai_model}, only support {settings.SUPPORTED_MODELS}"