From c5440eefa96c7ffe65b33193a7f2c20c9a8bd1c4 Mon Sep 17 00:00:00 2001 From: zk Date: Thu, 30 Jul 2026 18:00:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 6 +++++- .env.prod | 6 +++++- .env.test | 6 +++++- app/ai/model_config.py | 8 ++++---- app/ai/models.py | 4 ++++ app/config/settings.py | 4 ++++ 6 files changed, 27 insertions(+), 7 deletions(-) diff --git a/.env b/.env index fbb4d9a..4688642 100644 --- a/.env +++ b/.env @@ -30,8 +30,12 @@ VOLCENGINE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 ANTHROPIC_API_KEY=sk-43ccdb29caa7e9ebe0db8ac0958c63f6d3a2d62e59064d3d26d94332055a9bc9 ANTHROPIC_BASE_URL=https://code.warpdevloper.cloud +# OpenAI(OpenAI 兼容风格) +OPENAI_API_KEY=sk-12663c3a1ae5db0bc9aee78ffa64e7a0b95bcf7a15541040dd2bce573130f5c8 +OPENAI_BASE_URL=https://re.94xy.cn/v1 + # 岗位清洗参数 -CLEAN_WORKER_COUNT=60 +CLEAN_WORKER_COUNT=20 CLEAN_IDLE_SLEEP=5.0 CLEAN_TOTAL_LIMIT=0 diff --git a/.env.prod b/.env.prod index 47f4d22..0130cf5 100644 --- a/.env.prod +++ b/.env.prod @@ -30,8 +30,12 @@ VOLCENGINE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 ANTHROPIC_API_KEY=sk-43ccdb29caa7e9ebe0db8ac0958c63f6d3a2d62e59064d3d26d94332055a9bc9 ANTHROPIC_BASE_URL=https://code.warpdevloper.cloud +# OpenAI(OpenAI 兼容风格) +OPENAI_API_KEY=sk-12663c3a1ae5db0bc9aee78ffa64e7a0b95bcf7a15541040dd2bce573130f5c8 +OPENAI_BASE_URL=https://re.94xy.cn/v1 + # 岗位清洗参数 -CLEAN_WORKER_COUNT=60 +CLEAN_WORKER_COUNT=20 CLEAN_IDLE_SLEEP=5.0 CLEAN_TOTAL_LIMIT=0 diff --git a/.env.test b/.env.test index 27d82b2..46891ea 100644 --- a/.env.test +++ b/.env.test @@ -26,8 +26,12 @@ DB_POOL_TIMEOUT=30 VOLCENGINE_API_KEY=fd065993-bee2-4f31-8bf2-56d5d3012c02 VOLCENGINE_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 +# OpenAI(OpenAI 兼容风格) +OPENAI_API_KEY=sk-12663c3a1ae5db0bc9aee78ffa64e7a0b95bcf7a15541040dd2bce573130f5c8 +OPENAI_BASE_URL=https://re.94xy.cn/v1 + # 岗位清洗参数 -CLEAN_WORKER_COUNT=60 +CLEAN_WORKER_COUNT=20 CLEAN_IDLE_SLEEP=5.0 # 公司补充参数 diff --git a/app/ai/model_config.py b/app/ai/model_config.py index 2ebf59c..3601ffb 100644 --- a/app/ai/model_config.py +++ b/app/ai/model_config.py @@ -9,14 +9,14 @@ from app.ai.models import LLM class JobCleanModel: """岗位清洗模块""" # 第一次AI:结构化提取岗位信息 - STRUCTURE = LLM.CLAUDE_OPUS.create(temperature=0) + STRUCTURE = LLM.GPT_5_4_MINI.create(temperature=0) # 第二次AI:专业匹配 - MAJOR_MATCH = LLM.CLAUDE_OPUS.create(temperature=0) + MAJOR_MATCH = LLM.GPT_5_4_MINI.create(temperature=0) # 第三次AI:技能提取 - SKILL_EXTRACT = LLM.CLAUDE_OPUS.create(temperature=0) + SKILL_EXTRACT = LLM.GPT_5_4_MINI.create(temperature=0) class CompanyCleanModel: """公司补充模块""" # 公司信息补充 - ENRICH = LLM.CLAUDE_OPUS.create(temperature=0) + ENRICH = LLM.GPT_5_4_MINI.create(temperature=0) diff --git a/app/ai/models.py b/app/ai/models.py index 1cf3562..8e55267 100644 --- a/app/ai/models.py +++ b/app/ai/models.py @@ -18,6 +18,7 @@ from app.config import settings # 供应商连接配置 = (api_key函数, base_url函数) _VOLCENGINE = (lambda: settings.volcengine_api_key, lambda: settings.volcengine_base_url) _ANTHROPIC = (lambda: settings.anthropic_api_key, lambda: settings.anthropic_base_url) +_OPENAI = (lambda: settings.openai_api_key, lambda: settings.openai_base_url) class LLM(Enum): @@ -33,6 +34,9 @@ class LLM(Enum): # Claude(Anthropic 风格) CLAUDE_OPUS = ("claude-opus-4-6", ChatAnthropic, *_ANTHROPIC) + # OpenAI(OpenAI 兼容) + GPT_5_4_MINI = ("gpt-5.4-mini", ChatOpenAI, *_OPENAI) + def __init__(self, model_name: str, cls, api_key_fn, base_url_fn): self.model_name = model_name self._cls = cls diff --git a/app/config/settings.py b/app/config/settings.py index d60f589..4d5ece6 100644 --- a/app/config/settings.py +++ b/app/config/settings.py @@ -37,6 +37,10 @@ class Settings(BaseSettings): anthropic_api_key: str = "sk-43ccdb29caa7e9ebe0db8ac0958c63f6d3a2d62e59064d3d26d94332055a9bc9" anthropic_base_url: str = "https://code.warpdevloper.cloud" + # OpenAI(OpenAI 兼容风格) + openai_api_key: str = "sk-12663c3a1ae5db0bc9aee78ffa64e7a0b95bcf7a15541040dd2bce573130f5c8" + openai_base_url: str = "https://re.94xy.cn/v1" + # ──────────── 岗位清洗参数 ──────────── clean_worker_count: int = 60 # 持续消费 worker 协程数量 clean_idle_sleep: float = 5.0 # 没数据时每个 worker 休眠秒数