miyabi_llm_google/lib.rs
1//! Google Gemini API client for Miyabi LLM
2//!
3//! Provides implementation of the `LlmClient` trait for Google's Gemini models.
4//!
5//! # Features
6//!
7//! - Gemini 1.5 Pro and Flash support
8//! - Streaming responses
9//! - Tool (function) calling
10//! - Multi-turn conversations
11//!
12//! # Example
13//!
14//! ```no_run
15//! use miyabi_llm_google::GoogleClient;
16//! use miyabi_llm_core::{LlmClient, Message, Role};
17//!
18//! # async fn example() -> Result<(), Box<dyn std::error::Error>> {
19//! let client = GoogleClient::from_env()?;
20//!
21//! let messages = vec![
22//! Message::new(Role::User, "What is the capital of France?"),
23//! ];
24//!
25//! let response = client.chat(messages).await?;
26//! println!("Response: {}", response);
27//! # Ok(())
28//! # }
29//! ```
30
31pub mod client;
32pub mod types;
33
34pub use client::GoogleClient;
35pub use types::{GeminiContent, GeminiMessage, GeminiPart, GeminiResponse, GeminiTool};