GEMINI 2.0 de Google, avec le puissant modèle Flash Gemini 2.0, améliore considérablement le traitement d'image et audio. Ce tutoriel vous guide à travers la construction d'un assistant visuel capable d'interpréter le contenu à l'écran et de répondre aux questions connexes.
Voici une démo du projet:
Étape 2: Configuration de l'environnement de développement
Ce projet utilise plusieurs packages Python: google-genai
, pyautogui
, python-dotenv
, sounddevice
et numpy
. Installez-les à l'aide de pip:
pip install google-genai pyautogui python-dotenv sounddevice numpy
Alternativement, utilisez un environnement conda:
conda create --name gemini python=3.11 conda activate gemini pip install -r requirements.txt
(en supposant requirements.txt
répertorie les packages nécessaires).
Étape 3: Construire un chatbot basé sur le texte
Cette section montre la création d'un chatbot de ligne de commande à l'aide du modèle Flash Gemini 2 de Google et de la bibliothèque google.genai
. Reportez-vous à la documentation officielle de Gemini 2.0 pour le dépannage. Le code complet est dans text.py
(référentiel github).
python-dotenv
pour gérer les variables d'environnement à partir d'un fichier .env
: from google import genai from dotenv import load_dotenv import os load_dotenv() client = genai.Client(api_key=os.getenv("GOOGLE_API_KEY"), http_options={"api_version": "v1alpha"}) print("Connected to the AI model!")
asyncio
pour des demandes asynchrones efficaces: import asyncio async def main(): # ... (client initialization as above) ... async with client.aio.live.connect(model="gemini-2.0-flash-exp", config={"response_modalities": ["TEXT"]}) as session: # ... (send and receive messages) ... asyncio.run(main())
Étape 4: Intégration du mode audio
Activer les réponses audio en modifiant le code:
sounddevice
et numpy
. config = {"response_modalities": ["AUDIO"]}
. sounddevice.OutputStream
. audio.py
dans le référentiel GitHub pour le code complet). Étape 5: Extension des fonctionnalités avec des outils
Gemini 2.0 permet l'intégration des outils. Cet exemple démontre un outil de lecture de fichiers:
def load_file_content(filename): try: with open(filename, "rt") as f: return {"result": f.read()} except Exception as e: return {"error": "Could not load file content"}
Définition du schéma: Définissez un schéma pour la fonction, y compris le nom, la description, les paramètres et la sortie.
Enregistrement des outils: Fournir le schéma à la configuration du modèle: config = {"tools": [{"function_declarations": [load_file_content_schema]}], "response_modalities": ["TEXT"]}
.
Gestion des appels de fonction: Profiter des appels d'outils à partir du modèle, exécutez la fonction correspondante et renvoyez le résultat. (Voir tool.py
et tool_spec.py
dans le référentiel). L'exemple montre également comment utiliser des outils intégrés comme google_search
et code_execution
.
Étape 6: Création d'un assistant visuel
Cette section détaille la construction d'un assistant visuel qui analyse les captures d'écran. En raison des limitations de l'API, cela utilise un flux de travail de demande de demande synchrone.
Demande synchrone: Utiliser client.models.generate_content
pour le traitement d'image synchrone.
Gestion d'images: Utilisez PIL pour charger et redimensionner les images.
Capture de capture d'écran: Utiliser pyautogui
pour capturer des captures d'écran.
Implémentation de l'assistant visuel: Combinez la capture de capture d'écran, le traitement d'image et la manipulation rapide pour créer un assistant visuel interactif. Incluez un system_instruction
pour ignorer la fenêtre du terminal. (Voir vision.py
dans le référentiel).
Conclusion
Ce tutoriel montre les capacités de Gemini 2.0 Flash dans la création de chatbots avec du texte et de l'audio, intégrant des outils pour des fonctionnalités étendues et créant un assistant visuel. Bien que l'API actuelle ait des limites, le potentiel d'applications multimodales en temps réel est passionnante. Une exploration plus approfondie peut impliquer l'utilisation de la détection d'objets de Gemini 2.0 et des capacités de compréhension 3D.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!