Freigeben über


Datenquelle – Pinecone (Vorschau)

Die konfigurierbaren Optionen von Pinecone bei Verwendung von Azure OpenAI On Your Data. Diese Datenquelle wird ab API-Version 2024-02-15-previewunterstützt.

Name Typ Erforderlich BESCHREIBUNG
parameters Parameter Richtig Die Parameter, die beim Konfigurieren von Pinecone verwendet werden sollen.
type Schnur Richtig Muss pinecone sein.

Die Parameter

Name Typ Erforderlich BESCHREIBUNG
environment Schnur Richtig Der Umgebungsname von Pinecone.
index_name Schnur Richtig Der Name des Pinecone-Datenbankindex.
fields_mapping FieldsMappingOptions Richtig Angepasstes Feldzuordnungsverhalten, das beim Interagieren mit dem Suchindex verwendet werden soll.
authentication ApiKeyAuthenticationOptions Richtig Die Authentifizierungsmethode, die beim Zugriff auf die definierte Datenquelle verwendet werden soll.
embedding_dependency DeploymentNameVectorizationSource Richtig Die Einbettungsabhängigkeit für die Vektorsuche
in_scope Boolescher Wert Falsch Gibt an, ob Abfragen auf die Verwendung von indizierten Daten beschränkt werden sollen. Der Standardwert ist True.
role_information Schnur Falsch Gibt dem Modell Anweisungen dazu, wie es sich verhalten soll und auf welchen Kontext es beim Generieren einer Antwort verweisen soll. Sie können die Persönlichkeit des Assistenten beschreiben und ihm mitteilen, wie Antworten formatiert werden sollen.
strictness Integer Falsch Die konfigurierte Strenge der Suchrelevanzfilterung. Je höher die Strenge, desto höher der Genauigkeit, aber desto der niedrigerer Antwortabruf. Der Standardwert ist 3.
top_n_documents Integer Falsch Die konfigurierte maximale Anzahl von Dokumenten, die für die konfigurierte Abfrage bereitgestellt werden sollen. Der Standardwert ist 5.

API-Schlüsselauthentifizierungsoptionen

Die Authentifizierungsoptionen für Azure OpenAI On Your Data bei Verwendung eines API-Schlüssels.

Name Typ Erforderlich BESCHREIBUNG
key Schnur Richtig Der für die Authentifizierung zu verwendende API-Schlüssel.
type Schnur Richtig Muss api_key sein.

Quelle für die Bereitstellungsnamenvektorisierung

Die Details der Vektorisierungsquelle, die von Azure OpenAI On Your Data beim Anwenden der Vektorsuche verwendet wird. Diese Vektorisierungsquelle basiert auf einem internen Namen der Einbettung der Modellimplementierung in derselben Azure OpenAI-Ressource. Mit dieser Vektorisierungsquelle können Sie die Vektorsuche ohne Azure OpenAI-API-Schlüssel und ohne öffentlichen Azure OpenAI-Netzwerkzugriff verwenden.

Name Typ Erforderlich BESCHREIBUNG
deployment_name Schnur Richtig Der Name der Einbettung der Modellimplementierung innerhalb derselben Azure OpenAI-Ressource.
type Schnur Richtig Muss deployment_name sein.

Feldzuordnungsoptionen

Die Einstellungen zum Steuern der Verarbeitung von Feldern.

Name Typ Erforderlich BESCHREIBUNG
content_fields Zeichenfolge[] Richtig Die Namen von Indexfeldern, die als Inhalt behandelt werden sollen.
content_fields_separator Schnur Falsch Das Trennmuster, das Inhaltsfelder verwenden sollen. Der Standardwert ist \n.
filepath_field Schnur Falsch Der Name des Indexfelds, das als Dateipfad verwendet werden soll.
title_field Schnur Falsch Der Name des Indexfelds, das als Titel verwendet werden soll
url_field Schnur Falsch Der Name des Indexfelds, das als URL verwendet werden soll

Beispiele

Voraussetzungen:

  • Konfigurieren Sie die Rollenzuweisungen vom Benutzer zur Azure OpenAI-Ressource. Erforderliche Rolle: Cognitive Services OpenAI User.
  • Installieren Sie Az CLI und führen Sie az login aus.
  • Definieren Sie die folgenden Umgebungsvariablen: 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

Installieren Sie die neuesten pip-Pakete 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))