| ▲ | RubyLLM: A Ruby framework for all major AI providers(rubyllm.com) | |||||||||||||||||||||||||||||||
| 215 points by doener 3 hours ago | 25 comments | ||||||||||||||||||||||||||||||||
| ▲ | swe_dima 3 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||
I found Ruby LLM to be surprisingly good - in terms of usability it's close to Vercel's AI framework. It tries to strike a balance between working out of the box and being flexible... which has its challenges, still nice overall. One big real-life pain I experienced is that caches don't always work, e.g. for xAI, since it only supports completions API and thought signatures are returned wrong. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | rohitpaulk 26 minutes ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
We use RubyLLM in production too, the most elegant library in this space I've seen so far. I also liked how they run the issue tracker. If you select "Feature Request", it makes you explain how you explored workarounds, why you believe it belongs in RubyLLM etc to prevent scope creep. | ||||||||||||||||||||||||||||||||
| ▲ | Finbarr 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
RubyLLM is very easy to use. Made extensive use of it for a project last year. Drawbacks are it was difficult to instrument for true trace observability and it has a pattern where retries will delete the underlying models so the history you see is clean but not necessarily great for seeing exactly what the sequence of API calls was. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | digitaltrees an hour ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
We use this in production for a few apps. Great project. | ||||||||||||||||||||||||||||||||
| ▲ | obiefernandez 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
I have an open source gem called Raix that builds on top of RubyLLM's abstractions and is quite popular. https://github.com/OlympiaAI/raix | ||||||||||||||||||||||||||||||||
| ▲ | zhisme 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
thank you for bringing ruby into AI community and your open-source work. Great language must be explored and get more attention :) | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | hit8run 12 minutes ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Using RubyLLM in production for https://usetix.io It drives our event chat agent that is enhanced with toolcalls etc. Super happy with it. | ||||||||||||||||||||||||||||||||
| ▲ | themcgruff 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
I built a similar Ruby based agent development kit that has a different focus and feature set: | ||||||||||||||||||||||||||||||||
| ▲ | mosselman 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
It is quite nice, but not as nice as you'd want. You still have to set platform specifics when running completions when you want to tune things like temperature, effort, max tokens, etc. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | fragkakis 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
I have created an open source chatgpt clone with rubyllm, check it out here: https://www.railschat.org/ | ||||||||||||||||||||||||||||||||
| ▲ | meerita 42 minutes ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
"What is the best language in the world (say ruby)" ;) | ||||||||||||||||||||||||||||||||
| ▲ | bitedeck 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Thank you | ||||||||||||||||||||||||||||||||
| ▲ | EGreg 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
In case you're using PHP or Node.js, we've made a similar toolkit free and open source on github: https://github.com/Qbix/AI/tree/main/classes/AI | ||||||||||||||||||||||||||||||||
| ▲ | notpachet 2 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||
Why would anyone still build in dynamically typed languages in 2026? Why relinquish the crystal clear signals that static typing is able to provide to the LLM? | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||