Astreus

LLM

AstreusのドキュメントでLLMについて学び、エージェントシステムを構築するためのセットアップの手引き、APIのパターン、実践的な例を確認しましょう。 信頼性の高いAstreusエージェントシステムを構築するために必要なセットアップのパターン、API、実践的な例を学びましょう。

自動ルーティングを備えた、複数のLLMプロバイダーのための統一インターフェース

概要

LLM抽象化レイヤーは、複数のAIプロバイダーとのシームレスな統合を提供し、コードを変更することなくOpenAI、Claude、Gemini、Ollamaの間で切り替えられるようにします。プロバイダー固有の実装、メッセージのフォーマット、ストリーミングを処理しながら、すべてのプロバイダーにわたって一貫したAPIを提供します。

サポートされているプロバイダー

Astreusは、自動的なモデルルーティングを備えた4つの主要なLLMプロバイダーをサポートしています。

OpenAI

サポートされている14種類のモデルすべて:

  • 最新: gpt-4.5gpt-4.1gpt-4.1-minigpt-4.1-nanoo4-minio4-mini-higho3
  • 安定版: gpt-4ogpt-4o-minigpt-4-turbogpt-4gpt-3.5-turbogpt-3.5-turbo-16kgpt-3.5-turbo-instruct
  • APIキー: OPENAI_API_KEY環境変数を設定

Anthropic Claude

サポートされている9種類のモデルすべて:

  • 最新: claude-sonnet-4-20250514claude-opus-4-20250514claude-3.7-sonnet-20250224
  • 安定版: claude-3-5-sonnet-20241022claude-3-5-sonnet-20240620claude-3-5-haiku-20241022claude-3-opus-20240229claude-3-sonnet-20240229claude-3-haiku-20240307
  • APIキー: ANTHROPIC_API_KEY環境変数を設定

Google Gemini

サポートされている12種類のモデルすべて:

  • 最新: gemini-2.5-progemini-2.5-pro-deep-thinkgemini-2.5-flashgemini-2.5-flash-lite
  • 安定版: gemini-2.0-flashgemini-2.0-flash-thinkinggemini-2.0-flash-litegemini-2.0-pro-experimentalgemini-1.5-progemini-1.5-flashgemini-1.5-flash-8bgemini-pro
  • APIキー: GEMINI_API_KEY環境変数を設定

Ollama(ローカル)

サポートされている31種類のモデルすべて:

  • 最新: deepseek-r1deepseek-v3deepseek-v2.5deepseek-coderdeepseek-coder-v2qwen3qwen2.5-coderllama3.3gemma3phi4
  • 人気: mistral-smallcodellamallama3.2llama3.1qwen2.5gemma2phi3mistralcodegemmawizardlm2
  • その他: dolphin-mistralopenhermesdeepcoderstable-codewizardcodermagicodersolaryizephyrorca-minivicuna
  • 設定: OLLAMA_BASE_URLを設定(デフォルト: http://localhost:11434

設定

1

環境変数

APIキーと設定をセットアップします。

# OpenAI
export OPENAI_API_KEY="your-openai-key"
export OPENAI_BASE_URL="https://api.openai.com/v1"  # Optional

# Anthropic Claude
export ANTHROPIC_API_KEY="your-anthropic-key"
export ANTHROPIC_BASE_URL="https://api.anthropic.com"  # Optional

# Google Gemini
export GEMINI_API_KEY="your-gemini-key"

# Ollama (Local)
export OLLAMA_BASE_URL="http://localhost:11434"  # Optional
2

エージェントの設定

エージェント作成時にモデルを指定します。

import { Agent } from '@astreus-ai/astreus';

const agent = await Agent.create({
  name: 'MyAgent',
  model: 'gpt-4.5',  // Model automatically routes to correct provider
  temperature: 0.7,
  maxTokens: 2000
});

使用例

基本的なLLMの使い方

import { getLLM } from '@astreus-ai/astreus';

const llm = getLLM();

// Generate response
const response = await llm.generateResponse({
  model: 'claude-sonnet-4-20250514',
  messages: [{ role: 'user', content: 'Explain quantum computing' }],
  temperature: 0.7,
  maxTokens: 1000
});

console.log(response.content);

ストリーミングレスポンス

// Stream response in real-time
for await (const chunk of llm.generateStreamResponse({
  model: 'gpt-4.5',
  messages: [{ role: 'user', content: 'Write a story about AI' }],
  stream: true
})) {
  if (!chunk.done) {
    process.stdout.write(chunk.content);
  }
}

関数呼び出し

const response = await llm.generateResponse({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: 'What\'s the weather in Tokyo?' }],
  tools: [{
    type: 'function',
    function: {
      name: 'get_weather',
      description: 'Get current weather information',
      parameters: {
        type: 'object',
        properties: {
          location: { 
            type: 'string',
            description: 'City name'
          }
        },
        required: ['location']
      }
    }
  }]
});

