Ruby Implementation of Nano Bots: small, AI-powered bots that can be easily shared as a single file, designed to support multiple providers such as Anthropic Claude, Cohere Command, Google Gemini, Maritaca AI, Mistral AI, Ollama, OpenAI ChatGPT, and others, with support for calling tools (functions).
Fixing system messages, boot, directive, instruction, and backdrop behaviors.
Fixing streaming issues.
Removing consecutive user or model contents, as it breaks Gemini.
Supporting new authentication methods.
Gemini's finishReason does not have the same behavior as OpenAI's, so we should not use it as a reference for the end of streaming. I'm not sure if this is a bug from the Google Gemini REST API or expected behavior.
Google Gemini:
boot
,directive
,instruction
, andbackdrop
behaviors.user
ormodel
contents, as it breaks Gemini.Gemini's
finishReason
does not have the same behavior as OpenAI's, so we should not use it as a reference for the end of streaming. I'm not sure if this is a bug from the Google Gemini REST API or expected behavior.Additionally:
NanoBot.specification