Google Gemini
Portkey provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including Google Gemini APIs.
With Portkey, you can take advantage of features like fast AI gateway access, observability, prompt management, and more, all while ensuring the secure management of your LLM API keys through a virtual key system.
google
Portkey SDK Integration with Google Gemini Models
Portkey provides a consistent API to interact with models from various providers. To integrate Google Gemini with Portkey:
1. Install the Portkey SDK
Add the Portkey SDK to your application to interact with Google Gemini’s API through Portkey’s gateway.
2. Initialize Portkey with the Virtual Key
To use Gemini with Portkey, get your API key from here, then add it to Portkey to create the virtual key.
3. Invoke Chat Completions with Google Gemini
Use the Portkey instance to send requests to Google Gemini. You can also override the virtual key directly in the API call if needed.
Portkey supports the system_instructions
parameter for Google Gemini 1.5 - allowing you to control the behavior and output of your Gemini-powered applications with ease.
Simply include your Gemini system prompt as part of the {"role":"system"}
message within the messages
array of your request body. Portkey Gateway will automatically transform your message to ensure seamless compatibility with the Google Gemini API.
Function Calling
Portkey supports function calling mode on Google’s Gemini Models. Explore this Cookbook for a deep dive and examples:
Document, Video, Audio Processing with Gemini
Gemini supports attaching mp4
, pdf
, jpg
, mp3
, wav
, etc. file types to your messages.
Gemini Docs:
Using Portkey, here’s how you can send these media files:
This same message format also works for all other media types — just send your media file in the url
field, like "url": "gs://cloud-samples-data/video/animals.mp4"
.
Your URL should have the file extension, this is used for inferring MIME_TYPE
which is a required parameter for prompting Gemini models with files.
Sending base64 Image
Here, you can send the base64
image data along with the url
field too:
Grounding with Google Search
Vertex AI supports grounding with Google Search. This is a feature that allows you to ground your LLM responses with real-time search results.
Grounding is invoked by passing the google_search
tool (for newer models like gemini-2.0-flash-001), and google_search_retrieval
(for older models like gemini-1.5-flash) in the tools
array.
If you mix regular tools with grounding tools, vertex might throw an error saying only one tool can be used at a time.
Extended Thinking (Reasoning Models) (Beta)
The assistants thinking response is returned in the response_chunk.choices[0].delta.content_blocks
array, not the response.choices[0].message.content
string.
Models like gemini-2.5-flash-preview-04-17
gemini-2.5-flash-preview-04-17
support extended thinking.
This is similar to openai thinking, but you get the model’s reasoning as it processes the request as well.
Note that you will have to set strict_open_ai_compliance=False
in the headers to use this feature.
Single turn conversation
To disable thinking for gemini models like gemini-2.5-flash-preview-04-17
, you are required to explicitly set budget_tokens
to 0
.
Gemini grounding mode may not work via Portkey SDK. Contact [email protected] for assistance.
Next Steps
The complete list of features supported in the SDK are available on the link below.
SDK
You’ll find more information in the relevant sections: