ChatGoogle
ChatGoogle(=None,
system_prompt=None,
turns=None,
model=None,
api_key=None,
kwargs )
Chat with a Google Gemini model.
Prerequisites
To use Google’s models (i.e., Gemini), you’ll need to sign up for an account and get an API key.
ChatGoogle
requires the google-generativeai
package (e.g., pip install google-generativeai
).
Examples
import os
from chatlas import ChatGoogle
= ChatGoogle(api_key=os.getenv("GOOGLE_API_KEY"))
chat "What is the capital of France?") chat.chat(
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()= ChatGoogle()
chat 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=...