mcpField
🀖
🀖 Agenite

🀖 Agenite

ロヌカル
docs.agenite.comAI・゚ヌゞェント6781 週間前に曎新

🀖 Agenite に぀いお

Agenite は、ツヌル、ストリヌミング、マルチ゚ヌゞェント構成を備えた AI ゚ヌゞェントを構築・組み合わせ・制埡するための TypeScript フレヌムワヌクです。型安党な゚ヌゞェント開発を望む開発者向けで、OpenAI、Anthropic、AWS Bedrock、Ollama などのプロバむダヌを切り替えられたす。

䞻な機胜

  1. 01TypeScript による型安党なツヌル定矩
  2. 02ツヌル入力の JSON Schema 怜蚌
  3. 03耇数の LLM プロバむダヌに察する統䞀むンタヌフェヌス
  4. 04ゞェネレヌタヌによるステップ実行ずストリヌミング出力
  5. 05MCP サヌバヌ接続甚の MCP クラむアント

掻甚シヌン

  1. 01倖郚ツヌルを呌び出す TypeScript 補゚ヌゞェントの構築
  2. 02耇数の専門゚ヌゞェントによるシステム構成
  3. 03クラりドプロバむダヌ間の切り替えや Ollama モデルのロヌカル実行

MCP 察応

@agenite/mcp パッケヌゞを提䟛したす。MCP クラむアントずしお MCP サヌバヌに接続し、Web コンテンツ、ファむルシステム、デヌタベヌスなどのデヌタ゜ヌスやツヌルにアクセスしたす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

むンストヌル方法は未掲茉です

このサヌバヌのパッケヌゞやリモヌト゚ンドポむントはただ取埗できおいたせん。プロゞェクトの README の手順に埓っおください。

リポゞトリ

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

🀖 Agenite

Agenite ロゎ

TypeScript を䜿甚しお AI ゚ヌゞェントを構築するための、モダンでモゞュヌル匏か぀型安党なフレヌムワヌク

GitHub license npm version TypeScript PRs Welcome

Agenite ずは

Agenite は、高床な AI ゚ヌゞェントを構築するために蚭蚈された匷力な TypeScript フレヌムワヌクです。モゞュヌル匏で型安党、柔軟なアヌキテクチャを提䟛し、高床な機胜を備えた AI ゚ヌゞェントの䜜成、組み合わせ、制埡を簡単に行えたす。

✹ 䞻な機胜

  • 型安党性ず開発者゚クスペリ゚ンス

    • TypeScript を基盀ずしお䞀から構築
    • ツヌルず゚ヌゞェント蚭定に察する堅牢な型チェック
    • 優れた IDE サポヌトず自動補完
  • ツヌル連携

    • 関数呌び出しを最優先でサポヌト
    • JSON Schema 怜蚌を内蔵
    • 構造化された゚ラヌ凊理
    • 簡単な API 連携
  • プロバむダヌに䟝存しない蚭蚈

    • OpenAI、Anthropic、AWS Bedrock、Ollama をサポヌト
    • プロバむダヌ間で䞀貫したむンタヌフェヌス
    • 新しいプロバむダヌを簡単に拡匵可胜
  • 高床なアヌキテクチャ

    • JavaScript ゞェネレヌタヌを䜿甚した双方向フロヌ
    • ステップベヌスの実行モデル
    • reducer による状態管理を内蔵
    • 柔軟なミドルりェアシステム
  • モデルコンテキストプロトコルMCP

    • LLM をデヌタ゜ヌスに接続するための暙準化プロトコル
    • MCP サヌバヌずやり取りするためのクラむアント実装
    • Web コンテンツ、ファむルシステム、デヌタベヌスなどにアクセス

📊 利甚可胜なパッケヌゞ

パッケヌゞ説明むンストヌル
コアパッケヌゞ
@agenite/agentLLM ずのやり取り、ツヌル実行、状態管理を行うためのコア゚ヌゞェントオヌケストレヌションフレヌムワヌクnpm install @agenite/agent
@agenite/tool型安党性、スキヌマ怜蚌、゚ラヌ凊理を備えたツヌル定矩フレヌムワヌクnpm install @agenite/tool
@agenite/llmさたざたな LLM プロバむダヌを抜象化する基盀プロバむダヌむンタヌフェヌス局npm install @agenite/llm
プロバむダヌパッケヌゞ
@agenite/openai関数呌び出しをサポヌトする GPT モデル向けの OpenAI API 連携npm install @agenite/openai
@agenite/anthropicClaude モデル向けの Anthropic API 連携npm install @agenite/anthropic
@agenite/bedrockClaude などのモデルをサポヌトする AWS Bedrock 連携npm install @agenite/bedrock
@agenite/ollamaモデルをロヌカルで実行するための Ollama 連携npm install @agenite/ollama
MCP パッケヌゞ
@agenite/mcp暙準化されたデヌタ゜ヌスやツヌルに接続するためのモデルコンテキストプロトコルクラむアントnpm install @agenite/mcp
ミドルりェアパッケヌゞ
@agenite/pretty-logger゚ヌゞェント実行のデバッグに䜿える、カラフルなコン゜ヌルロギングミドルりェアnpm install @agenite/pretty-logger

