顾问筛选与AI摘要服务

基于技能和可用性筛选顾问,并生成AI摘要的服务。

  • by nickaskari
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 nickaskari/mcp-konsulent-staffing

使用说明

MCP公司人员配置

根据技能和可用性招募顾问,获得挪威语的人工智能收藏。

继续

Klient → LLM-Verktøy-API → Konsulent-API (12 konsulenter)
              ↓
         gpt-4o-mini → Sammendrag

致特纳:

  • Konsulent-API公司 (8000): 硬编码的咨询数据
  • LLM-垂直API (8001):填表+AI峰会

推动项目。

cp .env.example .env
# Legg inn OpenRouter API-nøkkel i .env

docker-compose up --build

测试:

curl "http://localhost:8001/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=50&pakrevd_ferdighet=python"

重新启动服务:

docker-compose restart

停止并重新开始。

docker-compose down
docker-compose up --build

测试

测试环境发现

在驾驶考试之前,设置一个虚拟环境并安装配件:

# Opprett virtuelt miljø
python3 -m venv .venv

# Aktiver virtuelt miljø
source .venv/bin/activate  # På macOS/Linux
# eller
.venv\Scripts\activate     # På Windows

# Installer avhengigheter
pip install -r requirements.txt

单元测试

不带Docker的驱动器(测试隔离逻辑):

pytest tests/konsulent-api/ -v
pytest tests/llm-verktøy-api/ -v

Integrasjonstester

需要在Docker中运行的服务:

# Terminal 1: Start services
docker-compose up --build

# Terminal 2: Kjør integrasjonstester
source .venv/bin/activate
pytest tests/integration/ -v

测试验证:

  • 小结果模板响应(1-3名顾问)
  • LLM端点对大结果(4+)返回有效响应
  • 旧案例(无点击,高要求)

Manuell验证LLM是否正常

测试LLM生成的战略建议:

jq的安装(建议用于lesbar地层):

brew install jq

测试格式输出:

# Lite resultat - bruker template (2-3 konsulenter)
curl "http://localhost:8001/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=60&pakrevd_ferdighet=java" | jq -r '.sammendrag'

# Stort resultat - bruker LLM med strategiske innsikter (4+ konsulenter)
curl "http://localhost:8001/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=30&pakrevd_ferdighet=python" | jq -r '.sammendrag'

# Ingen treff
curl "http://localhost:8001/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=99&pakrevd_ferdighet=cobol" | jq -r '.sammendrag'

Uten jq(råJSON输出):

curl "http://localhost:8001/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=30&pakrevd_ferdighet=python"

查看LLM的回复:

  • 所需技能和标准的名称
  • 列出有访问权限的前3名候选人
  • 团队组合建议
  • 确定有价值的技术和互补的配置文件

Valgt型号: openai/gpt-4o-mini

为了评估和选择最佳的LLM模型,使用了以下脚本:

python compare_models.py

硒 模式_评估.md 详细的选型依据。

API

GET /konsulenter -归还所有顾问。

GET /tilgjengelige-konsulenter/sammendrag -过滤器或发电机

  • min_tilgjengelighet_prosent (0-100)
  • pakrevd_ferdighet 不区分大小写

Arkitektur

设计决策

无缓存 : 统计数据很难确定。在数据库和动态数据生产系统中,缓存(Redis,内存中)适当减少数据库负载。

LLM使用: 优化成本和响应时间:

  • 0次点击: 硬质合金(LLM kall)
  • 1-3次点击: 基于模板的摘要(无LLM调用)
  • 4+点击: LLM产生关于团队组成和技能组成的战略见解

这确保了LLM仅在提供超越简单构造的真正价值时使用。