Freigeben über


Datenquelle – Pinecone (Preview)

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

Name Type Erforderlich Beschreibung
parameters Parameter True Die Parameter, die beim Konfigurieren von Pinecone verwendet werden sollen.
type Zeichenfolge True Muss pineconelauten.

Parameter

Name Type Erforderlich Beschreibung
environment Zeichenfolge True Der Umgebungsname von Pinecone.
index_name Zeichenfolge True Der Name des Pinecone-Datenbankindex.
fields_mapping FieldsMappingOptions True Angepasstes Feldzuordnungsverhalten, das beim Interagieren mit dem Suchindex verwendet werden soll
authentication ApiKeyAuthenticationOptions True Die Authentifizierungsmethode, die beim Zugriff auf die definierte Datenquelle verwendet werden soll.
embedding_dependency DeploymentNameVectorizationSource True Die Einbettungsabhängigkeit für die Vektorsuche
in_scope boolean False Gibt an, ob Abfragen auf die Verwendung von indizierten Daten beschränkt werden sollen. Der Standardwert ist True.
role_information Zeichenfolge False 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 False 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 False 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 Type Erforderlich Beschreibung
key Zeichenfolge True Der für die Authentifizierung zu verwendende API-Schlüssel.
type Zeichenfolge True Muss api_keylauten.

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 Type Erforderlich Beschreibung
deployment_name Zeichenfolge True Der Name der Einbettung der Modellimplementierung innerhalb derselben Azure OpenAI-Ressource.
type Zeichenfolge True Muss deployment_namelauten.

Feldzuordnungsoptionen

Die Einstellungen zum Steuern der Verarbeitung von Feldern.

Name Type Erforderlich Beschreibung
content_fields string[] True Die Namen von Indexfeldern, die als Inhalt behandelt werden sollen.
content_fields_separator Zeichenfolge False Das Trennmuster, das Inhaltsfelder verwenden sollen. Der Standardwert ist \n.
filepath_field Zeichenfolge False Der Name des Indexfelds, das als Dateipfad verwendet werden soll.
title_field Zeichenfolge False Der Name des Indexfelds, das als Titel verwendet werden soll
url_field Zeichenfolge False 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))