Repolode
OlympiaAI

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. 1

    Gemfileにgemを追加する

    bundle add raix
  2. 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 の数値は毎日更新されます。

関連プロジェクト