Trackio documentation
Trackio dưới dạng API và Máy chủ MCP
Trackio dưới dạng API và Máy chủ MCP
Bảng điều khiển Trackio có thể được cấu hình để chạy dưới dạng cả máy chủ API HTTP và máy chủ MCP (Model Context Protocol), cho phép các công cụ và ứng dụng bên ngoài tương tác một cách có chương trình với dữ liệu theo dõi thí nghiệm của bạn, hoặc cho phép bạn “trò chuyện với dữ liệu thí nghiệm” bằng ngôn ngữ tự nhiên thông qua ChatGPT, Claude, Deepseek, hoặc các LLM khác hỗ trợ MCP. Điều này khiến Trackio trở thành lựa chọn lý tưởng cho các tác nhân LLM chạy các thí nghiệm ML tự chủ, vì chúng có thể ghi log các chỉ số và truy vấn kết quả thí nghiệm một cách liền mạch.
Cài đặt
Cài đặt phụ thuộc tùy chọn MCP, sau đó bật máy chủ MCP khi khởi chạy bảng điều khiển Trackio. Bạn có thể thực hiện điều này theo một số cách khác nhau:
pip install "trackio[mcp]"Tùy chọn 1: Lệnh CLI
trackio show --mcp-server
Tuỳ chọn 2: Hàm Python
import trackio
trackio.show(mcp_server=True)Tùy chọn 3: Biến môi trường
export GRADIO_MCP_SERVER=True
trackio showKhi chế độ máy chủ MCP được bật, Trackio:
- Gắn một máy chủ MCP streamable-HTTP bên cạnh bảng điều khiển
- Tiết lộ các công cụ kiểm tra dự án/chạy/chỉ số chỉ đọc cho các client MCP
- Tiết lộ một bộ công cụ biến đổi nhỏ (xóa/đổi tên/đồng bộ hóa) được kiểm soát bởi token ghi
Cách sử dụng API
Trackio phơi bày mỗi công cụ MCP dưới dạng một endpoint HTTP thông thường tại POST /api/{tool_name}. Body là JSON; truyền các đối số dưới dạng {"kwargs": {...}}, {"args": [...]}, hoặc đơn giản là một đối tượng phẳng {"name": value}.
import httpx2
base = "http://127.0.0.1:7860"
projects = httpx2.post(f"{base}/api/get_all_projects").json()["data"]
print("Projects:", projects)
runs = httpx2.post(
f"{base}/api/get_runs_for_project",
json={"project": "my-project"},
).json()["data"]
print("Runs:", runs)
values = httpx2.post(
f"{base}/api/get_metric_values",
json={"project": "my-project", "run": "run-1", "metric_name": "loss"},
).json()["data"]
print("Loss values:", values)const base = "http://127.0.0.1:7860";
async function call(name, payload = {}) {
const res = await fetch(`${base}/api/${name}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(payload),
});
return (await res.json()).data;
}
console.log("Projects:", await call("get_all_projects"));
console.log("Runs:", await call("get_runs_for_project", { project: "my-project" }));
console.log("Loss:", await call("get_metric_values", {
project: "my-project",
run: "run-1",
metric_name: "loss",
}));# Get all projects
curl -s -X POST http://127.0.0.1:7860/api/get_all_projects \
-H "Content-Type: application/json" -d '{}'
# Get runs for a project
curl -s -X POST http://127.0.0.1:7860/api/get_runs_for_project \
-H "Content-Type: application/json" \
-d '{"project": "my-project"}'
# Get values for a metric
curl -s -X POST http://127.0.0.1:7860/api/get_metric_values \
-H "Content-Type: application/json" \
-d '{"project": "my-project", "run": "run-1", "metric_name": "loss"}'Cách sử dụng MCP
Khi chạy dưới dạng máy chủ MCP, Trackio phơi bày các công cụ của nó tại một điểm cuối streamable-HTTP duy nhất mà các client tương thích MCP (Claude Desktop, Claude Code, v.v.) có thể kết nối.
URL của Máy chủ MCP
Máy chủ MCP có sẵn tại:
http://127.0.0.1:7860/mcp/
Khi triển khai lên một Hugging Face Space, URL là https://<your-space>.hf.space/mcp/.
Công cụ MCP khả dụng
Công cụ đọc:
- get_all_projects – Liệt kê tất cả các dự án Trackio trên máy chủ này.
- get_runs_for_project – Liệt kê các run cho một dự án được chỉ định.
- get_metrics_for_run – Liệt kê tên các chỉ số được ghi lại cho một lần chạy.
- get_metric_values – Lấy giá trị chỉ số cho một lần chạy, tùy chọn quanh một bước hoặc thời điểm.
- get_project_summary – Metadata tóm tắt cho một dự án.
- get_run_summary – Metadata tóm tắt cho một lần chạy.
- get_system_metrics_for_run – Liệt kê tên các chỉ số hệ thống được ghi lại cho một lần chạy.
- get_system_logs – Lấy nhật ký chỉ số hệ thống cho một lần chạy.
- get_snapshot – Lấy một snapshot duy nhất quanh một bước hoặc mốc thời gian.
- get_logs – Lấy nhật ký chỉ số cho một lần chạy.
- get_alerts – Lấy các cảnh báo cho một dự án, tùy chọn lọc theo run hoặc level.
- get_settings – Trả về cài đặt bảng điều khiển và cấu hình tài sản.
Công cụ biến đổi (yêu cầu quyền ghi — xem bên dưới):
- delete_run – Xóa một run.
- rename_run – Đổi tên một run.
- trigger_sync – Kích hoạt một lượt xuất/đồng bộ hóa lên Hugging Face.
Quyền ghi cho các công cụ biến đổi
Các công cụ đột biến được kiểm soát:
- Local dashboard: truyền tham số
write_token. Token sẽ được in ra trong terminal khi bạn chạytrackio show((token cũng được nhúng dưới dạng?write_token=...trong URL dashboard được in ra khi khởi động). Ví dụ:{"project": "my-project", "run": "run-1", "write_token": "<token from startup output>"} - Hugging Face Spaces: truyền tham số
hf_tokencó quyền ghi vào kho của Space. Tham sốwrite_tokencục bộ không được sử dụng trong trường hợp này.
Công cụ đọc không bao giờ yêu cầu token.
Cấu hình MCP Client
Để thêm Trackio vào các client hỗ trợ máy chủ MCP streamable-HTTP, hãy sử dụng cấu hình như sau:
{
"mcpServers": {
"trackio": {
"url": "http://127.0.0.1:7860/mcp/"
}
}
}