diff --git a/.gitignore b/.gitignore index e990dff6fa..0f85837877 100644 --- a/.gitignore +++ b/.gitignore @@ -15,6 +15,9 @@ go.mod go.sum +# Misc +# Cursor editor local rules and config (per-developer) +.cursor .DS_Store .env.local diff --git a/docs.json b/docs.json index bf3e4dd482..b54766328a 100644 --- a/docs.json +++ b/docs.json @@ -790,7 +790,8 @@ "weave/guides/tools/attributes", "weave/guides/core-types/media", "weave/guides/tracking/view-call", - "weave/guides/tracking/trace-disable" + "weave/guides/tracking/trace-disable", + "weave/guides/tracking/write-ahead-log" ] }, { @@ -1365,13 +1366,13 @@ ] }, { - "group": "Détails de la plateforme", + "group": "D\u00e9tails de la plateforme", "pages": [ { "group": "Configurer W&B", "pages": [ { - "group": "Paramètres", + "group": "Param\u00e8tres", "pages": [ "fr/platform/app/settings-page", "fr/platform/app/settings-page/user-settings", @@ -1383,7 +1384,7 @@ ] }, { - "group": "Gestion des identités et des accès (IAM)", + "group": "Gestion des identit\u00e9s et des acc\u00e8s (IAM)", "pages": [ "fr/platform/hosting/iam/org_team_struct", { @@ -1396,7 +1397,7 @@ ] }, { - "group": "Gestion des accès", + "group": "Gestion des acc\u00e8s", "pages": [ "fr/platform/hosting/iam/access-management-intro", "fr/platform/hosting/iam/access-management/manage-organization", @@ -1409,7 +1410,7 @@ ] }, { - "group": "Sécurité des données", + "group": "S\u00e9curit\u00e9 des donn\u00e9es", "pages": [ "fr/platform/hosting/data-security/secure-storage-connector", "fr/platform/hosting/data-security/presigned-urls", @@ -1432,12 +1433,12 @@ ] }, { - "group": "Options de déploiement", + "group": "Options de d\u00e9ploiement", "pages": [ "fr/platform/hosting", "fr/platform/hosting/hosting-options/multi_tenant_cloud", { - "group": "Cloud dédié", + "group": "Cloud d\u00e9di\u00e9", "pages": [ "fr/platform/hosting/hosting-options/dedicated-cloud", "fr/platform/hosting/hosting-options/dedicated-cloud/rate-limits", @@ -1446,7 +1447,7 @@ ] }, { - "group": "Autogéré", + "group": "Autog\u00e9r\u00e9", "pages": [ "fr/platform/hosting/hosting-options/self-managed", "fr/platform/hosting/self-managed/ref-arch", @@ -1491,7 +1492,7 @@ "fr/models/track/project-page", "fr/models/track/workspaces", { - "group": "Que sont les runs ?", + "group": "Que sont les runs\u00a0?", "pages": [ "fr/models/runs", "fr/models/runs/run-identifiers", @@ -1517,7 +1518,7 @@ ] }, { - "group": "Journaliser des objets et des médias", + "group": "Journaliser des objets et des m\u00e9dias", "pages": [ "fr/models/track/log", "fr/models/track/log/plots", @@ -1544,7 +1545,7 @@ "fr/models/sweeps/walkthrough", "fr/models/sweeps/add-w-and-b-to-your-code", { - "group": "Définir une configuration de sweep", + "group": "D\u00e9finir une configuration de sweep", "pages": [ "fr/models/sweeps/define-sweep-configuration", "fr/models/sweeps/sweep-config-keys" @@ -1584,7 +1585,7 @@ "fr/models/artifacts/create-a-new-artifact-version", "fr/models/artifacts/track-external-files", { - "group": "Gérer les données", + "group": "G\u00e9rer les donn\u00e9es", "pages": [ "fr/models/artifacts/delete-artifacts", "fr/models/artifacts/ttl", @@ -1631,7 +1632,7 @@ "pages": [ "fr/models/automations", { - "group": "Créer une automatisation", + "group": "Cr\u00e9er une automatisation", "pages": [ "fr/models/automations/create-automations", "fr/models/automations/create-automations/slack", @@ -1643,7 +1644,7 @@ ] }, { - "group": "Jobs d’évaluation LLM", + "group": "Jobs d\u2019\u00e9valuation LLM", "pages": [ "fr/models/launch", "fr/models/launch/evaluate-model-checkpoint", @@ -1652,7 +1653,7 @@ ] }, { - "group": "Interface de l’application W&B", + "group": "Interface de l\u2019application W&B", "pages": [ "fr/models/app/features/cascade-settings", { @@ -1676,7 +1677,7 @@ "fr/models/app/features/panels/parameter-importance", "fr/models/app/features/panels/run-comparer", { - "group": "Panneaux de requête", + "group": "Panneaux de requ\u00eate", "pages": [ "fr/models/app/features/panels/query-panels", "fr/models/app/features/panels/query-panels/embedding-projector" @@ -1685,7 +1686,7 @@ ] }, { - "group": "Graphiques personnalisés", + "group": "Graphiques personnalis\u00e9s", "pages": [ "fr/models/app/features/custom-charts", "fr/models/app/features/custom-charts/walkthrough" @@ -1698,12 +1699,12 @@ ] }, { - "group": "Intégrations", + "group": "Int\u00e9grations", "pages": [ "fr/models/integrations", "fr/models/integrations/add-wandb-to-any-library", { - "group": "Frameworks et bibliothèques ML", + "group": "Frameworks et biblioth\u00e8ques ML", "pages": [ { "group": "Frameworks de ML", @@ -1717,7 +1718,7 @@ ] }, { - "group": "Bibliothèques ML", + "group": "Biblioth\u00e8ques ML", "pages": [ "fr/models/integrations/huggingface", "fr/models/integrations/accelerate", @@ -1750,14 +1751,14 @@ ] }, { - "group": "Référence", + "group": "R\u00e9f\u00e9rence", "pages": [ "fr/models/ref", { "group": "Python", "pages": [ { - "group": "Aide-mémoire de programmation du SDK", + "group": "Aide-m\u00e9moire de programmation du SDK", "pages": [ "fr/models/ref/sdk-coding-cheat-sheet", "fr/models/ref/sdk-coding-cheat-sheet/runs", @@ -1783,7 +1784,7 @@ ] }, { - "group": "Types de données", + "group": "Types de donn\u00e9es", "pages": [ "fr/models/ref/python/data-types", "fr/models/ref/python/data-types/audio", @@ -1831,7 +1832,7 @@ ] }, { - "group": "Graphiques personnalisés", + "group": "Graphiques personnalis\u00e9s", "pages": [ "fr/models/ref/python/custom-charts", "fr/models/ref/python/custom-charts/bar", @@ -1887,7 +1888,7 @@ "pages": [ "fr/models/ref/cli/wandb-artifact", { - "group": "cache d’artefact", + "group": "cache d\u2019artefact", "pages": [ "fr/models/ref/cli/wandb-artifact/wandb-artifact-cache", "fr/models/ref/cli/wandb-artifact/wandb-artifact-cache/wandb-artifact-cache-cleanup" @@ -1903,7 +1904,7 @@ "pages": [ "fr/models/ref/cli/wandb-beta", { - "group": "core bêta", + "group": "core b\u00eata", "pages": [ "fr/models/ref/cli/wandb-beta/wandb-beta-core", "fr/models/ref/cli/wandb-beta/wandb-beta-core/wandb-beta-core-start", @@ -1911,7 +1912,7 @@ ] }, { - "group": "leet bêta", + "group": "leet b\u00eata", "pages": [ "fr/models/ref/cli/wandb-beta/wandb-beta-leet", "fr/models/ref/cli/wandb-beta/wandb-beta-leet/wandb-beta-leet-config", @@ -1958,7 +1959,7 @@ ] }, { - "group": "Langage d’expressions de requête", + "group": "Langage d\u2019expressions de requ\u00eate", "pages": [ "fr/models/ref/query-panel", "fr/models/ref/query-panel/artifact", @@ -2019,7 +2020,7 @@ "group": "Tracez votre application", "pages": [ { - "group": "Notions de base du traçage", + "group": "Notions de base du tra\u00e7age", "pages": [ "fr/weave/guides/tracking/tracing", "fr/weave/guides/tracking/create-call", @@ -2029,7 +2030,7 @@ ] }, { - "group": "Ops avancées", + "group": "Ops avanc\u00e9es", "pages": [ "fr/weave/guides/tracking/trace-generator-func", "fr/weave/tutorial-tracing_2", @@ -2058,7 +2059,7 @@ ] }, { - "group": "Évaluez votre application", + "group": "\u00c9valuez votre application", "pages": [ "fr/weave/guides/core-types/evaluations", "fr/weave/guides/core-types/datasets", @@ -2073,7 +2074,7 @@ ] }, { - "group": "Expérimentez avec les prompts et les modèles", + "group": "Exp\u00e9rimentez avec les prompts et les mod\u00e8les", "pages": [ "fr/weave/guides/tools/playground", "fr/weave/guides/tools/evaluation_playground", @@ -2109,7 +2110,7 @@ ] }, { - "group": "Intégrer votre fournisseur LLM et vos frameworks", + "group": "Int\u00e9grer votre fournisseur LLM et vos frameworks", "pages": [ "fr/weave/guides/integrations", "fr/weave/guides/integrations/autopatching", @@ -2165,7 +2166,7 @@ ] }, { - "group": "Déployer et passer à l’échelle", + "group": "D\u00e9ployer et passer \u00e0 l\u2019\u00e9chelle", "pages": [ "fr/weave/guides/platform", "fr/weave/guides/platform/weave-self-managed" @@ -2187,7 +2188,7 @@ ] }, { - "group": "Évaluations et Datasets", + "group": "\u00c9valuations et Datasets", "pages": [ "fr/weave/cookbooks/leaderboard_quickstart", "fr/weave/cookbooks/hf_dataset_evals", @@ -2204,7 +2205,7 @@ ] }, { - "group": "Sujets avancés", + "group": "Sujets avanc\u00e9s", "pages": [ "fr/weave/cookbooks/multi-agent-structured-output", "fr/weave/cookbooks/codegen", @@ -2225,7 +2226,7 @@ ] }, { - "group": "Référence", + "group": "R\u00e9f\u00e9rence", "pages": [ "fr/weave/reference", { @@ -2323,7 +2324,7 @@ ] }, { - "group": "Détails et assistance", + "group": "D\u00e9tails et assistance", "pages": [ "fr/weave/details/limits", "fr/weave/details/support-weave" @@ -2340,7 +2341,7 @@ "fr/inference/lifecycle", "fr/inference/lora", { - "group": "Paramètres de réponse", + "group": "Param\u00e8tres de r\u00e9ponse", "pages": [ "fr/inference/response-settings/json-mode", "fr/inference/response-settings/reasoning", @@ -2358,7 +2359,7 @@ ] }, { - "group": "Référence de l’API", + "group": "R\u00e9f\u00e9rence de l\u2019API", "pages": [ "fr/inference/api-reference", "fr/inference/api-reference/chat-completions", @@ -2392,7 +2393,7 @@ ] }, { - "group": "Référence de l’API", + "group": "R\u00e9f\u00e9rence de l\u2019API", "openapi": "fr/training/api-reference/openapi.json", "pages": [ "fr/training/api-reference" @@ -2444,7 +2445,7 @@ ] }, { - "group": "Créer et déployer des jobs", + "group": "Cr\u00e9er et d\u00e9ployer des jobs", "pages": [ "fr/platform/launch/create-and-deploy-jobs", "fr/platform/launch/create-launch-job", @@ -2454,7 +2455,7 @@ ] }, { - "group": "Avancé", + "group": "Avanc\u00e9", "pages": [ "fr/platform/launch/sweeps-on-launch", "fr/platform/launch/launch-queue-observability", @@ -2484,7 +2485,7 @@ ] }, { - "group": "Référence de l’API de la bibliothèque Launch", + "group": "R\u00e9f\u00e9rence de l\u2019API de la biblioth\u00e8que Launch", "pages": [ "fr/platform/launch/launch-library/launch", "fr/platform/launch/launch-library/launch_add", @@ -2494,7 +2495,7 @@ ] }, { - "tab": "Assistance : W&B Models", + "tab": "Assistance\u00a0: W&B Models", "hidden": true, "pages": [ "fr/support/models", @@ -2534,7 +2535,7 @@ ] }, { - "tab": "Assistance : W&B Weave", + "tab": "Assistance\u00a0: W&B Weave", "hidden": true, "pages": [ "fr/support/weave", @@ -2549,7 +2550,7 @@ ] }, { - "tab": "Assistance : W&B Inference", + "tab": "Assistance\u00a0: W&B Inference", "hidden": true, "pages": [ "fr/support/inference", @@ -2569,11 +2570,11 @@ "tab": "Platform", "pages": [ { - "group": "W&B へようこそ", + "group": "W&B \u3078\u3088\u3046\u3053\u305d", "pages": [ "ja/index", { - "group": "はじめに", + "group": "\u306f\u3058\u3081\u306b", "pages": [ "ja/get-started", "ja/platform/mcp-server", @@ -2581,7 +2582,7 @@ ] }, { - "group": "リリースノート", + "group": "\u30ea\u30ea\u30fc\u30b9\u30ce\u30fc\u30c8", "expanded": false, "pages": [ "ja/release-notes", @@ -2604,7 +2605,7 @@ ] }, { - "group": "プロダクト", + "group": "\u30d7\u30ed\u30c0\u30af\u30c8", "pages": [ "ja/product-models", "ja/product-weave", @@ -2613,13 +2614,13 @@ ] }, { - "group": "プラットフォームの詳細", + "group": "\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306e\u8a73\u7d30", "pages": [ { - "group": "W&B を設定する", + "group": "W&B \u3092\u8a2d\u5b9a\u3059\u308b", "pages": [ { - "group": "設定", + "group": "\u8a2d\u5b9a", "pages": [ "ja/platform/app/settings-page", "ja/platform/app/settings-page/user-settings", @@ -2631,11 +2632,11 @@ ] }, { - "group": "アイデンティティおよびアクセス管理(IAM)", + "group": "\u30a2\u30a4\u30c7\u30f3\u30c6\u30a3\u30c6\u30a3\u304a\u3088\u3073\u30a2\u30af\u30bb\u30b9\u7ba1\u7406\uff08IAM\uff09", "pages": [ "ja/platform/hosting/iam/org_team_struct", { - "group": "認証", + "group": "\u8a8d\u8a3c", "pages": [ "ja/platform/hosting/iam/ldap", "ja/platform/hosting/iam/sso", @@ -2644,7 +2645,7 @@ ] }, { - "group": "アクセス管理", + "group": "\u30a2\u30af\u30bb\u30b9\u7ba1\u7406", "pages": [ "ja/platform/hosting/iam/access-management-intro", "ja/platform/hosting/iam/access-management/manage-organization", @@ -2657,7 +2658,7 @@ ] }, { - "group": "データ セキュリティ", + "group": "\u30c7\u30fc\u30bf \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3", "pages": [ "ja/platform/hosting/data-security/secure-storage-connector", "ja/platform/hosting/data-security/presigned-urls", @@ -2671,7 +2672,7 @@ ] }, { - "group": "監視と使用状況", + "group": "\u76e3\u8996\u3068\u4f7f\u7528\u72b6\u6cc1", "pages": [ "ja/platform/hosting/monitoring-usage/audit-logging", "ja/platform/hosting/monitoring-usage/slack-alerts", @@ -2680,12 +2681,12 @@ ] }, { - "group": "デプロイ オプション", + "group": "\u30c7\u30d7\u30ed\u30a4 \u30aa\u30d7\u30b7\u30e7\u30f3", "pages": [ "ja/platform/hosting", "ja/platform/hosting/hosting-options/multi_tenant_cloud", { - "group": "専用クラウド", + "group": "\u5c02\u7528\u30af\u30e9\u30a6\u30c9", "pages": [ "ja/platform/hosting/hosting-options/dedicated-cloud", "ja/platform/hosting/hosting-options/dedicated-cloud/rate-limits", @@ -2694,7 +2695,7 @@ ] }, { - "group": "セルフマネージド", + "group": "\u30bb\u30eb\u30d5\u30de\u30cd\u30fc\u30b8\u30c9", "pages": [ "ja/platform/hosting/hosting-options/self-managed", "ja/platform/hosting/self-managed/ref-arch", @@ -2711,7 +2712,7 @@ ] }, { - "group": "リソース", + "group": "\u30ea\u30bd\u30fc\u30b9", "pages": [ "ja/pricing", "ja/blog", @@ -3662,7 +3663,7 @@ ] }, { - "tab": "サポート", + "tab": "\u30b5\u30dd\u30fc\u30c8", "pages": [ "ja/support" ] @@ -3675,11 +3676,11 @@ "ja/platform/launch/walkthrough", "ja/platform/launch/launch-terminology", { - "group": "Launch を設定する", + "group": "Launch \u3092\u8a2d\u5b9a\u3059\u308b", "pages": [ "ja/platform/launch/set-up-launch", { - "group": "コンピュートリソースを設定する", + "group": "\u30b3\u30f3\u30d4\u30e5\u30fc\u30c8\u30ea\u30bd\u30fc\u30b9\u3092\u8a2d\u5b9a\u3059\u308b", "pages": [ "ja/platform/launch/setup-launch-docker", "ja/platform/launch/setup-launch-kubernetes", @@ -3692,7 +3693,7 @@ ] }, { - "group": "ジョブを作成してデプロイする", + "group": "\u30b8\u30e7\u30d6\u3092\u4f5c\u6210\u3057\u3066\u30c7\u30d7\u30ed\u30a4\u3059\u308b", "pages": [ "ja/platform/launch/create-and-deploy-jobs", "ja/platform/launch/create-launch-job", @@ -3702,7 +3703,7 @@ ] }, { - "group": "高度なトピック", + "group": "\u9ad8\u5ea6\u306a\u30c8\u30d4\u30c3\u30af", "pages": [ "ja/platform/launch/sweeps-on-launch", "ja/platform/launch/launch-queue-observability", @@ -3732,7 +3733,7 @@ ] }, { - "group": "Launch ライブラリ API リファレンス", + "group": "Launch \u30e9\u30a4\u30d6\u30e9\u30ea API \u30ea\u30d5\u30a1\u30ec\u30f3\u30b9", "pages": [ "ja/platform/launch/launch-library/launch", "ja/platform/launch/launch-library/launch_add", @@ -3742,7 +3743,7 @@ ] }, { - "tab": "サポート: W&B Models", + "tab": "\u30b5\u30dd\u30fc\u30c8: W&B Models", "hidden": true, "pages": [ "ja/support/models", @@ -3782,7 +3783,7 @@ ] }, { - "tab": "サポート: W&B Weave", + "tab": "\u30b5\u30dd\u30fc\u30c8: W&B Weave", "hidden": true, "pages": [ "ja/support/weave", @@ -3797,7 +3798,7 @@ ] }, { - "tab": "サポート: W&B Inference", + "tab": "\u30b5\u30dd\u30fc\u30c8: W&B Inference", "hidden": true, "pages": [ "ja/support/inference", @@ -3817,11 +3818,11 @@ "tab": "Platform", "pages": [ { - "group": "W&B에 오신 것을 환영합니다", + "group": "W&B\uc5d0 \uc624\uc2e0 \uac83\uc744 \ud658\uc601\ud569\ub2c8\ub2e4", "pages": [ "ko/index", { - "group": "시작하기", + "group": "\uc2dc\uc791\ud558\uae30", "pages": [ "ko/get-started", "ko/platform/mcp-server", @@ -3829,7 +3830,7 @@ ] }, { - "group": "릴리스 노트", + "group": "\ub9b4\ub9ac\uc2a4 \ub178\ud2b8", "expanded": false, "pages": [ "ko/release-notes", @@ -3852,7 +3853,7 @@ ] }, { - "group": "제품", + "group": "\uc81c\ud488", "pages": [ "ko/product-models", "ko/product-weave", @@ -3861,13 +3862,13 @@ ] }, { - "group": "플랫폼 세부 정보", + "group": "\ud50c\ub7ab\ud3fc \uc138\ubd80 \uc815\ubcf4", "pages": [ { - "group": "W&B 구성", + "group": "W&B \uad6c\uc131", "pages": [ { - "group": "설정", + "group": "\uc124\uc815", "pages": [ "ko/platform/app/settings-page", "ko/platform/app/settings-page/user-settings", @@ -3879,11 +3880,11 @@ ] }, { - "group": "ID 및 액세스 관리(IAM)", + "group": "ID \ubc0f \uc561\uc138\uc2a4 \uad00\ub9ac(IAM)", "pages": [ "ko/platform/hosting/iam/org_team_struct", { - "group": "인증", + "group": "\uc778\uc99d", "pages": [ "ko/platform/hosting/iam/ldap", "ko/platform/hosting/iam/sso", @@ -3892,7 +3893,7 @@ ] }, { - "group": "액세스 관리", + "group": "\uc561\uc138\uc2a4 \uad00\ub9ac", "pages": [ "ko/platform/hosting/iam/access-management-intro", "ko/platform/hosting/iam/access-management/manage-organization", @@ -3905,7 +3906,7 @@ ] }, { - "group": "데이터 보안", + "group": "\ub370\uc774\ud130 \ubcf4\uc548", "pages": [ "ko/platform/hosting/data-security/secure-storage-connector", "ko/platform/hosting/data-security/presigned-urls", @@ -3919,7 +3920,7 @@ ] }, { - "group": "모니터링 및 사용량", + "group": "\ubaa8\ub2c8\ud130\ub9c1 \ubc0f \uc0ac\uc6a9\ub7c9", "pages": [ "ko/platform/hosting/monitoring-usage/audit-logging", "ko/platform/hosting/monitoring-usage/slack-alerts", @@ -3928,7 +3929,7 @@ ] }, { - "group": "배포 옵션", + "group": "\ubc30\ud3ec \uc635\uc158", "pages": [ "ko/platform/hosting", "ko/platform/hosting/hosting-options/multi_tenant_cloud", @@ -3959,7 +3960,7 @@ ] }, { - "group": "리소스", + "group": "\ub9ac\uc18c\uc2a4", "pages": [ "ko/pricing", "ko/blog", @@ -4399,7 +4400,7 @@ "pages": [ "ko/models/ref/cli/wandb-beta", { - "group": "베타 코어", + "group": "\ubca0\ud0c0 \ucf54\uc5b4", "pages": [ "ko/models/ref/cli/wandb-beta/wandb-beta-core", "ko/models/ref/cli/wandb-beta/wandb-beta-core/wandb-beta-core-start", @@ -4407,7 +4408,7 @@ ] }, { - "group": "베타 리트", + "group": "\ubca0\ud0c0 \ub9ac\ud2b8", "pages": [ "ko/models/ref/cli/wandb-beta/wandb-beta-leet", "ko/models/ref/cli/wandb-beta/wandb-beta-leet/wandb-beta-leet-config", @@ -4440,7 +4441,7 @@ "ko/models/ref/cli/wandb-purge-cache", "ko/models/ref/cli/wandb-restore", { - "group": "wandb 서버", + "group": "wandb \uc11c\ubc84", "pages": [ "ko/models/ref/cli/wandb-server", "ko/models/ref/cli/wandb-server/wandb-server-start", @@ -4910,7 +4911,7 @@ ] }, { - "tab": "지원", + "tab": "\uc9c0\uc6d0", "pages": [ "ko/support" ] @@ -4923,11 +4924,11 @@ "ko/platform/launch/walkthrough", "ko/platform/launch/launch-terminology", { - "group": "Launch 설정하기", + "group": "Launch \uc124\uc815\ud558\uae30", "pages": [ "ko/platform/launch/set-up-launch", { - "group": "컴퓨팅 리소스 구성", + "group": "\ucef4\ud4e8\ud305 \ub9ac\uc18c\uc2a4 \uad6c\uc131", "pages": [ "ko/platform/launch/setup-launch-docker", "ko/platform/launch/setup-launch-kubernetes", @@ -4940,7 +4941,7 @@ ] }, { - "group": "작업 생성 및 배포", + "group": "\uc791\uc5c5 \uc0dd\uc131 \ubc0f \ubc30\ud3ec", "pages": [ "ko/platform/launch/create-and-deploy-jobs", "ko/platform/launch/create-launch-job", @@ -4950,7 +4951,7 @@ ] }, { - "group": "고급", + "group": "\uace0\uae09", "pages": [ "ko/platform/launch/sweeps-on-launch", "ko/platform/launch/launch-queue-observability", @@ -4980,7 +4981,7 @@ ] }, { - "group": "Launch Library API 레퍼런스", + "group": "Launch Library API \ub808\ud37c\ub7f0\uc2a4", "pages": [ "ko/platform/launch/launch-library/launch", "ko/platform/launch/launch-library/launch_add", @@ -4990,7 +4991,7 @@ ] }, { - "tab": "지원: W&B Models", + "tab": "\uc9c0\uc6d0: W&B Models", "hidden": true, "pages": [ "ko/support/models", @@ -5030,7 +5031,7 @@ ] }, { - "tab": "지원: W&B Weave", + "tab": "\uc9c0\uc6d0: W&B Weave", "hidden": true, "pages": [ "ko/support/weave", @@ -5045,7 +5046,7 @@ ] }, { - "tab": "지원: W&B Inference", + "tab": "\uc9c0\uc6d0: W&B Inference", "hidden": true, "pages": [ "ko/support/inference", @@ -5943,7 +5944,7 @@ "destination": "/support/models/articles/do-run-finished-alerts-work-in-notebooks" }, { - "source": "/models/support/run_marked_crashed_wb’s_training_fine_locally", + "source": "/models/support/run_marked_crashed_wb\u2019s_training_fine_locally", "destination": "/support/models/articles/why-is-a-run-marked-crashed-in-wb-when-i" }, { @@ -5971,7 +5972,7 @@ "destination": "/support/models/articles/why-is-the-same-metric-appearing-more-th" }, { - "source": "/models/support/save_code‌", + "source": "/models/support/save_code\u200c", "destination": "/support/models/articles/how-do-i-save-code" }, { @@ -6382,4 +6383,4 @@ } }, "baseUrl": "https://docs.wandb.ai" -} \ No newline at end of file +} diff --git a/support/weave/articles/trace-data-loss-in-worker-processes.mdx b/support/weave/articles/trace-data-loss-in-worker-processes.mdx index 22d1babc10..f8a77ee3ca 100644 --- a/support/weave/articles/trace-data-loss-in-worker-processes.mdx +++ b/support/weave/articles/trace-data-loss-in-worker-processes.mdx @@ -49,6 +49,8 @@ with weave.init("your-team-name/your-project-name") as client: You can also improve the performance of your application using `weave.flush()`. See [Flushing](/support/weave/articles/long-eval-clean-up-times) for more information. +For additional resilience against data loss, consider enabling the [write-ahead log](/weave/guides/tracking/write-ahead-log), which writes trace data to disk before sending it to the server. + --- {/* AUTO-GENERATED: tab badges */} diff --git a/weave/guides/core-types/env-vars.mdx b/weave/guides/core-types/env-vars.mdx index 7d8c5ad913..e1ddb044d8 100644 --- a/weave/guides/core-types/env-vars.mdx +++ b/weave/guides/core-types/env-vars.mdx @@ -32,9 +32,11 @@ os.environ["WEAVE_PRINT_CALL_LINK"] = "false" | `WEAVE_PARALLELISM` | `int` | `20` | In evaluations, controls the number of examples to evaluate in parallel. Set to `1` to run examples sequentially. | | `WEAVE_TRACE_LANGCHAIN` | `bool` | `true` | Controls global tracing for LangChain. Set to `false` to explicitly disable LangChain tracing. | | `WEAVE_USE_SERVER_CACHE` | `bool` | `true` | Enables server response caching. When enabled, responses from the server are cached to disk to improve performance for repeated queries. | -| `WEAVE_SERVER_CACHE_SIZE_LIMIT` | `int` | `1000000000` | Sets the maximum size limit for the server cache in bytes. When the cache reaches this size, older entries are automatically removed to make space for new ones. Important: the underlying implementation uses SQLite which has a Write Ahead Log (WAL) that will grow to 4MB regardless of this setting. This WAL will be removed when the program exits. | +| `WEAVE_SERVER_CACHE_SIZE_LIMIT` | `int` | `1000000000` | Sets the maximum size limit for the server cache in bytes. When the cache reaches this size, older entries are automatically removed to make space for new ones. Important: the underlying implementation uses SQLite which has a Write-Ahead Log (WAL) that will grow to 4MB regardless of this setting. This WAL will be removed when the program exits. | | `WEAVE_SERVER_CACHE_DIR` | `str` | `None` | Specifies the directory where cache files should be stored. If not set, a temporary directory is used. | | `WEAVE_MAX_CALLS_QUEUE_SIZE` | `int` | `100000` | Sets the maximum size of the calls queue. Defaults to 100_000. Setting a value of 0 means the queue can grow unbounded. | +| `WEAVE_ENABLE_WAL` | `bool` | `false` | Enable the Weave [Write-Ahead Log (WAL)](/weave/guides/tracking/write-ahead-log). When set to `true`, Weave API requests are written to disk before being sent to the server, improving resilience against data loss. | +| `WEAVE_DISABLE_WAL_SENDER` | `bool` | `false` | Disable the WEAVE write-ahead log sender. When set to `true`, Weave requests are written to disk but not flushed to the server. Useful for debugging. | | `WEAVE_RETRY_MAX_ATTEMPTS` | `int` | `3` | Sets the maximum number of retry attempts for failed requests. | | `WEAVE_RETRY_MAX_INTERVAL` | `float` | `300.0` | Sets the maximum interval between retry attempts in seconds. | | `WANDB_BASE_URL` | `string` | `None` | Sets the Weave host URL. Equivalent to entering the host URL when prompted by `wandb.login()`. You can specify `WANDB_BASE_URL` and `WANDB_API_KEY` before using `weave.init()` to automatically log into and authenticate to Weave. | diff --git a/weave/guides/tracking/write-ahead-log.mdx b/weave/guides/tracking/write-ahead-log.mdx new file mode 100644 index 0000000000..9c1c74c0f8 --- /dev/null +++ b/weave/guides/tracking/write-ahead-log.mdx @@ -0,0 +1,60 @@ +--- +title: "Write-ahead log" +description: "Improve the resilience of W&B Weave trace data capture with the write-ahead log" +--- + +The write-ahead log (WAL) persists API requests to disk before sending them to the server. By default, the client buffers requests in memory — if the process exits unexpectedly, buffered data is lost. Weave's WAL addresses this by writing requests to disk before sending them. + +When you enable the WAL, the client writes each API request to a local JSONL file first, then flushes the file to the server. If a process crashes or the server is unreachable, the data remains on disk and is automatically sent when the client runs again. + +The WAL is especially useful in environments where processes may be interrupted or the server may be temporarily unavailable: + +- **Container orchestration**: Pods that may be evicted or OOM-killed before background threads finish uploading traces. +- **Distributed training**: Multiple processes writing traces in parallel, where any single process may fail. +- **Unreliable networks**: Environments where connectivity to the Weave server is intermittent. +- **Batch jobs**: Long-running jobs where losing trace data from a crash would be costly. + +For short-lived environments like serverless functions, also consider calling `weave.flush()` or `weave.finish()` before the process exits to ensure all data is uploaded. See [Trace data loss in worker processes](/support/weave/articles/trace-data-loss-in-worker-processes) for more information. + + +The write-ahead log is currently opt-in. It will be enabled by default in a future release. + + +## Enable the write-ahead log + +To enable the WAL, set the `WEAVE_ENABLE_WAL` environment variable to `true`: + +```bash +export WEAVE_ENABLE_WAL=true +``` + +You can also set it in Python before calling `weave.init()`: + +```python +import os +os.environ["WEAVE_ENABLE_WAL"] = "true" +``` + +No other code changes are required. The WAL works transparently with existing Weave tracing code. + +## How it works + +When the WAL is enabled: + +1. Each call to the Weave API (object creates, call starts, call ends, and so on) is appended to a JSONL file on disk instead of being held only in memory. +2. Each process writes to its own log file, so parallel processes do not conflict. +3. A background sender reads the log files and flushes their contents to the Weave server. +4. After the data is successfully sent, the log file is removed. + +Log files are stored in `.weave/wal/` within your working directory, organized by entity and project. Each file contains the raw API requests as JSON objects, one per line. + +When the client starts, it checks for existing log files from previous runs. If any are found, the sender flushes them along with any new data. This means data written by a process that crashed is recovered automatically the next time the client runs. + +## Environment variables + +| Variable | Type | Default | Description | +|----------|------|---------|-------------| +| `WEAVE_ENABLE_WAL` | `bool` | `false` | Enables the write-ahead log. When set to `true`, Weave writes the API requests to disk locally before sending them to the server. | +| `WEAVE_DISABLE_WAL_SENDER` | `bool` | `false` | Disables the WAL sender. When set to `true`, Weave writes the requests to disk locally but does not flush them to the server. This is useful for debugging. | + +See the [environment variables](/weave/guides/core-types/env-vars) reference page for a list of all available environment variables for Weave.