app/routers/tools.py aktualisiert
All checks were successful
Deploy mindnet to llm-node / deploy (push) Successful in 3s

This commit is contained in:
Lars 2025-10-07 13:30:12 +02:00
parent 9bbcc0952b
commit c2ecc15d89

View File

@ -1,6 +1,20 @@
""" """
app/routers/tools.py Tool-Definitionen für Ollama/n8n/MCP (read-only) app/routers/tools.py Tool-Definitionen für Ollama/n8n/MCP (read-only)
Version: 0.1.0 Stand: 2025-10-07
Zweck:
Liefert Funktions-Schemas (OpenAI-/Ollama-kompatibles Tool-JSON) für:
- mindnet_query -> POST /query
- mindnet_subgraph-> GET /graph/{note_id}
Kompatibilität:
Python 3.12+, FastAPI 0.110+
Version:
0.1.0 (Erstanlage)
Stand:
2025-10-07
Nutzung:
app.include_router(tools.router, prefix="/tools", tags=["tools"])
Änderungsverlauf:
0.1.0 (2025-10-07) Erstanlage.
""" """
from __future__ import annotations from __future__ import annotations
@ -10,28 +24,49 @@ router = APIRouter()
TOOLS = { TOOLS = {
"tools": [ "tools": [
{"type":"function","function":{ {
"name":"mindnet_query", "type": "function",
"description":"Hybrid-Retrieval (semantik + edges).", "function": {
"parameters":{"type":"object","properties":{ "name": "mindnet_query",
"top_k":{"type":"integer","default":10,"minimum":1,"maximum":50}, "description": "Hybrid-Retrieval über mindnet (Semantik + Edges).",
"expand_depth":{"type":"integer","default":1,"minimum":0,"maximum":3}, "parameters": {
"edge_types":{"type":"array","items":{"type":"string"}, "type": "object",
"default":["references","belongs_to","prev","next"]}, "properties": {
"query_vector":{"type":"array","items":{"type":"number"}, "top_k": {"type":"integer","default":10,"minimum":1,"maximum":50},
"description":"384-dim Query-Vektor"}, "expand_depth": {"type":"integer","default":1,"minimum":0,"maximum":3},
"filters":{"type":"object"} "edge_types": {
},"required":["query_vector"]}}}, "type":"array","items":{"type":"string"},
"default": ["references","belongs_to","prev","next"]
{"type":"function","function":{ },
"name":"mindnet_subgraph", "query_vector": {
"description":"Nachbarschaft (Edges) einer Note/ID.", "type":"array","items":{"type":"number"},
"parameters":{"type":"object","properties":{ "description":"384-dim Query-Vektor; (Text→Embedding kann später serverseitig erfolgen)."
"note_id":{"type":"string"}, },
"depth":{"type":"integer","default":1,"minimum":0,"maximum":3}, "filters": {"type":"object","description":"payload-Filter (tags etc.)"}
"edge_types":{"type":"array","items":{"type":"string"}, },
"default":["references","belongs_to","prev","next","backlink"]} "required": ["query_vector"]
},"required":["note_id"]}}} }
}
},
{
"type": "function",
"function": {
"name": "mindnet_subgraph",
"description": "Gibt die Nachbarschaft (Edges) einer Note/Seed-ID zurück.",
"parameters": {
"type":"object",
"properties": {
"note_id":{"type":"string"},
"depth":{"type":"integer","default":1,"minimum":0,"maximum":3},
"edge_types":{
"type":"array","items":{"type":"string"},
"default":["references","belongs_to","prev","next","backlink"]
}
},
"required":["note_id"]
}
}
}
] ]
} }