17 releases
0.3.4 | Dec 23, 2024 |
---|---|
0.3.3 | Dec 21, 2024 |
0.3.2 | May 28, 2024 |
0.2.5 | May 4, 2024 |
0.1.4 | Dec 30, 2023 |
#378 in Web programming
566 downloads per month
Used in nuttx-pr-bot
51KB
975 lines
Google Generative AI API client (unofficial)
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.
Usage
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.
Contributing
Yes, please!! Create a fork and branch, make your contribution, and raise a PR.
Please see contributing for the rules; they are standard though.
Work status
google-generative-ai-rs = { version = "0.3.4", features = ["beta"] }
Using the beta
feature will enable the following:
gemini-1.5-pro-latest
gemini-1.0-pro
gemini-1.5-pro-latest")
gemini-1.5-flash")
"gemini-1.5-flash-8b")
gemini-2.0-flash-exp")
- or custom
Model::Custom(name)
- system instructions
json_mode
Note: gemini-1.0-pro
is deprecated and will be unavailable from 15th February 2025.
I do my best to release working code.
Status today is: "Happy path for both public and Vertex AI endpoints work for Gemini."
Outline tasks
- 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"
Dependencies
~19–32MB
~575K SLoC