Dette repositoriet inneholder en liten demoløsning for en intern AI-assistent basert på konseptet Model Context Protocol (MCP).
Løsningen består av to Python/FastAPI-mikrotjenester som kjører i separate Docker-containere.
Vi har to tilgjengelige tjenester, konsulent- og llm vertøy api. Konsulent-apiet fungerer som en server for clienten llm-verktøy-apiet, hvor llm-verktøy-apiet behandler dataen videre før den returnerer objektet med et menneskelig sammendrag.
Gir tilgang til konsulentdata.
- Endepunkt:
GET /konsulenter - Respons: Forhåndsdefinert liste over konsulenter i JSON-format
- Felt:
id,navn,ferdigheter,belastning_prosent
Fungerer som et verktøy-API for en AI-assistent.
- Endepunkt:
GET /tilgjengelige-konsulenter/sammendrag - Spørreparametere:
min_tilgjengelighet_prosentpåkrevd_ferdighet
- Logikk:
- Henter data fra
konsulent-api - Filtrerer konsulenter basert på tilgjengelighet og påkrevd ferdighet
- Returnerer et menneskeleselig sammendrag som JSON
- Henter data fra
- Python 3.12
- FastAPI
- Pydantic v2
- Docker & Docker Compose
- Docker Desktop (Windows/Mac) eller Docker Engine (Linux)
- Docker Compose
Fra repository root:
docker compose up --buildDette starter begge tjenestene:
- konsulent-api på
http://localhost:8001 - llm-verktoy-api på
http://localhost:8002
1. Hent alle konsulenter:
curl http://localhost:8001/konsulenter2. Hent sammendrag med filter:
curl "http://localhost:8002/tilgjengelige-konsulenter/sammendrag?min_tilgjengelighet_prosent=50&påkrevd_ferdighet=python"3. Swagger dokumentasjon:
- konsulent-api:
http://localhost:8001/docs - llm-verktoy-api:
http://localhost:8002/docs
docker compose down- Installer Python 3.12+
- Installer dependencies for hver tjeneste:
# konsulent-api
cd konsulent-api
pip install -r requirements.txt
# llm-verktoy-api
cd ../llm-verktoy-api
pip install -r requirements.txt- Kjør hver tjeneste i separate terminaler:
# Terminal 1 - konsulent-api
cd konsulent-api/src
python -m uvicorn main:app --port 8001 --reload
# Terminal 2 - llm-verktoy-api
cd llm-verktoy-api/src
KONSULENT_API_BASE_URL=http://localhost:8001 python -m uvicorn main:app --port 8002 --reloadcurl http://localhost:8001/konsulenter