Fonte de dados - Pinecone (pré-visualização) (clássico)

Aplica-se apenas a:Portal da fundição (clássico). Este artigo não está disponível para o novo portal da Foundry. Saiba mais sobre o novo portal.

Note

Os links neste artigo podem abrir conteúdo na nova documentação do Microsoft Foundry em vez da documentação do Foundry (clássico) que está a ver agora.

Important

O Azure OpenAI On Your Data está obsoleto e está a aproximar-se da reforma.

A Microsoft deixou de integrar novos modelos no Azure OpenAI On Your Data. Esta funcionalidade suporta apenas os seguintes modelos:

  • GPT-4o (versões 2024-05-13, 2024-08-06 e 20-11-2024)
  • GPT-4o-mini (versão 2024-07-18)
  • GPT-4.1, GPT-4.1-mini e GPT-4.1-nano (versão 2025-04-14)

Assim que os modelos GPT-4.1 se retiram, todos os endpoints e conectores de fonte de dados suportados Azure OpenAI On Your Data API deixam de funcionar.

Recomendamos que migre Azure cargas de trabalho OpenAI On Your Data para Foundry Agent Service com Foundry IQ para recuperar conteúdo e gerar respostas fundamentadas a partir dos seus dados. Para começar, consulte a base de conhecimento Connect a Foundry IQ.

As opções configuráveis do Pinecone ao usar o Azure OpenAI On Your Data. Esta fonte de dados é suportada a partir da versão 2024-02-15-previewda API.

Name Tipo Required Description
parameters Parameters True Os parâmetros a usar ao configurar o Pinecone.
type cadeia (de caracteres) True Deve ser pinecone.

Parameters

Name Tipo Required Description
environment cadeia (de caracteres) True O nome ambiental de Pinecone.
index_name cadeia (de caracteres) True O nome do índice da base de dados Pinecone.
fields_mapping FieldsMappingOptions True Comportamento personalizado de mapeamento de campos para usar ao interagir com o índice de pesquisa.
authentication ApiKeyAuthenticationOptions True O método de autenticação a usar ao aceder à fonte de dados definida.
embedding_dependency DeploymentNameVectorizationSource True A dependência de embedding para pesquisa vetorial.
in_scope boolean False Se as consultas devem ser restringidas ao uso de dados indexados. O padrão é True.
role_information cadeia (de caracteres) False Dê ao modelo instruções sobre como deve comportar-se e qualquer contexto que deve referir ao gerar uma resposta. Podes descrever a personalidade do assistente e dizer-lhe como formatar as respostas.
strictness número inteiro False A rigidez configurada do filtro de relevância de pesquisa. Quanto maior a rigor, maior a precisão mas menor a recordação da resposta. O padrão é 3.
top_n_documents número inteiro False O número superior configurado de documentos a apresentar para a consulta configurada. O padrão é 5.

Opções de autenticação por chave API

As opções de autenticação para Azure OpenAI On Your Data ao usar uma chave API.

Name Tipo Required Description
key cadeia (de caracteres) True A chave da API a usar para autenticação.
type cadeia (de caracteres) True Deve ser api_key.

Fonte de vetorização de nomes de implementação

Os detalhes da fonte de vetorização utilizada pelo Azure OpenAI On Your Data ao aplicar a pesquisa vetorial. Esta fonte de vetorização baseia-se num nome interno de implementação de modelo de embeddings no mesmo recurso Azure OpenAI. Esta fonte de vetorização permite-lhe usar a pesquisa vetorial sem a chave API do Azure OpenAI e sem acesso à rede pública do Azure OpenAI.

Name Tipo Required Description
deployment_name cadeia (de caracteres) True O nome de implementação do modelo de embedding dentro do mesmo recurso Azure OpenAI.
type cadeia (de caracteres) True Deve ser deployment_name.

Opções de mapeamento de campos

As definições para controlar como os campos são processados.

Name Tipo Required Description
content_fields string[] True Os nomes dos campos de índice que devem ser tratados como conteúdo.
content_fields_separator cadeia (de caracteres) False O padrão separador que os campos de conteúdo devem usar. O padrão é \n.
filepath_field cadeia (de caracteres) False O nome do campo índice a usar como caminho de ficheiro.
title_field cadeia (de caracteres) False O nome do campo índice a usar como título.
url_field cadeia (de caracteres) False O nome do campo índice a usar como URL.

Examples

Prerequisites:

  • Configure as atribuições de funções do utilizador para o recurso Azure OpenAI. Função obrigatória: Cognitive Services OpenAI User.
  • Instale o Az CLI e execute az login.
  • Defina as seguintes variáveis de ambiente: AzureOpenAIEndpoint, ChatCompletionsDeploymentName,Environment, IndexName, Key, EmbeddingDeploymentName.
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export Environment=testenvironment
export Key=***
export IndexName=pinecone-test-index
export EmbeddingDeploymentName=ada

Instale os pacotes openaipip mais recentes , azure-identity.

import os
from openai import AzureOpenAI
from azure.identity import DefaultAzureCredential, get_bearer_token_provider

endpoint = os.environ.get("AzureOpenAIEndpoint")
deployment = os.environ.get("ChatCompletionsDeploymentName")
environment = os.environ.get("Environment")
key = os.environ.get("Key")
index_name = os.environ.get("IndexName")
embedding_deployment_name = os.environ.get("EmbeddingDeploymentName")

token_provider = get_bearer_token_provider(
    DefaultAzureCredential(), "https://ai.azure.com/.default")

client = AzureOpenAI(
    azure_endpoint=endpoint,
    azure_ad_token_provider=token_provider,
    api_version="2024-02-15-preview",
)

completion = client.chat.completions.create(
    model=deployment,
    messages=[
        {
            "role": "user",
            "content": "Who is DRI?",
        },
    ],
    extra_body={
        "data_sources": [
            {
                "type": "pinecone",
                "parameters": {
                    "environment": environment,
                    "authentication": {
                        "type": "api_key",
                        "key": key
                    },
                    "index_name": index_name,
                    "fields_mapping": {
                        "content_fields": [
                            "content"
                        ]
                    },
                    "embedding_dependency": {
                        "type": "deployment_name",
                        "deployment_name": embedding_deployment_name
                    }
                }}
        ],
    }
)

print(completion.model_dump_json(indent=2))