Fonte dati - Pinecone (anteprima) (classico)

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.

Importante

Azure OpenAI On Your Data è obsoleto e si avvicina al pensionamento. Il servizio verrà ritirato il 14 ottobre 2026

Microsoft ha smesso di integrare nuovi modelli su Azure OpenAI On Your Data. Questa funzione supporta solo i seguenti modelli:

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

Consigliamo di migrare Azure carichi di lavoro OpenAI On Your Data verso Foundry Agent Service con Foundry IQ per recuperare contenuti e generare risposte concrete dai tuoi dati. Per iniziare, consulta la base di conoscenza di Collega un QI di Foundry.

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

Name Tipo Obbligatorio Description
parameters Parametri True I parametri da usare nella configurazione di Pinecone.
type string True Deve essere pinecone.

Parameters

Name Tipo Obbligatorio Description
environment string True Il nome ambientale è Pinecone.
index_name string True Il nome dell'indice del database Pinecone.
fields_mapping FieldsMappingOptions True Comportamento personalizzato della mappatura dei campi da utilizzare durante l'interazione con l'indice di ricerca.
authentication ApiKeyAuthenticationOptions True Il metodo di autenticazione da utilizzare quando si accede alla sorgente dati definita.
embedding_dependency DeploymentNameVectorizationSource True La dipendenza di embedding per la ricerca vettoriale.
in_scope boolean Falso Se le query dovrebbero essere limitate all'uso di dati indicizzati. Il valore predefinito è True.
role_information string Falso Fornisci al modello istruzioni su come dovrebbe comportarsi e qualsiasi contesto che dovrebbe consultare quando genera una risposta. Puoi descrivere la personalità dell'assistente e spiegargli come formattare le risposte.
strictness integer Falso La rigorosità configurata del filtraggio della rilevanza di ricerca. Più alta è la severità, maggiore è la precisione ma minore è la memoria della risposta. Il valore predefinito è 3.
top_n_documents integer Falso Il numero superiore configurato di documenti da presentare per la query configurata. Il valore predefinito è 5.

Opzioni di autenticazione con chiave API

Le opzioni di autenticazione per Azure OpenAI sui tuoi dati quando si utilizza una chiave API.

Name Tipo Obbligatorio Description
key string True La chiave API da usare per l'autenticazione.
type string True Deve essere api_key.

Sorgente di vettorizzazione dei nomi del deployment

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 Tipo Obbligatorio 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 mappatura dei campi

Le impostazioni per controllare come vengono elaborati i campi.

Name Tipo Obbligatorio Description
content_fields string[] True I nomi dei campi indice che dovrebbero essere trattati come contenuti.
content_fields_separator string Falso Il pattern separatore che i campi di contenuto dovrebbero usare. Il valore predefinito è \n.
filepath_field string Falso Il nome del campo indice da usare come percorso file.
title_field string Falso Il nome del campo indice da usare come titolo.
url_field string Falso Il nome del campo indice da usare come URL.

Examples

Prerequisiti:

  • Configura le assegnazioni dei ruoli dall'utente alla risorsa Azure OpenAI. Ruolo richiesto: Cognitive Services OpenAI User.
  • Installa la CLI di Arizona e esegui az login.
  • Definiamo le seguenti variabili ambientali: 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

Installa gli ultimi pacchetti openaipip , 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))