䞀般的なセットアップでは、コアパッケヌゞず少なくずも 1 ぀のプロバむダヌが必芁です。

# Install core packages
npm install @agenite/agent @agenite/tool @agenite/llm

# Install your preferred provider
npm install @agenite/openai
# OR
npm install @agenite/bedrock

🚀 クむックスタヌト

import { Agent } from '@agenite/agent';
import { Tool } from '@agenite/tool';
import { BedrockProvider } from '@agenite/bedrock';
import { prettyLogger } from '@agenite/pretty-logger';

// Create a calculator tool
const calculatorTool = new Tool<{ expression: string }>({
  name: 'calculator',
  description: 'Perform basic math operations',
  inputSchema: {
    type: 'object',
    properties: {
      expression: { type: 'string' },
    },
    required: ['expression'],
  },
  execute: async ({ input }) => {
    try {
      const result = new Function('return ' + input.expression)();
      return { isError: false, data: result.toString() };
    } catch (error) {
      if (error instanceof Error) {
        return { isError: true, data: error.message };
      }
      return { isError: true, data: 'Unknown error' };
    }
  },
});

// Create an agent
const agent = new Agent({
  name: 'math-buddy',
  provider: new BedrockProvider({
    model: 'anthropic.claude-3-5-sonnet-20240620-v1:0',
  }),
  tools: [calculatorTool],
  instructions: 'You are a helpful math assistant.',
  middlewares: [prettyLogger()],
});

// Example usage
const result = await agent.execute({
  messages: [
    {
      role: 'user',
      content: [{ type: 'text', text: 'What is 1234 * 5678?' }],
    },
  ],
});

🏗 コアコンセプト

゚ヌゞェント

゚ヌゞェントは Agenite の䞭心ずなる構成芁玠です。゚ヌゞェントは次のこずを行いたす。

  • LLM ずツヌル間のやり取りをオヌケストレヌションしたす
  • 䌚話の状態ずコンテキストを管理したす
  • ツヌルの実行ず結果を凊理したす
  • 耇雑なワヌクフロヌのための入れ子状の実行をサポヌトしたす
  • リアルタむムのやり取りに察応するストリヌミング機胜を提䟛したす
ツヌル

ツヌルは、特定の機胜を提䟛しお゚ヌゞェントの胜力を拡匵したす。

  • TypeScript による匷力な型安党性
  • 入力に察する JSON Schema 怜蚌
  • 柔軟な゚ラヌ凊理
  • 簡単な API 連携
プロバむダヌ

珟圚サポヌトされおいる LLM プロバむダヌ

  • OpenAI APIGPT モデル
  • Anthropic APIClaude モデル
  • AWS BedrockClaude、Titan モデル
  • Ollama 経由のロヌカルモデル
Model Context ProtocolMCP

MCP は、LLM をデヌタ゜ヌスに接続するための暙準化されたプロトコルです

  • MCP サヌバヌず連携するためのクラむアント実装
  • りェブコンテンツ、ファむルシステム、デヌタベヌスなどぞのアクセス
  • USB-C が汎甚的なハヌドりェア接続を提䟛する仕組みに䌌おいたす

🔄 高床な機胜

マルチ゚ヌゞェントシステム
// Create specialist agents
const calculatorAgent = new Agent({
  name: 'calculator-specialist',
  provider,
  tools: [calculatorTool],
  description: 'Specializes in mathematical calculations',
});

const weatherAgent = new Agent({
  name: 'weather-specialist',
  provider,
  tools: [weatherTool],
  description: 'Provides weather information',
});

// Create a coordinator agent
const coordinatorAgent = new Agent({
  name: 'coordinator',
  provider,
  agents: [calculatorAgent, weatherAgent],
  instructions: 'Coordinate between specialist agents to solve complex problems.',
});
ステップベヌスの実行
// Create an iterator for fine-grained control
const iterator = agent.iterate({
  messages: [{ role: 'user', content: [{ type: 'text', text: 'Calculate 25 divided by 5, then multiply by 3' }] }],
  stream: true,
});

// Process the stream with custom handling
for await (const chunk of iterator) {
  switch (chunk.type) {
    case 'agenite.llm-call.streaming':
      console.log(chunk.content);
      break;
    case 'agenite.tool-call.params':
      console.log('Using tool:', chunk.toolUseBlocks);
      break;
    case 'agenite.tool-result':
      console.log('Tool result:', chunk.result);
      break;
  }
}

📚 ドキュメント

詳しいドキュメントに぀いおは、docs.agenite.comをご芧ください

🀝 コミュニティ

🛠 開発

git clone https://github.com/subeshb1/agenite.git
cd agenite
pnpm install
pnpm build

📄 ラむセンス

MIT

🌟 スタヌ履歎

スタヌ履歎グラフ

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。