An unofficial rust-based client library to interact with the Google generative AI API.
The goal is to emulate the Google AI Python SDK but in Rust.
The initial focus will be on the newer Gemini models, but the more stable and mature models will hopefully also be supported soon.
Start point, gain familiarity with Google's Gemini generative AI.
-
For the public Gemini endpoint, see the Gemini API Overview docs
-
Similarly, for the Vertex AI endpoint, see the Vertex AI Gemini API docs
See examples and follow the in-comment instructions. The code is (hopefully) easy and readable.
Yes, please!! Create a fork and branch, make your contribution, and raise a PR.
Please see contributing for the rules; they are standard though.
Version 0.3.0
may lead to breaking changes. This version adds in some beta
features and I have now added a feature flag to enable these.
google-generative-ai-rs = { version = "0.3.0", features = ["beta"] }
Using the beta
feature will enable the following:
gemini-1.5-pro-latest
- system instructions
json_mode
I do my best to release working code.
Status today is: "Happy path for both public and Vertex AI endpoints work for Gemini."
- Create request and response structs
- Create the public API happy path for Gemini
- Create the Vertex AI (private) API happy path for Gemini
- Create basic error handling
- get - see: "https://ai.google.dev/tutorials/rest_quickstart#get_model" and "https://ai.google.dev/tutorials/rest_quickstart#list_models"
- countTokens - see: "https://ai.google.dev/tutorials/rest_quickstart#count_tokens"
- function - see "https://cloud.google.com/vertex-ai/docs/generative-ai/multimodal/function-calling"
- embedContent - see: "https://ai.google.dev/tutorials/rest_quickstart#embedding"