Condividi tramite


Origine dati - Pinecone (anteprima)

Le opzioni configurabili di Pinecone quando si usa Azure OpenAI On Your Data. Questa origine dati è supportata nella versione dell'API 2024-02-15-preview.

Nome Digita Obbligatorio Descrizione
parameters Parametri Vero I parametri da usare durante la configurazione di Pinecone.
type string True Deve essere pinecone.

Parametri

Nome Digita Obbligatorio Descrizione
environment stringa True Nome dell'ambiente di Pinecone.
index_name string True Nome dell'indice di database Pinecone.
fields_mapping FieldsMappingOptions Vero Comportamento personalizzato di mapping dei campi da usare durante l'interazione con l'indice di ricerca.
authentication ApiKeyAuthenticationOptions Vero Metodo di autenticazione da usare per l'accesso all'origine dati definita.
embedding_dependency DeploymentNameVectorizationSource Vero Dipendenza di incorporamento per la ricerca vettoriale.
in_scope boolean Falso Indica se le query devono essere limitate all'uso di dati indicizzati. Il valore predefinito è True.
role_information string Falso Fornire al modello le istruzioni sul comportamento e su qualsiasi contesto a cui deve fare riferimento durante la generazione di una risposta. È possibile descrivere la personalità dell'assistente e indicargli come formattare le risposte.
strictness integer Falso La rigidità configurata del filtro di pertinenza della ricerca. Maggiore è la rigidità, maggiore sarà la precisione, ma minore il richiamo della risposta. Il valore predefinito è 3.
top_n_documents integer Falso 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 On Your Data quando si usa una chiave API.

Nome Digita Obbligatorio Descrizione
key stringa True La chiave API da usare per l’autenticazione.
type string True Deve essere api_key.

Origine di vettorizzazione del nome della distribuzione

Dettagli dell'origine di vettorizzazione, usati da Azure OpenAI sui dati quando si applica la ricerca vettoriale. Questa origine di vettorizzazione si basa sul nome della distribuzione di un modello di incorporamento interno nella stessa risorsa Azure OpenAI. Questa origine di vettorizzazione consente di usare la ricerca vettoriale senza chiave API di Azure OpenAI e senza accesso alla rete pubblica di Azure OpenAI.

Nome Digita Obbligatorio Descrizione
deployment_name stringa True Nome della distribuzione del modello di incorporamento nella 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.

Nome Digita Obbligatorio Descrizione
content_fields string[] Vero I nomi dei campi di indice che devono essere gestiti come contenuto.
content_fields_separator string Falso Il modello separatore che devono usare i campi di contenuto. Il valore predefinito è \n.
filepath_field string Falso Il nome del campo di indice da usare come percorso file.
title_field string Falso Il nome del campo indice da usare come titolo.
url_field string Falso Nome del campo di indice da usare come URL.

Esempi

Prerequisiti:

  • Configurare le assegnazioni di ruolo dall'utente alla risorsa OpenAI di Azure. Ruolo richiesto: Cognitive Services OpenAI User.
  • Installare l'interfaccia della riga di comando Az ed eseguire az login.
  • Definire le variabili di ambiente seguenti: 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

Installare i pacchetti pip più recenti openai, 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://cognitiveservices.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))