Trackio documentation
Trackio كواجهة برمجة تطبيقات وخادم MCP
Trackio كواجهة برمجة تطبيقات وخادم MCP
يمكن تكوين لوحة تحكم Trackio للعمل كخادم لواجهة برمجة تطبيقات HTTP وكخادم بروتوكول سياق النموذج (MCP)، مما يتيح للأدوات والتطبيقات الخارجية التفاعل برمجياً مع بيانات تتبع تجاربك، أو يتيح لك «الدردشة مع بيانات تجاربك» بلغة طبيعية باستخدام ChatGPT أو Claude أو Deepseek أو مختلف نماذج اللغة الكبيرة (LLMs) التي تدعم بروتوكولات MCP. وهذا يجعل Trackio خياراً مثالياً لوكلاء نماذج اللغة الكبيرة (LLM agents) الذين يشغّلون تجارب تعلم آلة ذاتية، إذ يمكنهم تسجيل المقاييس واستعلام نتائج التجارب بسلاسة.
الإعداد
قم بتثبيت اعتمادية MCP الاختيارية، ثم فعّل خادم MCP عند تشغيل لوحة تحكم Trackio. يمكنك القيام بذلك بعدة طرق مختلفة:
pip install "trackio[mcp]"الخيار 1: أمر سطر الأوامر
trackio show --mcp-server
الخيار 2: دالة بايثون
import trackio
trackio.show(mcp_server=True)الخيار 3: متغير البيئة
export GRADIO_MCP_SERVER=True
trackio showعند تمكين وضع خادم MCP، يقوم Trackio بما يلي:
- يقوم بتركيب خادم MCP قابل للبث عبر HTTP إلى جانب لوحة التحكم
- يُتيح أدوات فحص للقراءة فقط للمشاريع/التشغيلات/المقاييس لعملاء MCP
- يُعرّض مجموعة صغيرة من أدوات التعديل (حذف/إعادة تسمية/مزامنة) محكومة برمز كتابة
استخدام واجهة برمجة التطبيقات
تُعرّض Trackio كل أداة MCP كنقطة نهاية HTTP عادية عند POST /api/{tool_name}. يكون الجسم بصيغة JSON؛ مرّر الحُجج على شكل {"kwargs": {...}} أو {"args": [...]} أو ببساطة ككائن مسطّح {"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"}'استخدام MCP
عند التشغيل كخادم MCP، يكشف Trackio أدواته عبر نقطة نهاية HTTP قابلة للتدفق واحدة يمكن للعملاء المتوافقين مع MCP (مثل Claude Desktop وClaude Code وغيرها) الاتصال بها.
عنوان خادم MCP
يتوفر خادم MCP في:
http://127.0.0.1:7860/mcp/
عند النشر في مساحة Hugging Face، يكون الرابط https://<your-space>.hf.space/mcp/.
أدوات MCP المتاحة
أدوات القراءة:
- get_all_projects – يعرض قائمة بجميع مشاريع Trackio على هذا الخادم.
- get_runs_for_project – قائمة التشغيلات لمشروع معيّن.
- get_metrics_for_run – قائمة أسماء المقاييس المسجّلة لتشغيل.
- get_metric_values – استرجاع قيم المقاييس لتشغيل، اختيارياً حول خطوة أو وقت معين.
- get_project_summary – بيانات وصفية موجزة لمشروع.
- get_run_summary – بيانات وصفية موجزة للتشغيل.
- get_system_metrics_for_run – قائمة أسماء مقاييس النظام المسجّلة لتشغيل.
- get_system_logs – جلب سجلات مقاييس النظام لتشغيل.
- get_snapshot – استرجاع لقطة واحدة حول خطوة أو طابع زمني.
- get_logs – جلب سجلات المقاييس لتشغيل.
- get_alerts – جلب التنبيهات لمشروع، مع إمكانية التصفية اختيارياً حسب التشغيل أو المستوى.
- get_settings – إرجاع إعدادات لوحة التحكم وتكوين الأصول.
أدوات التعديل (تتطلب صلاحية الكتابة — راجع ما يلي):
- delete_run – حذف تشغيل.
- rename_run – إعادة تسمية تشغيل.
- trigger_sync – تشغيل عملية تصدير/مزامنة إلى Hugging Face.
صلاحيات الكتابة لأدوات التعديل
أدوات الطفرات محكومة:
- Local dashboard: مرّر
write_tokenالحجّة. يتم طباعة الرمز في الطرفية عند تشغيلtrackio show(كما أنه مضمّن على شكل?write_token=...في عنوان لوحة التحكم المطبوع عند الإقلاع). على سبيل المثال:{"project": "my-project", "run": "run-1", "write_token": "<token from startup output>"} - مساحات Hugging Face: مرّر معامل
hf_tokenمع صلاحية الكتابة إلى مستودع المساحة. لا يُستخدمwrite_tokenالمحلي في هذه الحالة.
لا تتطلب أدوات القراءة رمزًا مصادقة.
إعداد عميل MCP
لإضافة Trackio إلى العملاء الذين يدعمون خوادم MCP القابلة للتدفق عبر HTTP، استخدم تكوينًا مثل:
{
"mcpServers": {
"trackio": {
"url": "http://127.0.0.1:7860/mcp/"
}
}
}