Skip to contents

Chatbots

chat_azure()
Chat with Azure OpenAI
chat_claude()
Create a chatbot that speaks to Anthropic's Claude
chat_gemini()
Create a chatbot that speaks to Google's Gemini
chat_github()
Chat with models in the GitHub model marketplace
chat_groq()
Chat with models from Groq
chat_ollama()
Connect to a local ollama instances
chat_openai()
Create a chatbot that speaks to an OpenAI compatible endpoint
chat_perplexity()
Chat with models from perplexity.ai
live_console() live_browser()
Open a live chat application

Tool use

ToolDef() ToolArg()
Define a tool
create_tool_def()
Create metadata for a tool

Images

content_image_url() content_image_file() content_image_plot()
Encode image content for chat input

Objects

These classes abstact across behaviour differences in chat providers so that for typical elmer use you don’t need to worry about them. You’ll need to learn more about the objects if you’re doing something that’s only supported by one provider, or if you’re implementing a new provider.

Turn()
A user or assistant turn
Provider()
A chatbot provider
Content() ContentText() ContentImage() ContentImageRemote() ContentImageInline() ContentToolRequest() ContentToolResult()
Content types received from and sent to a chatbot
Chat
A chat