For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal
Theme

Pesquisa em arquivos

Permita que os modelos pesquisem informações relevantes nos seus arquivos antes de gerar uma resposta.

A pesquisa em arquivos é uma ferramenta disponível na API Responses. Ela permite que os modelos recuperem informações de uma base de conhecimento formada por arquivos enviados anteriormente, usando pesquisa semântica e pesquisa por palavras-chave. Ao criar repositórios vetoriais e enviar arquivos para eles, você pode complementar o conhecimento dos modelos dando a eles acesso a essas bases de conhecimento, chamadas vector_stores.

Para saber como funcionam os repositórios vetoriais e a pesquisa semântica, consulte nosso guia de recuperação de informações.

A OpenAI hospeda e gerencia a ferramenta, então você não precisa escrever código para executá-la. Quando o modelo decide usá-la, ele chama a ferramenta automaticamente, recupera informações dos seus arquivos e retorna um resultado.

Como usar

Antes de usar a pesquisa em arquivos com a API Responses, você precisa configurar uma base de conhecimento em um repositório vetorial e enviar arquivos para ele.

Depois de configurar a base de conhecimento, você pode incluir a ferramenta file_search na lista de ferramentas disponíveis para o modelo e fornecer a lista de repositórios vetoriais em que ele deve pesquisar.

Ferramenta de pesquisa em arquivos
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="What is deep research by OpenAI?",
    tools=[{"type": "file_search", "vector_store_ids": ["<vector_store_id>"]}],
)
print(response)

Quando o modelo chama a ferramenta, você recebe uma resposta com vários itens de saída.

  1. Um item do tipo file_search_call, que contém o ID da chamada de pesquisa em arquivos.
  2. Um item do tipo message, que contém a resposta do modelo e as referências aos arquivos citados.
Resposta da pesquisa em arquivos
{
  "output": [
    {
      "type": "file_search_call",
      "id": "fs_67c09ccea8c48191ade9367e3ba71515",
      "status": "completed",
      "queries": ["What is deep research?"],
      "search_results": null
    },
    {
      "id": "msg_67c09cd3091c819185af2be5d13d87de",
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Deep research is a sophisticated capability that allows for extensive inquiry and synthesis of information across various domains. It is designed to conduct multi-step research tasks, gather data from multiple online sources, and provide comprehensive reports similar to what a research analyst would produce. This functionality is particularly useful in fields requiring detailed and accurate information...",
          "annotations": [
            {
              "type": "file_citation",
              "index": 992,
              "file_id": "file-2dtbBZdjtDKS8eqWxqbgDi",
              "filename": "deep_research_blog.pdf"
            },
            {
              "type": "file_citation",
              "index": 992,
              "file_id": "file-2dtbBZdjtDKS8eqWxqbgDi",
              "filename": "deep_research_blog.pdf"
            },
            {
              "type": "file_citation",
              "index": 1176,
              "file_id": "file-2dtbBZdjtDKS8eqWxqbgDi",
              "filename": "deep_research_blog.pdf"
            },
            {
              "type": "file_citation",
              "index": 1176,
              "file_id": "file-2dtbBZdjtDKS8eqWxqbgDi",
              "filename": "deep_research_blog.pdf"
            }
          ]
        }
      ]
    }
  ]
}

Como personalizar a recuperação de informações

Limitar o número de resultados

Ao usar a ferramenta de pesquisa em arquivos com a API Responses, você pode definir quantos resultados deseja recuperar dos repositórios vetoriais. Limitar esse número pode reduzir o uso de tokens e a latência, mas também pode diminuir a qualidade da resposta.

Limitar o número de resultados
response = client.responses.create(
    model="gpt-6-astra",
    input="What is deep research by OpenAI?",
    tools=[
        {
            "type": "file_search",
            "vector_store_ids": ["<vector_store_id>"],
            "max_num_results": 2,
        }
    ],
)
print(response)

Incluir os resultados da pesquisa na resposta

Você pode ver anotações (referências a arquivos) no texto de saída, mas, por padrão, a chamada de pesquisa em arquivos não retorna os resultados da pesquisa.

Para incluir os resultados da pesquisa na resposta, use o parâmetro include ao criar a resposta.

Incluir os resultados da pesquisa
response = client.responses.create(
    model="gpt-6-astra",
    input="What is deep research by OpenAI?",
    tools=[
        {
            "type": "file_search",
            "vector_store_ids": ["<vector_store_id>"],
        }
    ],
    include=["file_search_call.results"],
)
print(response)

Filtrar por metadados

Você pode filtrar os resultados da pesquisa com base nos metadados dos arquivos. Consulte nosso guia de recuperação de informações para saber mais sobre os tópicos a seguir.

Filtrar por metadados
response = client.responses.create(
    model="gpt-6-astra",
    input="What is deep research by OpenAI?",
    tools=[
        {
            "type": "file_search",
            "vector_store_ids": ["<vector_store_id>"],
            "filters": {
                "type": "in",
                "key": "category",
                "value": ["blog", "announcement"],
            },
        }
    ],
)
print(response)

Arquivos compatíveis

Para os tipos MIME text/, a codificação deve ser utf-8, utf-16 ou ascii.

Formato de arquivo Tipo MIME
.c text/x-c
.cpp text/x-c++
.cs text/x-csharp
.css text/css
.doc application/msword
.docx application/vnd.openxmlformats-officedocument.wordprocessingml.document
.go text/x-golang
.html text/html
.java text/x-java
.js text/javascript
.json application/json
.md text/markdown
.pdf application/pdf
.php text/x-php
.pptx application/vnd.openxmlformats-officedocument.presentationml.presentation
.py text/x-python
.py text/x-script.python
.rb text/x-ruby
.sh application/x-sh
.tex text/x-tex
.ts application/typescript
.txt text/plain

Notas de uso

Disponibilidade por APILimites de taxaObservações

Build
500 RPM

Launch e Grow
1000 RPM

Preços
ZDR e residência de dados