Closed9
RubyでOpenAI APIで遊ぶ boxcars導入編 #RubyKaigi #RubyKaigi2023
Ruby v2.7はギルティ なので Ruby v3.2.2 をビルド、インストールする
rbenvをインストールする
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
.bashrc
を更新する
eval "$(rbenv init - bash)"
rbenv install 3.2.2
エラー発生
warning: It seems your ruby installation is missing psych (for YAML output).
libyaml-devが必要らしい…
sudo apt install libyaml-dev
再度実行
rbenv install 3.2.2
今度はインストール成功
boxcars
というGemを使ってみたい
source "https://rubygems.org"
gem 'boxcars'
bundle
インストールできた
Gemが足りないので追加する
source "https://rubygems.org"
gem 'boxcars'
gem 'dotenv'
gem 'hnswlib'
bundle
main.rb
を書く
main.rb
require "dotenv/load"
require "boxcars"
engine = Boxcars::Openai.new(max_tokens: 256)
calc = Boxcars::Calculator.new(engine: engine)
puts calc.run "what is pi to the forth power divided by 22.1?"
実行してみる
bundle exec ruby main.rb
> Entering Calculator#run
what is pi to the forth power divided by 22.1?
RubyREPL: puts (Math::PI**4)/22.1
Answer: 4.407651178009159
{"status":"ok","answer":"4.407651178009159","explanation":"Answer: 4.407651178009159","code":"puts (Math::PI**4)/22.1"}
< Exiting Calculator#run
4.407651178009159
なんか動いてそう!
READMEを読んで、boxcarsの気になる例を探す
- ベクトル検索できるらしい
- ActiveRecordと連携して対話的にDBにクエリできるらしい
- Swagger (Open API)の定義読んで対話的にAPI呼び出しできるらしい
ActiveRecordと連携するやつを試してみたいけど、一旦ここまでを導入編として、別のスクラップにする
このスクラップは2023/05/11にクローズされました