Datenquelle - Pinecone (Vorschau) (klassisch)

Gilt nur für:Foundry (klassisches) Portal. Dieser Artikel ist für das neue Foundry-Portal nicht verfügbar. Erfahren Sie mehr über das neue Portal.

Note

Links in diesem Artikel können Inhalte in der neuen Microsoft Foundry-Dokumentation anstelle der jetzt angezeigten Foundry-Dokumentation (klassisch) öffnen.

Important

Azure OpenAI On Your Data ist veraltet und steht kurz vor dem Ruhestand.

Microsoft hat die Einführung neuer Modelle für Azure OpenAI On Your Data eingestellt. Dieses Feature unterstützt nur die folgenden Modelle:

  • GPT-4o (Versionen 2024-05-13, 2024-08-06 und 2024-11-20)
  • GPT-4o-mini (Version 2024-07-18)
  • GPT-4.1, GPT-4.1-mini und GPT-4.1-nano (Version 2025-04-14)

Sobald die GPT-4.1-Modelle eingestellt werden funktionieren alle Azure OpenAI On Your Data API-Endpunkte und unterstützte Datenquellen-Connectoren nicht mehr.

Wir empfehlen, Azure OpenAI On Your Data Workloads zu Foundry Agent Service mit Foundry IQ zu migrieren, um Inhalte abzurufen und fundierte Antworten aus Ihren Daten zu generieren. Informationen zu den ersten Schritten finden Sie unter Connect a Foundry IQ Knowledge Base.

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 Type Required Description
parameters Parameters True Die Parameter, die beim Konfigurieren von Pinecone verwendet werden sollen.
type string True Muss sein pinecone.

Parameters

Name Type Required Description
environment string True Der Umgebungsname von Pinecone.
index_name string 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 string False Geben Sie dem Modell Anweisungen dazu, wie es sich verhalten soll, und auf jeden Kontext, auf den es beim Generieren einer Antwort verweisen soll. Sie können die Persönlichkeit des Assistenten beschreiben und ihnen mitteilen, wie Sie Antworten formatieren.
strictness integer False Die konfigurierte Strenge der Suchrelevanzfilterung. Je höher die Strenge, desto höher der Genauigkeit, aber niedrigerer Rückruf der Antwort. Der Standardwert ist 3.
top_n_documents integer False Die konfigurierte oberste 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 Required Description
key string True Der FÜR die Authentifizierung zu verwendende API-Schlüssel.
type string True Muss sein api_key.

Quelle für die Bereitstellungsnamenvektorisierung

Die Details der Vektorisierungsquelle, die von Azure OpenAI On Your Data bei der Anwendung der Vektorsuche verwendet wird. Diese Vektorisierungsquelle basiert auf einem internen Embeddings-Modell-Deployment-Namen in derselben Azure OpenAI-Ressource. Diese Vektorisierungsquelle ermöglicht es Ihnen, Vektorsuche ohne Azure OpenAI API-Schlüssel und ohne Azure OpenAI öffentlichen Netzwerkzugang zu verwenden.

Name Type Required Description
deployment_name string True Der Name der Einbettung des Modell-Deployments in derselben Azure OpenAI-Ressource.
type string True Muss sein deployment_name.

Feldzuordnungsoptionen

Die Einstellungen zum Steuern der Verarbeitung von Feldern.

Name Type Required Description
content_fields string[] True Die Namen von Indexfeldern, die als Inhalt behandelt werden sollen.
content_fields_separator string False Das Trennmuster, das Inhaltsfelder verwenden sollen. Der Standardwert ist \n.
filepath_field string False Der Name des Indexfelds, das als Dateipfad verwendet werden soll.
title_field string False Der Name des Indexfelds, das als Titel verwendet werden soll.
url_field string False Der Name des Indexfelds, das als URL verwendet werden soll.

Examples

Prerequisites:

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