PMFlow/backend/app/services/skill/shared.py

38 lines
1.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
PMFlow 人员能力图谱 - 技能标签与用户技能绑定服务
- 系统预设 AI 开发技能标签初始化
- SkillTag CRUD(系统标签禁止删改)
- UserSkillBinding 批量更新与查询
- UserWorkload 自动更新
"""
from datetime import datetime, timedelta
from typing import List, Optional
from sqlalchemy import and_, func, select
from sqlalchemy.ext.asyncio import AsyncSession
from sqlalchemy.orm import selectinload
from ...models import SkillTag, UserSkillBinding, UserWorkload, User, UserStatus, Task
from ..ai_pmo.ai_pmo_kernel import AIPMOKernelService
# 系统预设 AI 开发专属技能标签
from ...utils.timezone import now_cn_naive
SYSTEM_SKILL_TAGS = [
{"name": "Python", "slug": "python", "category": "language", "sort_order": 1},
{"name": "TypeScript", "slug": "typescript", "category": "language", "sort_order": 2},
{"name": "FastAPI", "slug": "fastapi", "category": "framework", "sort_order": 3},
{"name": "React", "slug": "react", "category": "framework", "sort_order": 4},
{"name": "SQLAlchemy", "slug": "sqlalchemy", "category": "framework", "sort_order": 5},
{"name": "LangChain", "slug": "langchain", "category": "framework", "sort_order": 6},
{"name": "LLM 调优", "slug": "llm-tuning", "category": "skill", "sort_order": 7},
{"name": "RAG 构建", "slug": "rag", "category": "skill", "sort_order": 8},
{"name": "向量数据库", "slug": "vector-db", "category": "tool", "sort_order": 9},
{"name": "Ollama", "slug": "ollama", "category": "tool", "sort_order": 10},
{"name": "Docker", "slug": "docker", "category": "tool", "sort_order": 11},
{"name": "Git", "slug": "git", "category": "tool", "sort_order": 12},
]