このガイドでは、サードパーティライブラリ (例: OpenAI) を Weave TypeScript SDK に統合する方法を説明します。Weave は自動インストルメンテーションをサポートしているため、セットアップが簡単になり、手動設定の必要性も減ります。Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-john-wbdocs-2044-rename-serverless-products.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
TypeScript プロジェクトで Weave インテグレーションを使用する
どのタイプのプロジェクトかわからない場合
package.json と tsconfig.json を明示的に用意することを推奨します。
プロジェクトで CommonJS と ESM のどちらを使用しているかを判断するには、package.json の type フィールドを確認します。
typeが"module"の場合、プロジェクトでは ESM が使用されます。typeフィールドが存在しないか、"commonjs"に設定されている場合、プロジェクトではデフォルトで CommonJS が使用されます。
CommonJS プロジェクトを設定する
-
package.jsonを作成または更新します。 -
CommonJS と互換性のある設定で
tsconfig.jsonを作成します。これらの設定により、TypeScript は CommonJS 向けにコンパイルされます。-
module: "CommonJS"— モジュールを CommonJS 形式 (require/module.exports) にコンパイルします。 このコンパイラオプションの詳細については、TypeScript - Module を参照してください。 -
target: "es2022"(推奨) — 最近の Node.js バージョンと互換性のあるモダンな JavaScript を出力します。 このコンパイラオプションの詳細については、TypeScript - Target を参照してください。 -
rootDir: "."—tsconfig.jsonを含むディレクトリを入力ファイルのルートとして扱います。TypeScript はこれをoutDirと組み合わせて使用し、出力先でソースフォルダーの Layout を反映します。 このコンパイラオプションの詳細については、TypeScript - Root Dir を参照してください。 -
outDir: "dist"— 生成された JavaScript (およびその他のコンパイラ出力) をdistフォルダーに書き込みます。 このコンパイラオプションの詳細については、TypeScript - Out Dir を参照してください。
-
-
Weave と、必要なその他のライブラリをインストールします。
-
TypeScript ファイルをコンパイルします。
たとえば
test.tsというファイルの場合は、次を実行します。これにより、ファイルはdist/test.jsにコンパイルされます。 -
コンパイルしたファイルを Node.js で実行します。
require モジュールローダーを使用するため、Weave は ESM プロジェクトで使用される --import フラグなしで、サポートされるライブラリを自動的にインストルメントできます。
ESM プロジェクトを設定する
--import フラグ付きで Node.js を起動します。これにより、他のモジュールが読み込まれる前に Weave がインストルメンテーションを登録できます。
プロジェクトを ESM 向けに設定するには、次の手順に従います。
-
package.jsonを作成または更新します。 -
Node.js 互換の ESM 設定を含む
tsconfig.jsonを作成します。これらの設定により、TypeScript はモダンな Node.js ESM 向けにコンパイルされます。-
module: "nodenext"— Node.js ESM のセマンティクスを使用してモジュールをコンパイルします。 このコンパイラオプションの詳細は、TypeScript - Module を参照してください。 -
moduleResolution: "nodenext"— モジュール解決が Node.js ESM のルールに従うようにします。 このコンパイラオプションの詳細は、TypeScript - Module Resolution を参照してください。 -
target: "es2022"(推奨) — 新しい Node.js バージョンと互換性のあるモダンな JavaScript を出力します。 このコンパイラオプションの詳細は、TypeScript - Target を参照してください。 -
rootDir: "."—tsconfig.jsonを含むディレクトリを入力ファイルのルートとして扱います。TypeScript はこれをoutDirと組み合わせて使用し、出力先でもソースフォルダの Layout を反映します。 このコンパイラオプションの詳細は、TypeScript - Root Dir を参照してください。 -
outDir: "dist"— 出力された JavaScript (およびその他のコンパイラ出力) をdistフォルダに書き込みます。 このコンパイラオプションの詳細は、TypeScript - Out Dir を参照してください。
-
-
Weave と必要なライブラリをインストールします。
-
TypeScript ファイルをコンパイルします。
たとえば
test.tsというファイルの場合は、次のように実行します。これにより、ファイルはdist/test.jsにコンパイルされます。 -
Node.js でコンパイル済みファイルを実行し、Weave のインストルメンテーションを事前に読み込みます。
--import フラグにより、weave/instrument モジュールが他のモジュールより先に読み込まれるため、Weave はサポートされるライブラリやインテグレーションに自動でインストルメンテーションを適用できます。
Weave は、実行するプロジェクトにローカルインストールされている必要があります。
高度な使い方とトラブルシューティング
NODE_OPTIONS を使用する (ESM の場合のみ)
NODE_OPTIONS 環境変数を設定してください:
バンドラーの互換性
-
バンドラーの設定で、LLM ライブラリを外部として指定します。これによりそれらはバンドルされなくなるため、Weave が実行時に正しくパッチを適用できるようになります。
次の例は、
next.config.jsの設定でopenaiパッケージを外部として指定する方法を示しています。これにより、openaiはバンドルされません。モジュールは実行時に読み込まれるため、Weave が自動的にパッチを適用してトラッキングできます。Next.js のようなフレームワークを使用している場合は、自動インストルメンテーションを有効にするためにこの設定を使用してください。 - それでもパッチの適用に失敗する場合は、手動インストルメンテーション に切り替えてください。