Delen via


Gegevensbron - Pinecone (preview)

De configureerbare opties van Pinecone bij het gebruik van Azure OpenAI op uw gegevens. Deze gegevensbron wordt ondersteund in api-versie 2024-02-15-preview.

Name Type Vereist Beschrijving
parameters Parameters Waar De parameters die moeten worden gebruikt bij het configureren van Pinecone.
type tekenreeks Waar Moet pinecone zijn.

Parameters

Naam Type Vereist Beschrijving
environment tekenreeks Waar De omgevingsnaam van Pinecone.
index_name tekenreeks Waar De naam van de database-index pinecone.
fields_mapping FieldsMappingOptions Waar Aangepast veldtoewijzingsgedrag dat moet worden gebruikt bij interactie met de zoekindex.
authentication ApiKeyAuthenticationOptions Waar De verificatiemethode die moet worden gebruikt bij het openen van de gedefinieerde gegevensbron.
embedding_dependency DeploymentNameVectorizationSource Waar De insluitingsafhankelijkheid voor vectorzoekopdrachten.
in_scope boolean Onwaar Of query's moeten worden beperkt tot het gebruik van geïndexeerde gegevens. Standaard is True.
role_information tekenreeks Onwaar Geef het model instructies over hoe het zich moet gedragen en eventuele context waarnaar wordt verwezen bij het genereren van een antwoord. U kunt de persoonlijkheid van de assistent beschrijven en vertellen hoe u antwoorden kunt opmaken.
strictness geheel getal Onwaar De geconfigureerde striktheid van het filteren op zoekrelevantie. Hoe strikter, hoe hoger de precisie, maar een lagere terugroeping van het antwoord. Standaard is 3.
top_n_documents geheel getal Onwaar Het geconfigureerde bovenste aantal documenten dat moet worden aanbevolen voor de geconfigureerde query. Standaard is 5.

Verificatieopties voor API-sleutels

De verificatieopties voor Azure OpenAI op uw gegevens wanneer u een API-sleutel gebruikt.

Name Type Vereist Beschrijving
key tekenreeks Waar De API-sleutel die moet worden gebruikt voor verificatie.
type tekenreeks Waar Moet api_key zijn.

Vectorisatiebron voor implementatienamen

De details van de vectorisatiebron die door Azure OpenAI op uw gegevens worden gebruikt bij het toepassen van vectorzoekopdrachten. Deze vectorisatiebron is gebaseerd op een interne naam voor de implementatie van het model voor insluitingen in dezelfde Azure OpenAI-resource. Met deze vectorisatiebron kunt u vectorzoekopdrachten gebruiken zonder Azure OpenAI API-sleutel en zonder toegang tot openbare Azure OpenAI-netwerken.

Name Type Vereist Beschrijving
deployment_name tekenreeks Waar De naam van de insluitmodelimplementatie binnen dezelfde Azure OpenAI-resource.
type tekenreeks Waar Moet deployment_name zijn.

Opties voor het toewijzen van velden

De instellingen om te bepalen hoe velden worden verwerkt.

Name Type Vereist Beschrijving
content_fields tekenreeks[] Waar De namen van indexvelden die als inhoud moeten worden behandeld.
content_fields_separator tekenreeks Onwaar Het scheidingsteken dat inhoudsvelden moeten gebruiken. Standaard is \n.
filepath_field tekenreeks Onwaar De naam van het indexveld dat moet worden gebruikt als bestandspad.
title_field tekenreeks Onwaar De naam van het indexveld dat moet worden gebruikt als titel.
url_field tekenreeks Onwaar De naam van het indexveld dat moet worden gebruikt als URL.

Voorbeelden

Vereisten:

  • Configureer de roltoewijzingen van de gebruiker naar de Azure OpenAI-resource. Vereiste rol: Cognitive Services OpenAI User.
  • Installeer Az CLI en voer deze uit az login.
  • Definieer de volgende omgevingsvariabelen: 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

Installeer de nieuwste pip-pakketten 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))