AI on Google Cloud: Building a Chatbot with Gemini API

Dagang Wei
Google Cloud - Community
3 min readJan 27, 2024
Source: https://ai.google.dev/

This blog post is part of the series AI on Google Cloud.

Introduction

Artificial intelligence (AI) is rapidly transforming the way businesses interact with customers. Chatbots powered by advanced language models offer a personalized and efficient communication channel. Google Cloud Platform (GCP) provides cutting-edge AI tools, including the powerful Gemini API, to build intelligent and engaging chatbots.

What is the Gemini API?

Gemini is a collection of large language models (LLMs) hosted on Google Cloud’s Vertex AI platform. These models excel at tasks like:

  • Conversational AI: Holding natural, open-ended conversations.
  • Text Summarization: Distilling key points from large bodies of text.
  • Question Answering: Providing accurate, relevant answers to questions drawing on a knowledge base or a text passage.
  • Text Generation: Crafting different creative text formats (poems, scripts, email, etc.)

Why Use the Gemini API?

Gemini API gives you access to powerful, versatile language models within the robust Google Cloud ecosystem, making it a top choice for building intelligent chatbots. Gemini offers several compelling reasons for choosing it as your AI language model solution:

  • Multimodal Capabilities: Gemini excels at handling both text and image inputs. Your chatbot can understand images alongside user inquiries, enriching the conversational experience and enabling visual question-answering scenarios.
  • Advanced Language Understanding: Gemini’s language models are built on Google’s cutting-edge AI research, providing exceptional accuracy and fluency in text generation, summarization, and answering complex questions.
  • Flexibility: Gemini is adaptable to diverse tasks. You can fine-tune it for specific use cases, enhancing its performance within your conversational AI system.
  • Ease of Integration with Google Cloud: As part of Google Cloud Platform, Gemini integrates seamlessly with other GCP services like Cloud Storage, Cloud Functions, and Cloud Run, simplifying your development workflow and data management.
  • Scalability: Vertex AI, the platform hosting Gemini, provides the scalability needed to handle large volumes of chatbot interactions, ensuring your application performs well under load.

Setup

API Key

Before you can use the Gemini API, you must first obtain an API key. If you don’t already have one, create a key with one click in Google AI Studio.

Python SDK

The Python SDK for the Gemini API, is contained in the google-generativeai package. Install the dependency using pip:

pip install -q -U google-generativeai

Building Your Chatbot in Python

We’ll explore how to construct your chatbot: a command-line interface (CLI) for quick prototyping.

import google.generativeai as genai

GOOGLE_API_KEY='...'
genai.configure(api_key=GOOGLE_API_KEY)

# List available models.
print('Available models:')
for m in genai.list_models():
if 'generateContent' in m.supported_generation_methods:
print(f'- {m.name}')
model = genai.GenerativeModel('gemini-pro')

print('\nReady to chat...')
while True:
prompt= input("You: ")
response = model.generate_content(prompt)
result = ''.join([p.text for p in response.candidates[0].content.parts])
print("Gemini: ", result)

Now you can chat with Gemini:

$ python chatbot.py 

Available models:
- models/gemini-pro
- models/gemini-pro-vision

Ready to chat...

You: hello
Gemini: Greetings! How may I assist you today?

You: how old is Elon Musk?
Gemini: As of January 2023, Elon Musk is 51 years old. He was born on June 28, 1971 in Pretoria, South Africa.

Conclusion

Did you have fun? Hopefully, this exploration has shown you the exciting possibilities of integrating Google Cloud’s Gemini API into your chatbot projects. AI, and in particular large language models, are opening doors to more intuitive and helpful human-computer interactions. With this quick prototype, you’ve taken a significant step in the world of AI-powered conversational interfaces.

References

--

--