OlympiaAI/raix
チャット補完、ツール呼び出し、プロンプトチェーン、構造化出力を使って、Rubyアプリに個別のLLM機能を追加できるライブラリ。
- スター
- 329
- フォーク
- 30
- 未解決の Issue
- 11
- 最終コミット
- 2 か月前
これは何?
Raixは、一般的なRubyクラスに大規模言語モデルの機能を追加するためのRuby gemです。ChatCompletionなどのモジュールをミックスインすると、会話履歴とchat_completionメソッドを利用でき、OpenRouter経由でOpenAI、Anthropic、Google Geminiなどのプロバイダーのモデルを呼び出せます。プロバイダーとの接続にはRubyLLMを使用しており、ActiveSupportがあればRails以外のアプリでも動作します。
基本的な補完に加えて、Raixは宣言的な関数DSLによるツール(関数)の自動呼び出しに対応しています。ツールの実行結果は、モデルがテキストで応答するまでモデルに返されます。また、順序付きのプロンプトチェーンを実行するPromptDeclarationsモジュール、yes/no/maybe形式の質問に使うPredicateモジュール、リモートのツールサーバー向けの実験的なMCPクライアント機能、JSON Schema形式の出力に使うResponseFormatクラスも備えています。フックを使えば、リクエストの送信前に内容を調整できます。たとえば、テナントごとにモデルを選択したり、個人データを伏せたりできます。
このコードは、仮想AIチームのプラットフォームであるOlympiaから切り出されたものです。作者は、AIを活用したアプリケーションのパターンに関する関連書籍で、設計方針についても解説しています。
主な機能
- 01省略形式またはOpenAI形式のメッセージハッシュを受け付ける、会話履歴付きのチャット補完。
- 02宣言的なDSLと設定可能な呼び出し上限を備えた、ツール関数の自動呼び出し。
- 03条件分岐、コールバック、ループに対応した、PromptDeclarationsによるプロンプトチェーン。
- 04構造化出力向けのJSONモードとJSON Schema形式のレスポンス。
- 05Anthropic形式のプロンプトキャッシュと、リクエストを変更するbefore_completionフック。
ユースケース
- Railsのモデルやサービスオブジェクトに、AIによる要約や分類のステップを追加する。
- 各LLM呼び出しの結果を次のプロンプトに渡す、複数ステップのパイプラインを構築する。
- LLMからアプリケーションのRubyメソッドを呼び出し、データを取得したりワークフローを実行したりする。
- 実験目的でRubyアプリをリモートのMCPツールサーバーに接続する。
クイックスタート
- 1
Gemfileにgemを追加する
bundle add raix - 2
RubyクラスにRaix::ChatCompletionを読み込み、chat_completionを呼び出す
使う前に知っておきたいこと
- Raix 3.0はRubyLLMとOpenRouterに依存するため、OpenAIやAnthropicなどのプロバイダーのAPIキーが必要です。
- Rails以外のアプリケーションでは、依存関係にActiveSupportを追加する必要があります。
収録されている特集
トピック
よくある質問
- raix とは?
- チャット補完、ツール呼び出し、プロンプトチェーン、構造化出力を使って、Rubyアプリに個別のLLM機能を追加できるライブラリ。 Raixは、一般的なRubyクラスに大規模言語モデルの機能を追加するためのRuby gemです。ChatCompletionなどのモジュールをミックスインすると、会話履歴とchat_completionメソッドを利用でき、OpenRouter経由でOpenAI、Anthropic、Google Geminiなどのプロバイダーのモデルを呼び出せます。プロバイダーとの接続にはRubyLLMを使用しており、ActiveSupportがあればRails以外のアプリでも動作します。
- raix は無料で使えますか?ライセンスは?
- raix は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- raix は今もメンテナンスされていますか?
- 半年以内に更新あり。raix の最終コミットは 2026年9月22日 です。
- raix は何に使えますか?
- Railsのモデルやサービスオブジェクトに、AIによる要約や分類のステップを追加する。 各LLM呼び出しの結果を次のプロンプトに渡す、複数ステップのパイプラインを構築する。 LLMからアプリケーションのRubyメソッドを呼び出し、データを取得したりワークフローを実行したりする。 実験目的でRubyアプリをリモートのMCPツールサーバーに接続する。
- raix のインストール方法は?
- Gemfileにgemを追加する: bundle add raix RubyクラスにRaix::ChatCompletionを読み込み、chat_completionを呼び出す
- raix はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/OlympiaAI/raix
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
主要なLLMプロバイダーやUIフレームワークに対応した、ストリーミングチャット、ツール呼び出し、エージェント、マルチモーダルアプリ向けの型安全でプロバイダー非依存なTypeScript SDK。
Claude、OpenAI、Gemini、OllamaやセルフホストモデルなどのLLMをElixirアプリケーションに統合するためのElixirライブラリ。
AIエージェントやプロンプトチェーンをグラフで構築できるビジュアルIDE。アプリへの組み込みに使えるTypeScriptライブラリも提供します。
OpenAI、Anthropicなどのプロバイダーをまたいで、プロンプトやLLMリクエストのログ記録、バージョン管理、トレース、評価を行うPromptLayer向けPython SDK。