Should we wrap openai/openai-ruby (or alexrudall/ruby-openai until the former is formally released)? This would add a dependency and reduce the number of Rubies that we're compatible with, but it would gain all the work they're putting into e.g. retry logic.