Skip to main content
Glama
settings.py1.99 kB
"""Pydantic Settings 配置管理""" from functools import lru_cache from pathlib import Path from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): """应用配置,从环境变量和 .env 文件读取""" model_config = SettingsConfigDict( env_file=".env", env_file_encoding="utf-8", extra="ignore", ) # PostgreSQL 配置 postgres_user: str = "paper" postgres_password: str = "paper" postgres_db: str = "paperlib" postgres_host: str = "localhost" postgres_port: int = 5432 @property def pg_dsn(self) -> str: """构建 PostgreSQL DSN 连接字符串""" return ( f"postgresql://{self.postgres_user}:{self.postgres_password}" f"@{self.postgres_host}:{self.postgres_port}/{self.postgres_db}" ) # MinIO/S3 配置 minio_root_user: str = "minio" minio_root_password: str = "minio123" minio_bucket: str = "papers" s3_endpoint: str = "http://localhost:9000" @property def s3_access_key(self) -> str: """S3 访问密钥(使用 MinIO root user)""" return self.minio_root_user @property def s3_secret_key(self) -> str: """S3 密钥(使用 MinIO root password)""" return self.minio_root_password @property def s3_bucket(self) -> str: """S3 存储桶名称""" return self.minio_bucket # OpenRouter 配置 openrouter_api_key: str = "" openrouter_base_url: str = "https://openrouter.ai/api/v1" embedding_model: str = "openai/text-embedding-3-small" # LLM 模型配置 llm_model: str = "openai/gpt-5-nano" # 通用模型(图谱抽取等) llm_summarize_model: str = "" # 社区摘要专用模型,留空则使用 llm_model # Embedding 批处理配置 embedding_batch_size: int = 64 @lru_cache def get_settings() -> Settings: """获取缓存的配置实例""" return Settings()

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/h-lu/paperlib-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server