mcpField
L
langchain-init

langchain-init

github.com/laurigatesエージェントワークフロー5951 回インストール1 日前に更新
リポジトリ

langchain-init について

langchain-init は、AI エージェントを開発する人向けに LangChain の TypeScript プロジェクトを初期化するスキルです。依存関係や設定、構成、サンプルエージェントを用意します。

主な機能

  1. 01TypeScript プロジェクトの初期化
  2. 02LangChain 依存関係の導入
  3. 03TypeScript 設定の生成
  4. 04サンプルエージェントとツールの作成
  5. 05環境変数テンプレートとスクリプトの設定

活用シーン

  1. 01LangChain プロジェクトの新規作成
  2. 02エージェント開発用の標準構成の準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/laurigates/claude-plugins --skill langchain-init

インストール後、Claude Code で/langchain-initを入力して読み込まれたか確認します。

詳細

/langchain:init

AI エージェントを構築するための最適な設定で、新しい LangChain TypeScript プロジェクトを初期化します。

このスキルを使用するタイミング

次の場合にこのスキルを使用します…次の場合は代わりに関連するスキルを使用します…
LangChain TypeScript プロジェクトをゼロから新規作成する既存のプロジェクトに LangChain を追加する場合 — langchain-development を使用します
ボイラープレート、依存関係、スターター設定を生成するステートフルなグラフワークフローを構築する場合 — langgraph-agents を使用します
他のスキルが想定する標準的なプロジェクト構成をセットアップする階層型オーケストレーターを構築する場合 — deep-agents を使用します

コンテキスト

環境を検出します:

  • node --version - Node.js のバージョン
  • which bun - Bun が利用可能か確認します

パラメーター

パラメーター説明デフォルト
project-nameプロジェクトディレクトリの名前必須

実行

1. プロジェクトディレクトリを作成する
mkdir -p $1 && cd $1
2. パッケージを初期化する

Bun が利用可能な場合:

bun init -y

それ以外の場合:

npm init -y
3. 依存関係をインストールする

コアパッケージ:

# Package manager: bun or npm
bun add langchain @langchain/core @langchain/langgraph
bun add @langchain/openai  # Default model provider

# Dev dependencies
bun add -d typescript @types/node tsx
4. TypeScript の設定を作成する

tsconfig.json を作成します:

{
  "compilerOptions": {
    "target": "ES2022",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "esModuleInterop": true,
    "strict": true,
    "skipLibCheck": true,
    "outDir": "dist",
    "declaration": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist"]
}
5. プロジェクト構成を作成する
mkdir -p src
6. エージェントのサンプルを作成する

src/agent.ts を作成します:

import { ChatOpenAI } from "@langchain/openai";
import { createReactAgent } from "@langchain/langgraph/prebuilt";
import { tool } from "@langchain/core/tools";
import { z } from "zod";

// Example tool
const greetTool = tool(
  async ({ name }) => `Hello, ${name}!`,
  {
    name: "greet",
    description: "Greet someone by name",
    schema: z.object({
      name: z.string().describe("The name to greet"),
    }),
  }
);

// Create the agent
const model = new ChatOpenAI({
  model: "gpt-4o",
  temperature: 0,
});

export const agent = createReactAgent({
  llm: model,
  tools: [greetTool],
});

// Run if executed directly
if (import.meta.url === `file://${process.argv[1]}`) {
  const result = await agent.invoke({
    messages: [{ role: "user", content: "Say hello to Claude" }],
  });
  console.log(result.messages[result.messages.length - 1].content);
}
7. 環境変数のテンプレートを作成する

.env.example を作成します:

# OpenAI (default)
OPENAI_API_KEY=sk-...

# Optional: Anthropic
# ANTHROPIC_API_KEY=sk-ant-...

# Optional: LangSmith tracing
# LANGCHAIN_TRACING_V2=true
# LANGCHAIN_API_KEY=ls__...
# LANGCHAIN_PROJECT=my-project
8. package.json のスクリプトを更新する

package.json に追加します:

{
  "scripts": {
    "dev": "tsx watch src/agent.ts",
    "start": "tsx src/agent.ts",
    "build": "tsc",
    "typecheck": "tsc --noEmit"
  }
}
9. .gitignore を作成する
node_modules/
dist/
.env
*.log

実行後のアクション

  1. 次の手順を含む成功メッセージを表示します:

    • .env.example を .env にコピーして、API キーを追加します
    • bun dev または npm run dev を実行して起動します
    • その他の例については LangChain のドキュメントを確認します
  2. 必要に応じて、追加のモデルプロバイダーのインストールを提案します:

    • Claude 用の @langchain/anthropic
    • Gemini 用の @langchain/google-genai

コメント