1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

OpenAI Agents SDK(TypeScript版)と LM Studio でローカルLLM を使ったエージェントをサクッと試す

Last updated at Posted at 2025-09-05

はじめに

この記事では、OpenAI Agents SDK(TypeScript版)を使ったエージェントの実装で、OpenAI の API を使わずローカルLLM を使った実装を試します。

OpenAI Agents SDK のアダプター

具体的には、OpenAI Agents SDK の以下のページで説明されているアダプターを使います。

●AI SDK で任意モデルを指定 | OpenAI Agents SDK
 https://openai.github.io/openai-agents-js/ja/extensions/ai-sdk/

2025-09-06_01-53-37.jpg

このページの上部に書いてあるとおり、記事執筆時点では「このアダプターはベータ版」とのことです。

Vercel AI SDK の OpenAI互換のプロバイダー

これと、Vercel AI SDK の以下のプロバイダーを組み合わせる形です。

●OpenAI Compatible Providers
 https://ai-sdk.dev/providers/openai-compatible-providers

2025-09-06_09-41-21.jpg

LM Studio を使ったローカルサーバー

さらに、LM Studio を使ったローカルサーバーも組み合わせます。

●OpenAI Compatible Providers: LM Studio
 https://ai-sdk.dev/providers/openai-compatible-providers/lmstudio

直近でのローカルLLM + エージェント実装のお試し

今回やるような「ローカルLLM + エージェント実装」のお試しは直近でもやっていて、例えば以下の記事で書いた「Mastra」「Vercel の AI SDK」を使ったものがあります。

●「npx create-mastra」で作った Mastra のプロジェクト(ツールを使うエージェントの実装)と LM Studio でのローカルLLM(OpenAI互換API を扱うもの)を組み合わせる - Qiita
 https://qiita.com/youtoy/items/09b953f2f1ef91cb6b6e

●Mastra と LM Studio を使ったローカルLLM(Agent.streamVNext()/generateVNext() を使う)【Node.js】 - Qiita
 https://qiita.com/youtoy/items/b401bea6b0acd1ae17d6

●Vercel の AI SDK と LM Studio を使ったローカルLLM を組み合わせて試す【Node.js】 - Qiita
 https://qiita.com/youtoy/items/7ec636b7086f107a9f5d

実際に試してみる

実際に試してみます。

LM Studio を使ったローカルサーバーの準備

まずは、LM Studio を使ったローカルサーバーを準備します。これについては、上で掲載していた記事の「LM Studio の準備」の部分をご参照ください。

LM Studio をローカルサーバーとして動作させ、そのローカルサーバーで OpenAI互換の API を使える状態( http://localhost:1234/v1 をベースURL として、API を呼び出せる状態)
にできれば OK です。

パッケージのインストール

次に、パッケージをインストールします。以下のコマンドで 3つのパッケージをインストールします。

npm i @openai/agents @openai/agents-extensions @ai-sdk/openai-compatible

具体的には、以下の 3つのパッケージです。

●@openai/agents - npm
 https://www.npmjs.com/package/@openai/agents

●@openai/agents-extensions - npm
 https://www.npmjs.com/package/@openai/agents-extensions

●@ai-sdk/openai-compatible - npm
 https://www.npmjs.com/package/@ai-sdk/openai-compatible

コードの準備と処理の実行

あとはコードを準備して実行すれば OK です。

コードの内容

お試し用のコードは以下としました。

import { Agent, run } from "@openai/agents";
import { aisdk } from "@openai/agents-extensions";
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";

const lmstudio = createOpenAICompatible({
  name: "lmstudio",
  baseURL: "http://localhost:1234/v1",

  apiKey: "lm-studio",
});

const modelId = "jan-v1-4b";
const model = aisdk(lmstudio(modelId));

const agent = new Agent({
  name: "Local Agent",
  instructions: "日本語で簡潔かつ分かりやすく回答してください",
  model,
});

async function main() {
  const result = await run(agent, "あなたは何ができる?");
  console.log(result.finalOutput);
}

main().catch((err) => {
  console.error(err);
  process.exit(1);
});

モデルは、直近のお試しで使ったものの 1つである「jan-v1-4b」を選びました。

処理の実行結果

処理の実行結果は、以下のとおりです。

2025-09-06_01-51-04.jpg

今の状態だと「No API key provided for OpenAI tracing exporter. Exports will be skipped」というメッセージが出ています。

上記の tracing に関するメッセージについて

上記のメッセージは無視しても動作には影響しなそうですが、原因や対処法を調べてみました。

メッセージが出ている原因は以下が関係していそうでした。

●Tracing | OpenAI Agents SDK
 https://openai.github.io/openai-agents-js/guides/tracing/?utm_source=chatgpt.com

2025-09-06_02-17-19.jpg

対処法

上の公式の情報を見ると、対処法の 1つは以下の環境変数の設定があるようです。

Mac での一時的な環境変数の設定
export OPENAI_AGENTS_DISABLE_TRACING=1

上記の環境変数を設定し、再度、お試し用のコードを実行した結果、以下のようにエージェントの返答のみを得ることができました。

2025-09-06_02-18-58.jpg

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?