パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v1.0.0

flutter_ai_toolkit

モバイル、デスクトップ、Web向けのFlutterアプリ用AIチャットウィジェットで、テキスト、画像、音声入力をサポートしています。

AndroidiOSWebmacOS
30日間ダウンロード
1.2万
いいね数
246
Pub ポイント
140

パッケージをインストール

flutter pub add flutter_ai_toolkit

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

Flutter AI Toolkit は、モバイル、デスクトップ、Web プラットフォーム向けの Flutter アプリケーションに最適化された多目的な AI サポートチャットウィジェットです。テキスト、画像、音声入力をサポートし、生成型 AI 機能をスムーズに統合できます。知的な対話インターフェースによるユーザー体験の向上を目指す開発者向けに設計されており、高度な AI 機能をアプリに埋め込む際に膨大な設定作業が不要です。最新の LLM を活用し、リアルタイムでの応答を提供するため、チャットボット、バーチャルアシスタント、インタラクティブコンテンツツールに最適です。このパッケージは Flutter Labs によってメンテナンスされており、GitHub でホストされており、透明性とコミュニティ参加を促進しています。

用途

  • AI駆動のカスタマーサポート
  • インタラクティブな学習アプリ
  • 音声対応のバーチャルアシスタント
  • コンテンツ生成ツール
  • リアルタイム共同チャット

主な機能

  • テキスト、画像、音声入力のサポート
  • クロスプラットフォーム互換性
  • リアルタイムAI応答
  • Flutterとの簡単な統合
  • チャットインターフェース用の組み込みUIコンポーネント

適している対象

  • AIチャット機能を開発する開発者
  • 教育アプリの作成者
  • カスタマーサービスアプリケーションチーム
  • 生産性ツールビルダー
  • ウェブおよびモバイルアプリスタートアップ

注意事項

  • バックエンドAIサービスの統合が必要です
  • 特定のLLM向けにカスタマイズが必要になる場合があります
  • パフォーマンスはネットワーク速度に依存します
  • 制限されたオフライン機能
  • 外部APIの利用可能性に依存

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

package:flutter_ai_toolkit pub package package publisher

Hello and welcome to the Flutter AI Toolkit!

The AI Toolkit is a set of AI chat-related widgets to make it easy to add an AI chat window to your Flutter app. The AI Toolkit is organized around an abstract LLM provider API that makes it easy to swap out the LLM provider that you'd like your chat provider to use. Out of the box, it comes with support for one LLM provider integration: Firebase AI.

Key features

  • Multi-turn chat: Maintains context across multiple interactions.
  • Streaming responses: Displays AI responses in real-time as they're generated.
  • Rich text display: Supports formatted text in chat messages.
  • Voice input: Allows users to input prompts using speech.
  • Multimedia attachments: Enables sending and receiving various media types.
  • Custom styling: Offers extensive customization to match your app's design.
  • Chat serialization/deserialization: Store and retrieve conversations between app sessions.
  • Pluggable LLM support: Implement a simple interface to plug in your own LLM.
  • Cross-platform support: Compatible with the Android, iOS, web, and macOS platforms.

Getting started

  1. Installation

    Add the following dependencies to your pubspec.yaml file:

    $ flutter pub add flutter_ai_toolkit firebase_ai firebase_core
    
  2. Configuration

    To use Firebase AI in your project, follow the steps described in Get started with the Gemini API using the Firebase AI Logic SDKs.

    After following these instructions, you're ready to use Firebase AI in your Flutter app. Start by initializing Firebase:

    import 'package:firebase_core/firebase_core.dart';
    import 'package:firebase_vertexai/firebase_ai.dart';
    import 'package:flutter_ai_toolkit/flutter_ai_toolkit.dart';
    
    // Other app imports...
    
    import 'firebase_options.dart'; // Generated by `flutterfire config`.
    
    void main() async {
      WidgetsFlutterBinding.ensureInitialized();
      await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
      runApp(const App());
    }
    
    // Implementation of App and other widgets...
    

    With Firebase properly initialized in your Flutter app, you're now ready to create an instance of the Firebase provider:

    class ChatPage extends StatelessWidget {
      const ChatPage({super.key});
    
      @override
      Widget build(BuildContext context) => Scaffold(
        appBar: AppBar(title: const Text(App.title)),
        body: LlmChatView(
          provider: FirebaseProvider(
            model: FirebaseAI.vertexAI().generativeModel(
              model: 'gemini-2.0-flash'
            ),
          ),
        ),
      );
    }
    

    The FirebaseAI class comes from the firebase_ai package. The AI Toolkit provides the FirebaseProvider class to expose Firebase AI to the LlmChatView. Note that you provide a model name that corresponds to one of the available model names.

    For a complete usage example, check out the vertex.dart sample.

  3. Set up device permissions

To enable your users to take advantage of features like voice input and media attachments, ensure that your app has the necessary permissions:

  • Network access:

To enable network access on macOS, add the following to your *.entitlements files:

<plist version="1.0">
    <dict>
      ...
      <key>com.apple.security.network.client</key>
      <true/>
    </dict>
</plist>

To enable network access on Android, ensure that your AndroidManifest.xml file contains the following:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    ...
    <uses-permission android:name="android.permission.INTERNET"/>
</manifest>
  • Microphone access: To enable voice input for users, update configs according to the permission and setup instructions for package:record.

  • File selection: To enable users to select and attach files, follow the usage instructions for package:file_selector.

  • Image selection: To enable users to take or select a picture from their device, refer to the installation instructions for package:image_picker.

Samples

To run the example apps in the example/lib directory, first replace the example/lib/firebase_options.dart file by running flutterfire config (you may need to manually delete this file first). The provided firebase_options.dart file is a placeholder for configuration needed by the examples.

Breaking changes and migration

The v0.9.8 release contained breaking changes. If you have code that uses a version prior to that, please see the migration notes.

Feedback

As you use this package, please log issues and feature requests as well as submit any code you'd like to contribute. We want your feedback and contributions to ensure that the AI Toolkit is as robust and useful as it can be for your real-world apps.

カテゴリー

依存関係

依存関係一覧 13 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。