JavaScriptライブラリ
Pythonライブラリと同様に、JavaScript/TypeScriptで実験をトラッキングするためのクライアントを提供しています。
- Nodeサーバーからメトリクスをログし、W&Bでインタラクティブな精度図を表示
- 対話式トレースを使用してLLMアプリケーションのデバッグ
- LangChain.js の使用デバッグ
このライブラリは、Nodeおよび現代的なJSランタイムと互換性があります。
JavaScriptクライアントのソースコードは、Githubリポジトリで見つけることができます。
JavaScript統合はまだBeta版ですので、問題が発生した場合はお知らせください!
インストール方法
npm install @wandb/sdk
# または ...
yarn add @wandb/sdk
使用方法
TypeScript/ESM:
import wandb from '@wandb/sdk'
async function track() {
await wandb.init({config: {test: 1}});
wandb.log({acc: 0.9, loss: 0.1});
wandb.log({acc: 0.91, loss: 0.09});
await wandb.finish();
}
await track()
すべてのAPI呼び出しを非同期で処理するために別のMessageChannelを生成します。await wandb.finish()
を呼び出さないと、スクリプトが停止してしまうことがあります。
Node/CommonJS:
const wandb = require('@wandb/sdk').default;
現在、Python SDKに見られる多くの機能が欠けていますが、基本的なログ機能は利用可能です。近いうちに、Tablesなどの追加機能を追加予定です。
認証と設定
Node環境では、process.env.WANDB_API_KEY
を探し、TTYがある場合は入力を求めます。非Node環境では、sessionStorage.getItem("WANDB_API_KEY")
を探します。追加の設定はこちらで見つけることができます。
インテグレーション
Pythonインテグレーションは、私たちのコミュニティに広く利用されており、より多くのJavaScriptインテグレーションを構築して、LLM アプリビルダーが好きなツールを活用できるようにしたいと考えています。
追加のインテグレーションについてのリクエストがあれば、詳細を記載した issue をオープンしていただけると嬉しいです。
## LangChain.js
このライブラリは、LLMアプリケーションを構築するための人気のあるライブラリであるLangChain.jsと統合されています。
利用方法
import {WandbTracer} from '@wandb/sdk/integrations/langchain';
await WandbTracer.init({project: 'langchain-test'});
// run your langchain workloads...
await WandbTracer.finish();
私たちは、すべての API コールを非同期で処理するために、別の MessageChannel をスポーンします。 これにより、await WandbTracer.finish()
を呼び出さないと、スクリプトがハングアップする可能性があります。
トレーサーは並行実行とうまく連携できません。 langchain js のトレーシングドキュメントの最下部にある例を参照してください。
より詳細な例については、このテストを参照してください。