项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2008
使用教程
环境要求
- 已安装 Ruby 环境(可运行 ruby 与 gem 命令)
- 使用 Bundler 管理依赖(推荐)或已安装 RubyGems
- OpenAI 等 LLM 供应商的 API Key
- 如使用工具类(如 NewsRetriever),需对应的第三方 API Key(如 NEWS_API_KEY)
安装与启动步骤
-
1用 Bundler 安装 gem
在项目目录下执行,会自动把 langchainrb 写入 Gemfile 并安装。适合已有 Rails/Ruby 项目。
bundle add langchainrb -
2或直接安装 gem
不使用 Bundler 管理依赖时,直接用 gem 命令全局安装。二选一即可。
gem install langchainrb -
3按需补充额外 gem
README 说明部分功能依赖的额外 gem 不默认包含,请只添加自己需要的那部分。
-
4在代码中引入
在 Ruby 文件顶部引入 langchain,之后才能使用 LLM、Assistant 等类。
require "langchain" -
5初始化 LLM 实例
所有 LLM 类继承自 Langchain::LLM::Base,接口一致,切换后端无需改业务代码。key 从环境变量读取。
llm = Langchain::LLM::OpenAI.new(api_key: ENV["OPENAI_API_KEY"]) -
6创建并运行 Assistant
传入 llm、instructions 和 tools 创建助手,添加用户消息并运行,可开启自动工具执行。
assistant = Langchain::Assistant.new( llm: llm, instructions: "You're a helpful AI assistant", tools: [Langchain::Tool::NewsRetriever.new(api_key: ENV["NEWS_API_KEY"])] ) assistant.add_message_and_run!(content: "What's the latest news about AI?") assistant.run(auto_tool_execution: true)
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
llm | 是 | Assistant 使用的 LLM 实例,必填 | Langchain::LLM::OpenAI.new(api_key: ENV["OPENAI_API_KEY"]) |
tools | 否 | 工具实例数组,供助手调用外部能力 | [Langchain::Tool::NewsRetriever.new(api_key: ENV["NEWS_API_K |
instructions | 否 | 助手系统提示词,定义角色与行为 | "You're a helpful AI assistant" |
tool_choice | 否 | 工具选择策略,默认 auto,也可指定函数名强制调用 | "auto" |
parallel_tool_calls | 否 | 是否并行发起多个工具调用,默认 true | true |
tool_execution_callback | 否 | 工具执行前触发的回调,用于日志或监控 | -> (tool_call_id, tool_name, method_name, tool_arguments) { |
如何确认成功
运行 Ruby 脚本后能正常输出助手回复(如返回 AI 相关最新新闻),说明 gem 安装与 LLM 配置成功。
常见问题
Q:报错提示缺少依赖 gem 怎么办?
A:README 说明附加 gem 不默认包含,需要哪个功能就在 Gemfile 中自行添加对应 gem,不要一次性全装。
Q:如何从 OpenAI 切换到其他 LLM?
A:Langchain::LLM 提供统一接口,各 LLM 类都继承 Langchain::LLM::Base,替换实例化的类即可,业务代码基本不用改。
Q:Rails 项目怎么深度集成?
A:README 指向单独的 langchainrb_rails gem,需要 Rails 深度集成时改用该 gem。
Q:API Key 应该写在哪里?
A:示例统一从环境变量读取(ENV["OPENAI_API_KEY"]、ENV["NEWS_API_KEY"]),建议用环境变量而非硬编码在代码里。
注意事项
- 额外依赖 gem 默认不安装,只添加实际用到的,避免体积膨胀。
- 工具类通常需要自己的 API Key,如 NewsRetriever 需要 NEWS_API_KEY。
- 完整 API 文档见官网 rubydoc.info/gems/langchainrb。
核心亮点
- 原生 Ruby 实现,无缝融入 Rails 等现有 Ruby 项目,无需跨语言调用
- 支持多种 LLM 和向量数据库,抽象统一,切换成本低
- 提供链、智能体、RAG 等高层抽象,简化复杂 AI 流程开发
不足之处
- 文档和示例相对较少,学习曲线较陡
- 社区生态和第三方集成不如 Python 版丰富
适用场景
- 在 Ruby on Rails 应用中快速添加 AI 聊天或问答功能
- 构建基于私有知识库的检索增强生成(RAG)系统
- 开发需要多步骤推理和工具调用的智能体应用
替代项目
langchain(Python)、langchain4j(Java)、boxcars(Ruby)
下一篇:ToolRegistry
同类项目推荐
GPT-Vis
开源
让大模型输出配置,前端直接渲染出规范图表
GPT Vision, Visualization for AI Friendly! AntV's entry for AI.
LLMstudio
开源
让 LLM 应用从原型到生产,少踩坑、快落地
Framework to bring LLM applications to production
node-diffusion
开源
像搭积木一样可视化 Stable Diffusion 的生成过程
Organize latent space
towhee
开源
拖拽式搭建AI数据处理管道,快速实现多模态向量化
Towhee is a framework that is dedicated to making neural data processing pipelines s···
Legion
开源
用 Python 快速搭建多智能体协作应用,简化 LLM 编排。
A Python-based framework for building multi-agent systems with LLMs. Currently in pr···
syncode
开源
让大模型输出严格符合语法,告别格式错误
Efficient and general syntactical decoding for Large Language Models
webjs
开源
让 AI 直接读懂全栈代码,无需训练即可辅助开发。
WebJs is an AI-first full-stack JavaScript web components framework. You get product···
open-mercato
开源
让 AI 编码助手直接产出生产级架构,不用反复改代码
The AI-Engineering Foundation Framework for business apps: open-source TypeScript, w···
langsmith-skills
开源
用脚本快速玩转 LangSmith 追踪与评估
