Origine dati - Pinecone (anteprima) (versione classica)

Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry. Altre informazioni sul nuovo portale.

Note

I collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (versione classica) visualizzata.

Important

Azure OpenAI sui dati è deprecato e si avvicina al ritiro.

Microsoft ha interrotto l'onboarding di nuovi modelli in Azure OpenAI sui dati. Questa funzionalità supporta solo i modelli seguenti:

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

Once i modelli GPT-4.1 vengono ritirati, tutti Azure OpenAI negli endpoint dell'API dati e i connettori dell'origine dati supportati smetteranno di funzionare.

È consigliabile eseguire la migrazione di Azure OpenAI nei carichi di lavoro dei dati a Foundry Agent Service con Foundry IQ per recuperare il contenuto e generare risposte a terra dai dati. Per iniziare, vedere Connettere una Knowledge Base di IQ Foundry.

Le opzioni configurabili di Pinecone quando si utilizza Azure OpenAI sui tuoi dati. Questa origine dati è supportata a partire dalla versione 2024-02-15-previewdell'API .

Name Type Required Description
parameters Parameters True Parametri da usare durante la configurazione di Pinecone.
type string True Deve essere pinecone.

Parameters

Name Type Required Description
environment string True Nome dell'ambiente di Pinecone.
index_name string True Nome dell'indice di database Pinecone.
fields_mapping FieldsMappingOptions True Comportamento personalizzato di mapping dei campi da usare durante l'interazione con l'indice di ricerca.
authentication ApiKeyAuthenticationOptions True Metodo di autenticazione da utilizzare per l'accesso all'origine dati definita.
embedding_dependency DeploymentNameVectorizationSource True Dipendenza di incorporamento per la ricerca vettoriale.
in_scope boolean False Indica se le query devono essere limitate all'uso di dati indicizzati. Il valore predefinito è True.
role_information string False Fornire le istruzioni del modello sul comportamento e su qualsiasi contesto a cui deve fare riferimento durante la generazione di una risposta. È possibile descrivere la personalità dell'assistente e dirgli come formattare le risposte.
strictness integer False La rigidità configurata del filtro per pertinenza della ricerca. Maggiore è la rigidità, maggiore è la precisione ma il richiamo inferiore della risposta. Il valore predefinito è 3.
top_n_documents integer False Numero massimo di documenti configurato per la funzionalità per la query configurata. Il valore predefinito è 5.

Opzioni di autenticazione della chiave API

Le opzioni di autenticazione per Azure OpenAI nei dati quando si usa una chiave API.

Name Type Required Description
key string True Chiave API da usare per l'autenticazione.
type string True Deve essere api_key.

Origine vettorializzazione del nome della distribuzione

I dettagli della sorgente di vettorizzazione, utilizzata da Azure OpenAI On Your Data quando applica la ricerca vettoriale. Questa sorgente di vettorizzazione si basa su un nome interno di implementazione di un modello di embedding nella stessa risorsa Azure OpenAI. Questa sorgente di vettorizzazione ti permette di utilizzare la ricerca vettoriale senza l'api-key OpenAI di Azure e senza l'accesso alla rete pubblica di Azure OpenAI.

Name Type Required Description
deployment_name string True Il nome di distribuzione del modello di embedding all'interno della stessa risorsa Azure OpenAI.
type string True Deve essere deployment_name.

Opzioni di mapping dei campi

Impostazioni per controllare la modalità di elaborazione dei campi.

Name Type Required Description
content_fields string[] True Nomi dei campi di indice che devono essere considerati come contenuto.
content_fields_separator string False Modello separatore che i campi di contenuto devono usare. Il valore predefinito è \n.
filepath_field string False Nome del campo di indice da utilizzare come percorso file.
title_field string False Nome del campo di indice da utilizzare come titolo.
url_field string False Nome del campo di indice da usare come URL.

Examples

Prerequisites:

  • Configura le assegnazioni dei ruoli dall'utente alla risorsa Azure OpenAI. Ruolo obbligatorio: Cognitive Services OpenAI User.
  • Installare l'interfaccia della riga di comando di Az ed eseguire az login.
  • Definire le variabili di ambiente seguenti: , , IndexName, , EmbeddingDeploymentNameKey.EnvironmentChatCompletionsDeploymentNameAzureOpenAIEndpoint
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export Environment=testenvironment
export Key=***
export IndexName=pinecone-test-index
export EmbeddingDeploymentName=ada

Installare i pacchetti openaipip più recenti , 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))