Spaces:
Running
Running
""" | |
Configuration constants for the Geminicli2api proxy server. | |
Centralizes all configuration to avoid duplication across modules. | |
""" | |
import os | |
# API Endpoints | |
CODE_ASSIST_ENDPOINT = "https://cloudcode-pa.googleapis.com" | |
# Client Configuration | |
CLI_VERSION = "0.1.5" # Match current gemini-cli version | |
# OAuth Configuration | |
CLIENT_ID = "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com" | |
CLIENT_SECRET = "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" | |
SCOPES = [ | |
"https://www.googleapis.com/auth/cloud-platform", | |
"https://www.googleapis.com/auth/userinfo.email", | |
"https://www.googleapis.com/auth/userinfo.profile", | |
] | |
# File Paths | |
SCRIPT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
CREDENTIAL_FILE = os.path.join(SCRIPT_DIR, os.getenv("GOOGLE_APPLICATION_CREDENTIALS", "oauth_creds.json")) | |
# Authentication | |
GEMINI_AUTH_PASSWORD = os.getenv("GEMINI_AUTH_PASSWORD", "123456") | |
# Default Safety Settings for Google API | |
DEFAULT_SAFETY_SETTINGS = [ | |
{"category": "HARM_CATEGORY_HARASSMENT", "threshold": "BLOCK_NONE"}, | |
{"category": "HARM_CATEGORY_HATE_SPEECH", "threshold": "BLOCK_NONE"}, | |
{"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", "threshold": "BLOCK_NONE"}, | |
{"category": "HARM_CATEGORY_DANGEROUS_CONTENT", "threshold": "BLOCK_NONE"}, | |
{"category": "HARM_CATEGORY_CIVIC_INTEGRITY", "threshold": "BLOCK_NONE"} | |
] | |
# Supported Models (for /v1beta/models endpoint) | |
SUPPORTED_MODELS = [ | |
{ | |
"name": "models/gemini-1.5-pro", | |
"version": "001", | |
"displayName": "Gemini 1.5 Pro", | |
"description": "Mid-size multimodal model that supports up to 2 million tokens", | |
"inputTokenLimit": 2097152, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-1.5-flash", | |
"version": "001", | |
"displayName": "Gemini 1.5 Flash", | |
"description": "Fast and versatile multimodal model for scaling across diverse tasks", | |
"inputTokenLimit": 1048576, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-2.5-pro-preview-05-06", | |
"version": "001", | |
"displayName": "Gemini 2.5 Pro Preview 05-06", | |
"description": "Preview version of Gemini 2.5 Pro from May 6th", | |
"inputTokenLimit": 1048576, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-2.5-pro-preview-06-05", | |
"version": "001", | |
"displayName": "Gemini 2.5 Pro Preview 06-05", | |
"description": "Preview version of Gemini 2.5 Pro from June 5th", | |
"inputTokenLimit": 1048576, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-2.5-pro", | |
"version": "001", | |
"displayName": "Gemini 2.5 Pro", | |
"description": "Advanced multimodal model with enhanced capabilities", | |
"inputTokenLimit": 1048576, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-2.5-flash-preview-05-20", | |
"version": "001", | |
"displayName": "Gemini 2.5 Flash Preview 05-20", | |
"description": "Preview version of Gemini 2.5 Flash from May 20th", | |
"inputTokenLimit": 1048576, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-2.5-flash", | |
"version": "001", | |
"displayName": "Gemini 2.5 Flash", | |
"description": "Fast and efficient multimodal model with latest improvements", | |
"inputTokenLimit": 1048576, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-2.0-flash", | |
"version": "001", | |
"displayName": "Gemini 2.0 Flash", | |
"description": "Latest generation fast multimodal model", | |
"inputTokenLimit": 1048576, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-2.0-flash-preview-image-generation", | |
"version": "001", | |
"displayName": "Gemini 2.0 Flash Preview Image Generation", | |
"description": "Preview version with image generation capabilities", | |
"inputTokenLimit": 32000, | |
"outputTokenLimit": 8192, | |
"supportedGenerationMethods": ["generateContent", "streamGenerateContent"], | |
"temperature": 1.0, | |
"maxTemperature": 2.0, | |
"topP": 0.95, | |
"topK": 64 | |
}, | |
{ | |
"name": "models/gemini-embedding-001", | |
"version": "001", | |
"displayName": "Gemini Embedding 001", | |
"description": "Text embedding model for semantic similarity and search", | |
"inputTokenLimit": 2048, | |
"outputTokenLimit": 1, | |
"supportedGenerationMethods": ["embedContent"], | |
"temperature": 0.0, | |
"maxTemperature": 0.0, | |
"topP": 1.0, | |
"topK": 1 | |
} | |
] |