搜尋套件、儲存庫與 APP 分類

套件詳情v0.1.2

google_gemini

適用於 Flutter 的 Google Gemini SDK。此套件在您的 Flutter 應用程式與 Google 革命性的 Gemini AI 之間提供強大的橋接。

AndroidiOSmacOSWindowsLinux
近 30 天下載
154
喜歡數
69
Pub 分數
160

安裝套件

flutter pub add google_gemini

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

Google Gemini SDK for Flutter 能夠實現 Google 先進 Gemini AI 與 Flutter 應用的無縫整合。它提供一個強大的橋樑,讓開發者能直接在行動與桌面應用中運用生成式 AI 功能,例如自然語言理解、文字產生與多模式推理。此套件專為尋求尖端 AI 功能的開發者設計,支援 Android、iOS、macOS、Windows 與 Linux 平台。透過 pub add 簡單設定,賦能應用實現智慧且具情境感知的互動。

適用情境

  • AI 驅動的聊天介面
  • 應用中的內容產生
  • 多模態圖像和文本分析
  • 智慧助理功能
  • 即時語言翻譯

主要特色

  • 與 Google Gemini 的原生整合
  • 對多個平台的支援
  • 簡單 pub add 安裝
  • 即時AI回應
  • 跨平台相容性

適合對象

  • 開發 AI 增強應用程式的開發者
  • 整合生成式AI的團隊
  • 行動和桌面應用程式創建者
  • 生產力和內容工具

使用建議

  • 需要網路連線以進行API呼叫
  • 依賴 Google Cloud 憑證
  • 可能會產生基於使用的費用
  • 有限的離線功能
  • API 速率限制適用

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

Google DeepMind Gemini

Google Gemini is a set of cutting-edge large language models (LLMs) designed to be the driving force behind Google's future AI initiatives.

Gemini

This package provides a powerful bridge between your Flutter application and Google's revolutionary Gemini AI. It empowers you to seamlessly integrate Gemini's capabilities into your app, unlocking a world of possibilities for building innovative, intelligent, and engaging experiences that redefine user interaction.

Example

Features

Getting started

To get the API key you have to create a Gemini account on the ai.google.dev. Once you have to Gemini API key, you are ready to start building.

Create Gemini Instance

final gemini = GoogleGemini(
  apiKey: "--- Your Gemini Api Key --- ",
);

Generate content

With Gemini you use both text and image data for prompting, depending on what model variation you use.

For example, you can generate text using text prompt with the gemini-pro model and use both text and image data to prompt the gemini-pro-vision model

Text only input

This feature lets you perform natural language processing (NLP) tasks such as text completion and summarization.

gemini.generateFromText("Tell me a story")
.then((value) => print(value.text))
.catchError((e) => print(e));
Text and image input

You can send a text prompt with an image to the gemini-pro-vision model to perform a vision related task. For example, captioning an image or identifying what's in an image.

File image = File("assets/images.png")

gemini.generateFromTextAndImages(
  query: "What is this picture?",
  image: image
)
.then((value) => print(value.text))
.catchError((e) => print(e));

Configuration

Every prompt you send to the model includes parameter values that control how the model generates a response. The model can generate different results for different parameter values.

Model parameters

The most common model parameters are:

  1. Max output tokens: Specifies the maximum number of tokens that can be generated in the response. A token is approximately four characters. 100 tokens correspond to roughly 60-80 words.

  2. Temperature: The temperature controls the degree of randomness in token selection. Lower temperatures are good for prompts that require a more deterministic or less open-ended response, while higher temperatures can lead to more diverse or creative results.

  3. topK: The topK parameter changes how the model selects tokens for output.

  4. topP: The topP parameter changes how the model selects tokens for output.

  5. stop_sequences: Set a stop sequence to tell the model to stop generating content. A stop sequence can be any sequence of characters. Try to avoid using a sequence of characters that may appear in the generated content.

Example

// Generation Configuration
final config = GenerationConfig(
    temperature: 0.5,
    maxOutputTokens: 100,
    topP: 1.0,
    topK: 40,
    stopSequences: []
);

// Gemini Instance
final gemini = GoogleGemini(
    apiKey: "--- Your Gemini Api Key ---",
    config: config // pass the config here
);
Safety settings

Safety settings are part of the request you send to the text service. It can be adjusted for each request you make to the API.

Categories

These categories cover various kinds of harms that developers may wish to adjust.

HARM_CATEGORY_UNSPECIFIED
HARM_CATEGORY_DEROGATORY
HARM_CATEGORY_TOXICITY
HARM_CATEGORY_VIOLENCE
HARM_CATEGORY_SEXUAL
HARM_CATEGORY_MEDICAL
HARM_CATEGORY_DANGEROUS
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_DANGEROUS_CONTENT	
Threshold

Block at and beyond a specified harm probability.

HARM_BLOCK_THRESHOLD_UNSPECIFIED	
BLOCK_LOW_AND_ABOVE	
BLOCK_MEDIUM_AND_ABOVE
BLOCK_ONLY_HIGH	
BLOCK_NONE

Example

// Safety Settings
final safety1 = SafetySettings(
  category: SafetyCategory.HARM_CATEGORY_DANGEROUS_CONTENT,
  threshold: SafetyThreshold.BLOCK_ONLY_HIGH
);


//  Gemini Instance
final gemini = GoogleGemini(
  apiKey:"--- Your Gemini Api Key ---",
  safetySettings: [
    safety1,
    // safety2
  ]  
);

Build multi-turn conversations

// In progress

Use streaming for faster interactions

// In progress

Gemini Response

// In progress

Gemini Methods

// In progress

所屬分類

依賴

依賴清單 1 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。