generated from kgod/ai-review-template
feat: improve resume optimization and import reliability
This commit is contained in:
@@ -56,8 +56,10 @@ class Settings:
|
||||
embedding_batch_size: int = 32
|
||||
openai_timeout_seconds: float = 30.0
|
||||
openai_max_retries: int = 2
|
||||
resume_import_timeout_seconds: float = 45.0
|
||||
light_opt_rate_limit: int = 20
|
||||
light_opt_rate_window_seconds: float = 3600.0
|
||||
light_entry_timeout_seconds: float = 50.0
|
||||
structured_output_retries: int = 1
|
||||
structured_output_mode: str = "json_schema"
|
||||
fallback_to_rules: bool = True
|
||||
@@ -65,6 +67,12 @@ class Settings:
|
||||
intent_model: str | None = None
|
||||
knowledge_admin_token: str | None = field(default=None, repr=False)
|
||||
database_url: str | None = field(default=None, repr=False)
|
||||
database_pool_size: int = 10
|
||||
database_max_overflow: int = 10
|
||||
database_pool_timeout_seconds: float = 5.0
|
||||
database_statement_timeout_ms: int = 10_000
|
||||
database_lock_timeout_ms: int = 3_000
|
||||
database_idle_transaction_timeout_ms: int = 15_000
|
||||
offerpai_auth_base_url: str = "https://test.offerpai.com.cn"
|
||||
offerpai_auth_timeout_seconds: float = 8.0
|
||||
offerpai_auth_required: bool = True
|
||||
@@ -140,6 +148,11 @@ def load_settings(env_file: str | Path | None = None) -> Settings:
|
||||
openai_max_retries=_as_int(
|
||||
"OPENAI_MAX_RETRIES", os.getenv("OPENAI_MAX_RETRIES"), 2
|
||||
),
|
||||
resume_import_timeout_seconds=_as_float(
|
||||
"RESUME_AGENT_IMPORT_TIMEOUT_SECONDS",
|
||||
os.getenv("RESUME_AGENT_IMPORT_TIMEOUT_SECONDS"),
|
||||
45.0,
|
||||
),
|
||||
light_opt_rate_limit=_as_int(
|
||||
"RESUME_AGENT_LIGHT_OPT_RATE_LIMIT",
|
||||
os.getenv("RESUME_AGENT_LIGHT_OPT_RATE_LIMIT"),
|
||||
@@ -150,6 +163,11 @@ def load_settings(env_file: str | Path | None = None) -> Settings:
|
||||
os.getenv("RESUME_AGENT_LIGHT_OPT_RATE_WINDOW_SECONDS"),
|
||||
3600.0,
|
||||
),
|
||||
light_entry_timeout_seconds=_as_float(
|
||||
"RESUME_AGENT_LIGHT_ENTRY_TIMEOUT_SECONDS",
|
||||
os.getenv("RESUME_AGENT_LIGHT_ENTRY_TIMEOUT_SECONDS"),
|
||||
50.0,
|
||||
),
|
||||
structured_output_retries=_as_int(
|
||||
"OPENAI_STRUCTURED_OUTPUT_RETRIES",
|
||||
os.getenv("OPENAI_STRUCTURED_OUTPUT_RETRIES"),
|
||||
@@ -163,6 +181,26 @@ def load_settings(env_file: str | Path | None = None) -> Settings:
|
||||
intent_model=os.getenv("RESUME_AGENT_INTENT_MODEL", "").strip() or None,
|
||||
knowledge_admin_token=os.getenv("KNOWLEDGE_ADMIN_TOKEN") or None,
|
||||
database_url=os.getenv("DATABASE_URL") or None,
|
||||
database_pool_size=_as_int(
|
||||
"DATABASE_POOL_SIZE", os.getenv("DATABASE_POOL_SIZE"), 10
|
||||
),
|
||||
database_max_overflow=_as_int(
|
||||
"DATABASE_MAX_OVERFLOW", os.getenv("DATABASE_MAX_OVERFLOW"), 10
|
||||
),
|
||||
database_pool_timeout_seconds=_as_float(
|
||||
"DATABASE_POOL_TIMEOUT_SECONDS", os.getenv("DATABASE_POOL_TIMEOUT_SECONDS"), 5.0
|
||||
),
|
||||
database_statement_timeout_ms=_as_int(
|
||||
"DATABASE_STATEMENT_TIMEOUT_MS", os.getenv("DATABASE_STATEMENT_TIMEOUT_MS"), 10_000
|
||||
),
|
||||
database_lock_timeout_ms=_as_int(
|
||||
"DATABASE_LOCK_TIMEOUT_MS", os.getenv("DATABASE_LOCK_TIMEOUT_MS"), 3_000
|
||||
),
|
||||
database_idle_transaction_timeout_ms=_as_int(
|
||||
"DATABASE_IDLE_TRANSACTION_TIMEOUT_MS",
|
||||
os.getenv("DATABASE_IDLE_TRANSACTION_TIMEOUT_MS"),
|
||||
15_000,
|
||||
),
|
||||
offerpai_auth_base_url=os.getenv(
|
||||
"OFFERPAI_AUTH_BASE_URL", "https://test.offerpai.com.cn"
|
||||
).rstrip("/"),
|
||||
|
||||
Reference in New Issue
Block a user