Recherche de fichiers

L'API Gemini permet la génération augmentée par récupération (RAG) grâce à l'outil de recherche de fichiers. La recherche de fichiers importe, segmente et indexe vos données pour permettre une récupération rapide des informations pertinentes en fonction d'un prompt fourni. Ces informations récupérées sont ensuite utilisées comme contexte pour le modèle, ce qui lui permet de fournir des réponses plus précises et pertinentes. La recherche de fichiers peut également fournir des fonctionnalités multimodales avec des embeddings de texte compatibles avec gemini-embedding-001 et des embeddings d'image/multimodaux compatibles avec gemini-embedding-2.

Le stockage de fichiers et la génération d'embeddings au moment de la requête sont sans frais. Vous ne payez que la création d'embeddings lorsque vous indexez vos fichiers pour la première fois, ainsi que le coût normal des jetons d'entrée / sortie du modèle Gemini. Ce nouveau modèle de facturation permet de créer et de faire évoluer l'outil de recherche de fichiers plus facilement et de manière plus économique. Pour en savoir plus, consultez la section Tarifs.

Importer directement dans le dépôt de recherche de fichiers

Cet exemple montre comment importer directement un fichier dans le magasin de recherche de fichiers :

Python

from google import genai
from google.genai import types
import time

client = genai.Client()

file_search_store = client.file_search_stores.create(
    config={
        'display_name': 'your-fileSearchStore-name',
        'embedding_model': 'models/gemini-embedding-2'
    }
)

operation = client.file_search_stores.upload_to_file_search_store(
  file='sample.txt',
  file_search_store_name=file_search_store.name,
  config={
      'display_name' : 'display-file-name',
  }
)

while not operation.done:
    time.sleep(5)
    operation = client.operations.get(operation)

interaction = client.interactions.create(
    model="gemini-3.6-flash",
    input="Can you tell me about [insert question]",
    tools=[{
        "type": "file_search",
        "file_search_store_names": [file_search_store.name]
    }]
)

for step in interaction.steps:
    if step.type == "model_output":
        for content_block in step.content:
            if content_block.type == "text":
                print(content_block.text)
                if content_block.annotations:
                    print("\nSources:")
                    for annotation in content_block.annotations:
                        if annotation.type == "file_citation":
                            print(f"  - {annotation.file_name}: {annotation.source}")

JavaScript

import { GoogleGenAI } from '@google/genai';

const ai = new GoogleGenAI({});

async