顾问匹配服务

基于技能和可用性匹配顾问,并生成LLM摘要的解决方案。

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

使用说明

MCP公司人员配置

恩 模型上下文协议(MCP) 根据技能和能力找到可用顾问的解决方案,LLM在挪威引发了阴谋。

Arkitektur

MCP服务器(组件api)

  • Funksjon通过MCP工具获取暴露顾问数据
  • 端口:通过stdio(ingen HTTP端口)进行子进程
  • 工具: hent_konsulenter() -返回JSON等所有顾问。

MCP客户端+REST API(llm-tool-API)

  • Funksjon-连接到MCP服务器,过滤数据,生成LLM摘要
  • 端口: 4000
  • LLM:GPT-4o-mini通过OpenRouter
  • 端点:
    • GET /tilgjengelige-konsulenter/sammendrag -Hovedendepunkt
    • GET /health -健康检查
    • GET /docs API文档(Swagger)

端口和URL

Tjeneste 端口 URL
嗯,我是4000。http://localhost:4000.
通信api(MCP) - 通过stdio的子进程

密钥URL:

  • API http://localhost:4000/tilgjengelige-konsulenter/sammendrag
  • 文件: http://localhost:4000/docs
  • 健康: http://localhost:4000/health

设施jon

1.Klon储存库

git clone https://github.com/haegermark/mcp-konsulent-staffing.git
cd mcp-konsulent-staffing

2.正确的.env文件

echo "OPENROUTER_API_KEY=din-api-nøkkel-her" > .env

3.启动med Docker

docker compose up --build -d

4.验证者

curl http://localhost:4000/health

使用

查询参数

  • _可用 (必填):整数0-100
    • 可用性=100-负载百分比
  • 所需技能 (可选): String
    • 简单: "python"
    • 更多: "python,docker" (AND逻辑)

埃克森普勒

寻找至少有50%可用且使用Python的顾问:

curl "http://localhost:4000/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=50&påkrevd_ferdighet=python"

更多技能(与逻辑):

curl "http://localhost:4000/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=40&påkrevd_ferdighet=python,docker"

仅适用于:

curl "http://localhost:4000/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=30"

例如,回复:

{
  "sammendrag": "Det ble funnet 2 konsulenter som oppfyller kriteriene om minimum 50% tilgjengelighet og ferdigheten python. Konsulentene er Fredrik med 50% tilgjengelighet, og Elias med 60% tilgjengelighet."
}

消费

标识、名称、事务、销毁、可访问性。 |----|------|-------------|------------|-----------------| |1|Fredrik|python、fastapi、docker |50%|50%| |2|Elias|AI、数据科学、matlab、mysql、java、python |40%|60%| |3|Daniel |人工智能、机器学习、fastapi、django、pandas、postgresql、python、java、sql、javascript |80%|20%| |4|Erlend|AI、数据科学、c++、python |60%|40%| |5|Adrian|AI、数据科学、python、golang、kubernetes、docker |70%|30%|

Docker命令

# Start
docker compose up

# Rebuild
docker compose up --build

# Stopp
docker compose down

# Logs
docker logs llm-verktoy-api --follow

# Status
docker ps

项目结构

mcp-konsulent-staffing/
├── konsulent-api/           # MCP Server
│   ├── server.py           # FastMCP server
│   └── requirements.txt
├── llm-verktoy-api/        # MCP Client + REST API
│   ├── client.py           # FastAPI + LLM
│   └── requirements.txt
├── docker-compose.yml
├── .env
└── README.md

MCP流量

User → HTTP GET (localhost:4000)
  ↓
FastAPI (client.py)
  ↓
MCP Client (stdio)
  ↓
MCP Server (subprocess: server.py)
  ↓
Data Filtering
  ↓
LLM (GPT-4o-mini via OpenRouter)
  ↓
JSON Response

调试

端口4000正在使用中:

netstat -ano | findstr :4000
docker compose down

容器启动器ikke:

docker logs llm-verktoy-api
cat .env  # Sjekk OPENROUTER_API_KEY

MCP连接超时:

docker exec llm-verktoy-api ls -la /mcp-server/
docker logs llm-verktoy-api --tail 100

LLM不返回对话:

docker exec llm-verktoy-api printenv | grep OPENROUTER
# Sjekk credit: https://openrouter.ai/credits

泰克尼斯克堆栈

  • Python 3.11
  • 主控程序 -模型上下文协议(人类)
  • FastMCP -MCP服务器框架
  • 快速API -REST API
  • OpenAI SDK -LLM集成。
  • GPT-4o-mini -语言模型
  • 码头工人 -集装箱运输

为什么选择MCP?

aspkt REST API MCP
通过stdio进行通信、HTTP、JSON-RPC。
模式,Manuell,自动生成。
探索,曼努埃尔,内比格德。
安全性、基于令牌、进程隔离。
AI集成。自定义,原生支持。

LLM阀门:GPT-4o-mini

为什么选择GPT-4o-mini?

  • 优秀的挪威语
  • 成本效益(每M代币0.15美元/0.60美元)
  • Rask响应时间(<2s)
  • OpenAI SDK集成

选择:

  • GPT-4 Turbo:动物,质量更好
  • 克劳德3.5十四行诗:动物,品质卓越。
  • Claude 3 Haiku:更便宜,更弱的文本框

推荐人