created’eval_generate_and_run’

はじめに

最近Rubyを入門しています。
Rubyの特徴として挙げられる”メタプログラミング”を活かしたアプリを作成しました。

Kernel#evalとは

Rubyのevalメソッドは、文字列として与えられたRubyコードを実行するために使用されます。これは、PythonのexecやJavaScriptのevalなど、他の言語における同様の機能に類似しています。

基本的な使い方

code = "1 + 2"
result = eval(code)
puts result # 出力: 3

上記の例では、code変数に格納された文字列がRubyの式として評価され、その結果がresult変数に代入されます。

つくったもの

Github

無題の動画 ‐ Clipchampで作成

解説

GPTへのリクエスト内容

  • 使用する候補のAPI等
    • 使い方(リクエスト・レスポンスパラメータ一覧)
  • 解決してほしい課題(ユーザー入力内容)
  • evalコードに関する指定
    • 出力形式の指定(e.g. “標準出力で会話形式”)

GPTからのレスポンス内容

  • Kernel#evalメソッドに引数として渡せる状態のRubyコード
  • evalの実行に足りない情報(未実装)

その後

GPTからのレスポンスであるRubyコードをeval(response_content["eval_code"])とすれば完成。

今後の展望

アップデートごとにGPTの扱えるトークン数が増えています。候補のAPIを数多く渡すことで、より多様なリクエストに対応できるようになります。
例えばLineAPIを渡してみたり、slackのAPIを渡してみたり。。。

Leave a Reply

Your email address will not be published. Required fields are marked *