15 releases
0.3.2 | May 28, 2024 |
---|---|
0.3.1 | May 28, 2024 |
0.2.5 | May 4, 2024 |
0.2.4 | Mar 18, 2024 |
0.1.4 | Dec 30, 2023 |
#946 in Web programming
174 downloads per month
Used in nuttx-pr-bot
48KB
922 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.
The initial focus will be on the newer Gemini models, but the more stable and mature models will hopefully also be supported soon.
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
Potentially Breaking Changes
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."
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
~588K SLoC