Skip to content

Latest commit

 

History

History
266 lines (184 loc) · 18.5 KB

File metadata and controls

266 lines (184 loc) · 18.5 KB

☁️ Providers

🤖 Agents are powered by a provider. The provider could be a local service or a cloud service.

The list of supported providers is below.

Table of contents

How to choose a provider

If you're not sure which provider to start with, we recommend Venice: it's the most capable provider baibot supports (covering 💬 text-generation with vision, file inputs, prompt caching, and native web search, plus 🖌️ image-generation incl. editing, 🦻 speech-to-text, and 🗣️ text-to-speech) and the only one that runs inference with no logging and no training on your data. If you'd rather start with the most widely-used option, OpenAI is a solid, well-supported choice too.

You don't need to choose just one though. The bot supports mixing & matching models, so you can use multiple providers at the same time.

How to use a provider

  1. 📝 Sign up for it

  2. 🔑 Obtain an API key

  3. 🤖 Create one or more agents in a given room or globally. Next to each provider in the list below you'll see 🗲 Quick start commands, but you may also refer to the agent creation guide.

  4. 🤝 Set the new agent as a handler for a given use-purpose like text-generation, image-generation, etc. The agent creation wizard will tell you how, but you may also refer to the 🤝 Handlers guide.

Supported providers

Anthropic

Anthropic is an American AI company founded by former OpenAI engineers and providing powerful language models.

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

Groq

Groq is an American company developing optimized Language Processing Units (LPU) and offering cloud service which runs various models (built by others) with very high performance.

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

LocalAI

LocalAI is the free, Open Source OpenAI alternative. LocalAI act as a drop-in replacement REST API that’s compatible with OpenAI API specifications for local inferencing. It allows you to run LLMs, generate images, audio (and not only) locally or on-prem with consumer grade hardware, supporting multiple model families and architectures.

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

Mistral

Mistral AI is a research lab based in Europe (France) which produces their own language models.

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

Ollama

Ollama lets you run various models in a self-hosted way. This is more advanced and requires powerful hardware for running some of the better models, but ensures your data stays with you.

  • 🆔 Identifier: ollama
  • 🔗 Links: 🏠 Home page, 📋 Models list
  • 🌟 Capabilities: 💬 text-generation (no vision, no tools)
  • 🗲 Quick start:
    • create a room-local agent: !bai agent create-room-local ollama my-ollama-agent
    • create a global agent: !bai agent create-global ollama my-ollama-agent

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

OpenAI

OpenAI is an American AI company providing powerful language models.

Use this provider either with the OpenAI API or with other OpenAI-compatible API services which fully adhere to the OpenAI API spec. For services which are not fully compatible with the OpenAI API, consider using the OpenAI Compatible provider.

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

OpenAI Compatible

This provider allows you to use OpenAI-compatible API services like OpenRouter, Together AI, etc.

Some of these popular services already have shortcut providers (leading to this one behind the scenes) - this make it easier to get started.

This provider is just as featureful as the OpenAI provider, but is more compatible with services which do not fully adhere to the OpenAI API spec.

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

OpenRouter

OpenRouter is a unified interface for LLMs. The platform scouts for the lowest prices and best latencies/throughputs across dozens of providers, and lets you choose how to prioritize them.

  • 🆔 Identifier: openrouter
  • 🔗 Links: 🏠 Home page, 👤 Sign up, 📋 Models list
  • 🌟 Capabilities: 💬 text-generation (no vision, no tools)
  • 🗲 Quick start:
    • create a room-local agent: !bai agent create-room-local openrouter my-openrouter-agent
    • create a global agent: !bai agent create-global openrouter my-openrouter-agent

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

Together AI

Together AI makes it easy to run or fine-tune leading open source models with only a few lines of code.

  • 🆔 Identifier: together-ai
  • 🔗 Links: 🏠 Home page, 👤 Sign up, 📋 Models list
  • 🌟 Capabilities: 💬 text-generation (no vision, no tools)
  • 🗲 Quick start:
    • create a room-local agent: !bai agent create-room-local together-ai my-together-ai-agent
    • create a global agent: !bai agent create-global together-ai my-together-ai-agent

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

Venice

Venice AI (ref link with a $10 bonus for you) runs inference on Venice-controlled GPUs or zero-data-retention partner infrastructure and stores no prompts or responses, so your conversations don't linger anywhere. It serves both frontier proprietary models and the latest open-source ones.

💡 When creating an agent, the bot will show you an up-to-date sample configuration for this provider which looks like this.

