ChatGoogle

ChatGoogle(
    system_prompt=None,
    turns=None,
    model=None,
    api_key=None,
    kwargs=None,
)

Chat with a Google Gemini model.

Prerequisites

API key

To use Google’s models (i.e., Gemini), you’ll need to sign up for an account and get an API key.

Python requirements

ChatGoogle requires the google-generativeai package (e.g., pip install google-generativeai).

Examples

import os
from chatlas import ChatGoogle

chat = ChatGoogle(api_key=os.getenv("GOOGLE_API_KEY"))
chat.chat("What is the capital of France?")

Parameters

Name Type Description Default
system_prompt Optional[str] A system prompt to set the behavior of the assistant. None
turns Optional[list[Turn]] A list of turns to start the chat with (i.e., continuing a previous conversation). If not provided, the conversation begins from scratch. Do not provide non-None values for both turns and system_prompt. Each message in the list should be a dictionary with at least role (usually system, user, or assistant, but tool is also possible). Normally there is also a content field, which is a string. None
model Optional[str] The model to use for the chat. The default, None, will pick a reasonable default, and warn you about it. We strongly recommend explicitly choosing a model for all but the most casual use. None
api_key Optional[str] The API key to use for authentication. You generally should not supply this directly, but instead set the GOOGLE_API_KEY environment variable. None
kwargs Optional['ChatClientArgs'] Additional arguments to pass to the genai.GenerativeModel constructor. None

Returns

Name Type Description
Chat A Chat object.

Limitations

ChatGoogle currently doesn’t work with streaming tools.

Note

Pasting an API key into a chat constructor (e.g., ChatGoogle(api_key="...")) is the simplest way to get started, and is fine for interactive use, but is problematic for code that may be shared with others.

Instead, consider using environment variables or a configuration file to manage your credentials. One popular way to manage credentials is to use a .env file to store your credentials, and then use the python-dotenv package to load them into your environment.

pip install python-dotenv
# .env
GOOGLE_API_KEY=...
from chatlas import ChatGoogle
from dotenv import load_dotenv

load_dotenv()
chat = ChatGoogle()
chat.console()

Another, more general, solution is to load your environment variables into the shell before starting Python (maybe in a .bashrc, .zshrc, etc. file):

export GOOGLE_API_KEY=...