feat: 接入 DeepSeek AI 分析公告是否为中国电信可承接项目
- 新增 ai_enabled/ai_api_key/ai_base_url/ai_model 等配置项,通过 .env 管理 - 新增 app/services/ai_analyzer.py — DeepSeek API 调用 + 详情页正文提取 - 新增 extract_page_content() 从详情页抓取正文供 AI 分析 - Announcement 模型新增 ai_relevant / ai_analysis 字段 - 流水线集成 AI 分析步骤(关键词匹配后、通知前) - AI 标记为可承接的项目额外发送 markdown 着重通知 - 创建 alembic 迁移版本 6e8f4c2d1b0a
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
"""add_ai_analysis_columns
|
||||
|
||||
Revision ID: 6e8f4c2d1b0a
|
||||
Revises: 1f59799a5083
|
||||
Create Date: 2026-05-21 10:00:00.000000
|
||||
|
||||
"""
|
||||
from typing import Sequence, Union
|
||||
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
|
||||
|
||||
# revision identifiers, used by Alembic.
|
||||
revision: str = '6e8f4c2d1b0a'
|
||||
down_revision: Union[str, Sequence[str], None] = '1f59799a5083'
|
||||
branch_labels: Union[str, Sequence[str], None] = None
|
||||
depends_on: Union[str, Sequence[str], None] = None
|
||||
|
||||
|
||||
def upgrade() -> None:
|
||||
"""添加 AI 分析相关字段"""
|
||||
op.add_column('announcements', sa.Column('ai_relevant', sa.Boolean(), nullable=True))
|
||||
op.add_column('announcements', sa.Column('ai_analysis', sa.Text(), nullable=True))
|
||||
|
||||
|
||||
def downgrade() -> None:
|
||||
"""回滚"""
|
||||
op.drop_column('announcements', 'ai_analysis')
|
||||
op.drop_column('announcements', 'ai_relevant')
|
||||
Reference in New Issue
Block a user