Unlike the OpenAI Compatible provider (which can talk to Venice but drops images and can't reach its audio or native image endpoints), this is a first-class Venice integration that exposes Venice's full parameter set. Image generation uses the native /image/generate endpoint rather than the OpenAI-compatible /images/generations shim, so every Venice-specific knob below is available.

Configuration reference

Every parameter below is optional unless marked otherwise. Omitting a knob lets Venice apply its own server-side default; this is not the same as setting it to false, which actively sends false.

text_generation (top-level knobs) — sampling, caching, and reasoning controls that sit directly on text_generation, next to model_id, prompt, temperature, max_response_tokens, and max_context_tokens. They map to top-level fields on Venice's request, separate from the venice_parameters bag below.

Knob What it does Default
top_p Nucleus sampling, 0.01.0. An alternative to temperature.
frequency_penalty Penalize tokens by how often they have already appeared, -2.02.0.
presence_penalty Penalize tokens that have appeared at all, -2.02.0.
repetition_penalty Penalize repetition. Values above 1.0 discourage repeats.
reasoning_effort Reasoning budget for models that support it: low, medium, high.
prompt_cache_retention How long Venice keeps the prompt prefix cached: default, extended, or 24h. 24h is the lever that makes a long, stable system prompt cheap across a day of conversations. 24h
show_reasoning Append the model's reasoning (its reasoning_content) below the answer, as a collapsible 💭 Reasoning block that stays folded until clicked. Reads a field separate from the answer text, so it works regardless of strip_thinking_response. false

text_generation.venice_parameters — Venice-specific request knobs sent in the venice_parameters bag. Set any of them to override Venice's behavior. The Default column shows the value baibot's sample config ships; a means the knob is left unset, so Venice's own default applies.

Knob What it does Default
enable_web_search Web search mode: auto (model decides), on (always), or off. auto
enable_web_citations Append source citations to web-search answers.
enable_web_scraping Allow the model to scrape page contents during web search.
enable_x_search Include X (Twitter) in web search.
include_search_results_in_stream Stream search results back as they arrive.
return_search_results_as_documents Return search results as structured documents.
include_venice_system_prompt Prepend Venice's own system prompt alongside yours.
character_slug Use a public Venice character by its slug.
strip_thinking_response Strip <think></think> blocks from reasoning models so the user sees only the answer. true
disable_thinking Disable the model's reasoning step entirely.
enable_e2ee Run in end-to-end-encrypted mode rather than the default TEE-only mode. false
verbosity Response verbosity for models that support it: low, medium, high.

text_to_speech:

Knob What it does Default
model_id The Venice TTS model (e.g. tts-kokoro, tts-qwen3-1-7b, tts-xai-v1). tts-kokoro
voice The voice to synthesize with. Model-specific (Kokoro: af_*/am_*/bf_*/bm_*); a cloned-voice handle (vv_<id>) also works. af_sky
response_format Audio format: mp3, opus, aac, flac, wav, or pcm. mp3
speed Playback speed, 0.254.0. 1.0
prompt A style prompt steering emotion/delivery. Only Qwen 3 TTS honors it.
temperature Sampling temperature, 0.02.0. Only Qwen 3 / Orpheus / Chatterbox HD honor it.
top_p Nucleus sampling, 0.01.0. Only Qwen 3 TTS honors it.

image_generation:

Knob What it does Default
model_id The image-generation model. chroma
negative_prompt A description of what should not appear in the image.
cfg_scale CFG scale, 020. Higher values adhere more closely to the prompt.
steps Number of inference steps. Model-specific; some models ignore it.
style_preset A named style to apply (e.g. 3D Model).
seed Random seed, -999999999999999999. Fix it for reproducible results. random
safe_mode Blur images classified as adult content. true
hide_watermark Hide the Venice watermark (may be ignored for some content). false
format Output format: jpeg, png, or webp. webp
width / height Image dimensions in pixels, each 11280. 1024
aspect_ratio Aspect ratio for models that support it (e.g. 1:1, 16:9). Alternative to width/height.
resolution Resolution tier for models that support it (1K, 2K, 4K).
quality Output quality for supported models: low, medium, high. Higher can cost more.
lora_strength Lora strength, 0100. Only applies if the model uses additional Loras.
embed_exif_metadata Embed the generation prompt into the image's EXIF metadata. false
enable_web_search Let the model pull the latest info from the web. Model-specific; costs extra credits.

image_generation.edit — image editing reuses the image_generation block; only the model and a few output knobs differ:

Knob What it does Default
model_id The image-edit model. firered-image-edit
output_format Output format: jpeg, png, or webp. When omitted, Venice infers it (PNG at 1K, JPEG at 2K/4K). inferred
aspect_ratio Aspect ratio of the result: auto, 1:1, 3:2, 16:9, 21:9, 9:16, 2:3, 3:4, 4:5 (model-specific).
resolution Resolution tier: 1K, 2K, 4K (model-specific). 1K
safe_mode Blur images classified as adult content. true