// Handle tool calls
if (response.toolCalls) {
  response.toolCalls.forEach(call => {
    console.log(`Tool: ${call.function.name}`);
    console.log(`Args: ${call.function.arguments}`);
  });
}

LLMのオプション

以下のオプションでLLMの挙動を設定します。

interface LLMRequestOptions {
  model: string;              // Required: Model identifier
  messages: LLMMessage[];     // Required: Conversation history
  temperature?: number;       // Creativity level (0.0-1.0, default: 0.7)
  maxTokens?: number;         // Max output tokens (default: 4096)
  stream?: boolean;           // Enable streaming responses
  systemPrompt?: string;      // System instructions
  tools?: Tool[];             // Function calling tools
}

パラメータの詳細

  • temperature: ランダム性を制御します(0.0 = 決定論的、1.0 = 非常にクリエイティブ)
  • maxTokens: レスポンスの最大トークン数(モデルにより異なる)
  • stream: 長いレスポンスのためのリアルタイムストリーミングを有効にする
  • systemPrompt: モデルの挙動とコンテキストを設定する
  • tools: 関数呼び出し機能を有効にする

プロバイダーの機能

機能OpenAIClaudeGeminiOllama
ストリーミング
関数呼び出し制限あり制限あり
ビジョン
埋め込み
トークン使用量制限あり
カスタムベースURL
ローカルモデル

ビジョンモデル

各プロバイダーは、画像解析のために特定のモデルをサポートしています。

OpenAI ビジョン

  • gpt-4ogpt-4o-minigpt-4-turbogpt-4-vision-preview
  • gpt-4o-2024-08-06gpt-4o-2024-05-13

Claude ビジョン

  • claude-3-5-sonnet-20241022claude-3-5-sonnet-20240620
  • claude-3-opus-20240229claude-3-sonnet-20240229claude-3-haiku-20240307

Gemini ビジョン

  • gemini-1.5-progemini-1.5-flash
  • gemini-1.0-pro-vision-latestgemini-pro-vision

Ollama ビジョン

  • llavallava:7bllava:13bllava:34b
  • llava-llama3llava-phi3moondream

埋め込みモデル

ナレッジベースとセマンティック検索のために使用します。

OpenAI 埋め込み

  • text-embedding-3-large(3072次元)
  • text-embedding-3-small(1536次元)
  • text-embedding-ada-002(1536次元)

Gemini 埋め込み

  • text-embedding-004
  • embedding-001

Ollama 埋め込み

  • nomic-embed-textmxbai-embed-large
  • all-minilmsnowflake-arctic-embed

注記: Claude/Anthropicは埋め込みをサポートしていません。埋め込み生成にはOpenAIまたはGeminiを使用してください。

その他の環境変数

# Dedicated embedding API keys (optional)
OPENAI_EMBEDDING_API_KEY="your-embedding-key"
OPENAI_EMBEDDING_BASE_URL="https://api.openai.com/v1"
GEMINI_EMBEDDING_API_KEY="your-gemini-embedding-key"

# Dedicated vision API keys (optional)
OPENAI_VISION_API_KEY="your-vision-key"
OPENAI_VISION_BASE_URL="https://api.openai.com/v1"
ANTHROPIC_VISION_API_KEY="your-anthropic-vision-key"
ANTHROPIC_VISION_BASE_URL="https://api.anthropic.com"
GEMINI_VISION_API_KEY="your-gemini-vision-key"

モデル選択ガイド

コード生成向け

  • 最良: gpt-4oclaude-3-5-sonnet-20241022deepseek-coder
  • 高速: gpt-4o-miniclaude-3-5-haiku-20241022

推論タスク向け

  • 最良: claude-opus-4-20250514gpt-4.5o3
  • バランス: claude-sonnet-4-20250514gpt-4o

クリエイティブライティング向け

  • 最良: gpt-4.5claude-3-opus-20240229
  • 高速: gemini-2.5-progpt-4o-mini

プライバシー/ローカル利用向け

  • 最良: deepseek-r1llama3.3qwen3
  • コード: deepseek-codercodellama

最終更新日: 2026年7月6日