boxcars

boxcars

使用带有 LLM 的 Boxcars 构建具有可组合性的应用程序

Boxcars借助AI可组合性,创建了一款智能系统开发工具,支持OpenAI、Anthropic、Gpt4all、搜索、SQL(Sequel和Active Record支持)、Rails Active Record、向量搜索等多种技术。此Ruby gem受Langchain启发,为初学者提供友好环境,具备灵活的扩展能力,用户可创建自定义概念以满足不同项目需求。

BoxcarsAIRubyOpenAISQLGithub开源项目

Boxcars 项目介绍

Boxcars 是一个强大的 Ruby gem,旨在构建具有人工智能可组合性的系统。通过 Boxcars,开发者可以使用各种概念和技术,如大语言模型(LLMs),搜索引擎,SQL 查询(支持 Sequel 和 Active Record),Rails Active Record,向量搜索等,甚至还可以扩展自己定义的概念。

开发 Boxcars 的灵感来源于流行的 Python 库 Langchain,但开发团队想要在 Ruby 语言中做出改进,使其更适合初学者使用。因此,Boxcars 特别便捷和用户友好。

核心概念

在 Boxcars 模块中定义了几个核心概念:

  • Boxcar:一个封装在一起的功能模块,能够执行特定的任务(如搜索、数学计算、SQL 查询、API 调用等)。Boxcar 可以使用指定的 Engine 完成工作。如果没有指定,将使用默认的 Boxcars.engine

  • Train:由一组 Boxcars 组成,能够分解问题,让各个 Boxcar 单独解决问题,最终将结果汇总得出解决方案。目前,ZeroShot 是唯一实现的 Train,但很快会添加更多选项。用户可以直接创建 Train 或使用 Boxcars::train 简化流程。

  • Prompt:用于引擎生成文本结果的提示词。Boxcars 提供内置提示词,用户可以根据需要更改或扩展。

  • Engine:处理提示词并生成文本的实体。如果未指定,OpenAI 的大语言模型引擎将用作默认引擎。用户可以通过 Boxcar.configuration.default_engine 更改默认引擎。Boxcars 还支持 Anthropic 的 Claude API(Boxcars::Anthropic)和 GPT 引擎(Boxcars::Gpt4allEng)。

  • VectorStore:用于存储和查询向量的地方。

安全性

目前,Boxcars 系统专为拥有管理权限的用户设计。虽然技术上有可能利用代码进行不当操作,但有管理权限的用户无需借助 Boxcars 来完成此类操作。开发团队正在努力提高系统对潜在威胁和恶意行为的识别和防范能力,并欢迎用户提供建议。

安装指南

要在项目中使用 Boxcars,请在应用的 Gemfile 中添加以下内容:

gem 'boxcars'

然后执行命令:

$ bundle install

或者使用以下命令单独安装:

$ gem install boxcars

使用指南

Boxcars 的使用非常简单。用户需要设置环境变量来支持如 OpenAI、Anthropic 和 Google SERP 等服务的 API 访问,如 OPENAI_ACCESS_TOKEN、ANTHROPIC_API_KEY、SERPAPI_API_KEY 等。也可以将这些变量直接传递给 API。

直接使用 Boxcar

下面是一个使用 Boxcar 的简单示例,使用 Ruby 的 irb 环境即可开始:

# 运行计算器 require "boxcars" calc = Boxcars::Calculator.new # 使用默认引擎 puts calc.run "what is pi to the fourth power divided by 22.1?"

Boxcars 提供了多种功能性的 Boxcars,例如:Google 搜索、Wikipedia 搜索、Calculator(计算器)用于数学计算、SQL 查询、Active Record 查询以及 Swagger 用于 API 操作等。

组合使用 Boxcars

可以将多个 Boxcars 组合在一个 Train 中,以帮助解决复杂问题:

# 使用默认引擎运行计算器和搜索 boxcars = [Boxcars::Calculator.new, Boxcars::GoogleSearch.new] train = Boxcars.train.new(boxcars: boxcars) train.run "What is pi times the square root of the average temperature in Austin TX in January?"

更多示例

可以查阅 Jupyter Notebook 中的更多示例,包括 Swagger boxcar 和向量搜索的使用示例。

日志功能

若在 Rails 应用中使用 Boxcars,可以将日志记录到日志文件。通过设置 Boxcars.configuration.log_prompts = true,可以记录传递给连接引擎的所有提示词,使调试更方便。

贡献

Boxcars 项目鼓励社区贡献,无论是问题报告还是功能请求,都可以在 GitHub 上进行,该项目欢迎所有人参与并遵循项目的行为准则。

Boxcars 以 MIT 许可证开源,大家都可以使用和贡献。

编辑推荐精选

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

下拉加载更多