Repolode
OlympiaAI

OlympiaAI/raix

一个 Ruby 库,用于在 Ruby 应用中加入离散的大模型组件,支持对话补全、工具调用和结构化输出。

Star
329
Fork
30
未关闭 Issue
11
最近提交
2个月前

这是什么?

Raix 是一个 Ruby gem,可以把大语言模型能力加入普通的 Ruby 类中。通过混入 ChatCompletion 等模块,类即可获得 transcript 和 chat_completion 方法,并借助 OpenRouter 调用 OpenAI、Anthropic、Google Gemini 等多家模型服务。底层基于 RubyLLM 处理服务商连接,只要引入 ActiveSupport,非 Rails 项目也能使用。

除基础对话外,Raix 支持自动工具(函数)调用:通过声明式 DSL 定义函数,模型调用后结果会回传给模型,直到其返回文本回复。它还提供 PromptDeclarations 模块用于按顺序执行提示链,Predicate 模块用于是/否/也许类问题,实验性的 MCP 客户端支持,以及用于 JSON Schema 输出的 ResponseFormat。before_completion 钩子可在请求发出前修改参数,例如按租户选择模型或脱敏个人信息。

该项目代码提取自虚拟 AI 团队平台 Olympia,作者还撰写了一本关于 AI 应用开发模式的书籍,阐述了相关设计思路。

核心功能

  • 01对话补全,transcript 支持简写或 OpenAI 标准消息格式。
  • 02通过声明式 DSL 实现自动工具函数调用,并可设置调用次数上限。
  • 03PromptDeclarations 支持按顺序执行提示链,包含条件、回调和循环。
  • 04JSON 模式与 JSON Schema 响应格式,便于获取结构化输出。
  • 05支持 Anthropic 风格的提示缓存,并提供 before_completion 钩子修改请求。

适用场景

  • 在 Rails 模型或服务对象中加入 AI 摘要、分类等步骤。
  • 搭建多步骤流水线,每次模型调用结果作为下一个提示的输入。
  • 让模型调用应用中的 Ruby 方法来获取数据或触发业务流程。
  • 将 Ruby 应用连接到远程 MCP 工具服务器进行实验。

快速上手

  1. 1

    将 gem 添加到 Gemfile

    bundle add raix
  2. 2

    在 Ruby 类中包含 Raix::ChatCompletion 并调用 chat_completion

使用前须知

  • Raix 3.0 依赖 RubyLLM 和 OpenRouter,因此需要 OpenAI 或 Anthropic 等提供商的 API 密钥。
  • 非 Rails 应用必须将 ActiveSupport 作为依赖引入。

收录于专题

标签

常见问题

raix 是什么?
一个 Ruby 库,用于在 Ruby 应用中加入离散的大模型组件,支持对话补全、工具调用和结构化输出。 Raix 是一个 Ruby gem,可以把大语言模型能力加入普通的 Ruby 类中。通过混入 ChatCompletion 等模块,类即可获得 transcript 和 chat_completion 方法,并借助 OpenRouter 调用 OpenAI、Anthropic、Google Gemini 等多家模型服务。底层基于 RubyLLM 处理服务商连接,只要引入 ActiveSupport,非 Rails 项目也能使用。
raix 可以免费使用吗?用的什么许可证?
raix 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
raix 还在维护吗?
半年内有更新。raix 最近一次提交是在 2026年9月22日。
raix 适合用来做什么?
在 Rails 模型或服务对象中加入 AI 摘要、分类等步骤。 搭建多步骤流水线,每次模型调用结果作为下一个提示的输入。 让模型调用应用中的 Ruby 方法来获取数据或触发业务流程。 将 Ruby 应用连接到远程 MCP 工具服务器进行实验。
raix 怎么安装和运行?
将 gem 添加到 Gemfile: bundle add raix 在 Ruby 类中包含 Raix::ChatCompletion 并调用 chat_completion
在哪里获取 raix?
源代码和安装说明在 GitHub 上:https://github.com/OlympiaAI/raix

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目