OlympiaAI/raix

Ruby AI eXtensions

何を解決するか

Raix は、既存の Ruby アプリケーションに離散的な AI コンポーネントを統合するための Ruby ライブラリです。LLM 機能(チャットコンプリーション、ツール使用、プロンプトチェーンなど)を追加するプロセスを簡素化し、開発者が複雑な API 操作や会話トランスクリプトを手動で管理する必要がありません。

動作方法

Raix は、任意の Ruby クラスに追加できる 3 つのミックスインモジュールを提供します。

  • ChatCompletion: コンバージェーショントランスクリプトを管理し、RubyLLM(OpenAI、Anthropic、Google Gemini、OpenRouter をサポート)を介して LLM とやり取りするためのメソッドを提供するコアモジュール。
  • FunctionDispatch: AI が呼び出すツール関数を宣言的に定義する DSL。自動的に関数の実行を行い、結果をトランスクリプトに追加し、最終的なテキスト応答が生成されるまで会話ループを継続します。
  • PromptDeclarations: 「プロンプトチェーン」を作成するための DSL。プロンプトのシーケンスや呼び出し可能なプロンプトオブジェクトを順番に実行できるようにします。

対象ユーザー

Olympia AI プラットフォームの検証されたパターンに基づいた構造的でモジュール式のアプローチで、アプリケーションに LLM 機能を追加したい Ruby 開発者(Rails アプリ以外も含む)。

特徴

  • 統合されたプロバイダーアクセス: RubyLLM および OpenRouter を通じて複数の LLM プロバイダーをサポート。
  • 自動ツールループ: 関数呼び出しをシームレスに実行し、結果を AI にフィードバックするための手動介入を不要にします。
  • 柔軟なフック: before_completion フックシステム(グローバル、クラス、インスタンスレベル)により、動的パラメータ解決、PII のマスキング、ログ記録が可能。
  • JSON モード: 構造化された JSON 応答をネイティブでサポートし、JSON 応答形式をネイティブにサポートしないモデルに対するフォールバック機構も備えています。
  • プロンプトキャッシュ: 大きなテキストボディの遅延とコストを削減するための Anthropic 風のプロンプトキャッシュをサポート。
  • カスタマイズ可能なディスパッチ: ActiveSupport を活用したキャッシュやカスタムエラーハンドリングの追加が可能な、関数ディスパッチロジックのオーバーライドを可能にします。

関連

  • Dispatch
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト