cognesy/instructor-php
Unified LLM API, structured data outputs with LLMs, and agent SDK - in PHP
What it solves
Instructor for PHPは、LLMの出力(JSONや生のテキストなど)を手動で解析する手間を省き、型定義された検証済みのPHPデータオブジェクトに変換します。情報を抽出するための構造化された方法を提供し、データがアプリケーションで使用される前に特定の検証ルールを満たしていることを保証することで、LLM統合の脆弱性を軽減します。
How it works
このライブラリは、「レスポンスモデル」(型ヒント付きの純粋なPHPクラス)を使用して、目的のデータ構造を定義します。LLMの機能(ネイティブなJSON生成、JSON Schema、またはツール呼び出しなど)を活用して、モデルがそのスキーマに従うように強制します。出力が検証に失敗した場合(Symfony validationを使用)、Instructorはリクエストを自動的に再試行し、エラーの詳細をLLMに提供することで、モデルが自身のレスポンスを自己修正できるようにします。
Who it’s for
解析、検証、エラーハンドリングのための膨大なボイラープレートコードを書くことなくLLMをアプリケーションに統合したいPHP開発者、および統一APIを使用して異なるLLMプロバイダー(OpenAI, Anthropic, または Ollama)を切り替える必要がある開発者向けです。
Highlights
- Structured Extraction: LLMのレスポンスを直接PHPクラスに変換します。
- Automated Retries: 検証エラーをLLMにフィードバックすることで、無効なレスポンスを自己修正します。
- Unified Inference: Polyglotコンポーネントを通じて、20以上のLLMプロバイダーに対して単一のAPIを提供します。
- Multi-Mode Output: JSON、JSON Schema、Tool calling、およびMarkdown-JSONを含む様々な抽出方法をサポートしています。
- Framework Agnostic: スタンドアロン、またはLaravelやSymfonyとのファーストパーティ統合として動作します。
- Agent SDK: 状態管理とライフサイクルフックを備えた、ツールを使用するエージェントを構築するための軽量なSDKが含まれています。