Stay organized with collections
Save and categorize content based on your preferences.
This guide shows how to migrate your Python code from using the PaLM API to
the Gemini API. You can generate both text and multi-turn conversations (chat)
with Gemini but make sure to check your responses since they may be
different from PaLM outputs.
Summary of API differences
Method names have changed. Instead of having separate methods to generate
text and chat, there's one method generate_content that can do both.
Chat has a helper method start_chat that makes chatting simpler.
Instead of stand alone functions, the new APIs are methods of the
GenerativeModel class.
Output response structure has changed.
Safety setting categories have changed. Refer to the
safety settings guide for details.
Text Generation: Basic
PaLM
Gemini
pipinstallgoogle-generativeaiimportgoogle.generativeaiaspalmimportospalm.configure(api_key=os.environ['API_KEY'])response=palm.generate_text(prompt="The opposite of hot is")print(response.result)# 'cold.'
pipinstallgoogle-generativeaiimportgoogle.generativeaiasgenaiimportosgenai.configure(api_key=os.environ['API_KEY'])model=genai.GenerativeModel(model_name='gemini-pro')response=model.generate_content('The opposite of hot is')print(response.text)# The opposite of hot is cold.'
Text Generation: Optional parameters
PaLM
Gemini
pipinstallgoogle-generativeaiimportgoogle.generativeaiaspalmimportospalm.configure(api_key=os.environ['API_KEY'])prompt="""You are an expert at solving wordproblems.Solve the following problem:I have three houses, each with threecats. Each cat owns 4 mittens, and a hat.Each mitten was knit from 7m of yarn,each hat from 4m. How much yarn wasneeded to make all the items?Think about it step by step, and showyour work."""completion=palm.generate_text(model=model,prompt=prompt,temperature=0,# The maximum length of responsemax_output_tokens=800,)print(completion.result)
pipinstallgoogle-generativeaiimportgoogle.generativeaiasgenaiimportosgenai.configure(api_key=os.environ['API_KEY'])model=genai.GenerativeModel(model_name='gemini-pro')prompt="""You are an expert at solving wordproblems.Solve the following problem:I have three houses, each with threecats. Each cat owns 4 mittens, and a hat.Each mitten was knit from 7m of yarn,each hat from 4m. How much yarn wasneeded to make all the items?Think about it step by step, and showyour work."""completion=model.generate_content(prompt,generation_config={'temperature':0,'max_output_tokens':800})print(completion.text)
Chat: Basic
PaLM
Gemini
pipinstallgoogle-generativeaiimportgoogle.generativeaiaspalmimportospalm.configure(api_key=os.environ['API_KEY'])chat=palm.chat(messages=["Hello."])print(chat.last)# 'Hello! What can I help you with?'chat=chat.reply("Just chillin'")print(chat.last)# 'That's great! ...'
chat.messages[{'author':'0','content':'Hello'},{'author':'1','content':'Hello! How can I help you today?'},{'author':'0','content':"Just chillin'"},{'author':'1','content':"That's great! I'm glad you're able to relax andtakesometimeforyourself.Whatareyouuptotoday?"}]
chat.history[parts{text:"Hello."}role:"user",parts{text:"Greetings! How may I assist you today?"}role:"assistant",parts{text:"Just chillin\'"}role:"user",parts{text:"That\'s great! I\'m glad to hearyou\'re having a relaxing time.MayIofferyouanyvirtualentertainmentorassistance?Icanprovideyouwithmusicrecommendations,playgameswithyou,orengageinafriendlyconversation.\n\nAdditionally,I\'m capable of generatingcreativecontent,suchaspoems,stories,orevensonglyrics.Ifyou\'d like, I can surprise you withsomethingunique.\n\nJustletmeknowwhatyou\'re in the mood for,andI\'ll be happy to oblige."}role:"assistant"]
Chat: Temperature
PaLM
Gemini
# Setting temperature=1 usually produces more zany responses!chat=palm.chat(messages="What should I eat for dinner tonight? List a few options",temperature=1)chat.last'Here are a few ideas ...
model=genai.GenerativeModel(model_name='gemini-pro')chat=model.start_chat()# Setting temperature=1 usually produces more zany responses!response=chat.send_message("What should I eat for dinner tonight? List a few options",generation_config={'temperature':1.0})print(response.text)'1. Grilled Salmon with Roasted Vegetables: ...'
Next steps
See the Gemini API overview for more details on the
latest models and features.