Udostępnij za pośrednictwem


Źródło danych — Pinecone (wersja zapoznawcza)

Konfigurowalne opcje pinecone podczas korzystania z usługi Azure OpenAI na danych. To źródło danych jest obsługiwane w wersji 2024-02-15-previewinterfejsu API .

Nazwisko Type Wymagania opis
parameters Parametry Prawda Parametry do użycia podczas konfigurowania Pinecone.
type string Prawda Musi mieć wartość pinecone.

Parametry

Nazwisko Type Wymagania opis
environment string Prawda Nazwa środowiska Pinecone.
index_name string Prawda Nazwa indeksu bazy danych Pinecone.
fields_mapping FieldsMappingOptions Prawda Dostosowane zachowanie mapowania pól do użycia podczas interakcji z indeksem wyszukiwania.
authentication ApiKeyAuthenticationOptions Prawda Metoda uwierzytelniania używana podczas uzyskiwania dostępu do zdefiniowanego źródła danych.
embedding_dependency DeploymentNameVectorizationSource Prawda Zależność osadzania dla wyszukiwania wektorowego.
in_scope boolean Fałsz Czy zapytania powinny być ograniczone do używania indeksowanych danych. Wartość domyślna to True.
role_information string Fałsz Przekaż instrukcje dotyczące sposobu działania modelu i dowolnego kontekstu, do którego powinien się odwoływać podczas generowania odpowiedzi. Możesz opisać osobowość asystenta i poinformować go, jak formatować odpowiedzi.
strictness integer Fałsz Skonfigurowana ścisłość filtrowania istotności wyszukiwania. Im większa surowość, większa precyzja, ale niższa kompletność odpowiedzi. Wartość domyślna to 3.
top_n_documents integer Fałsz Skonfigurowano maksymalną liczbę dokumentów do funkcji dla skonfigurowanego zapytania. Wartość domyślna to 5.

Opcje uwierzytelniania klucza interfejsu API

Opcje uwierzytelniania usługi Azure OpenAI na danych podczas korzystania z klucza interfejsu API.

Nazwisko Type Wymagania opis
key string Prawda Klucz interfejsu API do użycia do uwierzytelniania.
type string Prawda Musi mieć wartość api_key.

Źródło wektoryzacji nazw wdrożenia

Szczegóły źródła wektoryzacji używanego przez usługę Azure OpenAI On Your Data podczas stosowania wyszukiwania wektorowego. To źródło wektoryzacji jest oparte na wewnętrznej nazwie wdrożenia modelu osadzania w tym samym zasobie usługi Azure OpenAI. To źródło wektoryzacji umożliwia korzystanie z wyszukiwania wektorów bez klucza api-key usługi Azure OpenAI i bez dostępu do sieci publicznej usługi Azure OpenAI.

Nazwisko Type Wymagania opis
deployment_name string Prawda Nazwa wdrożenia modelu osadzania w ramach tego samego zasobu usługi Azure OpenAI.
type string Prawda Musi mieć wartość deployment_name.

Opcje mapowania pól

Ustawienia umożliwiające kontrolowanie sposobu przetwarzania pól.

Nazwisko Type Wymagania opis
content_fields string[] Prawda Nazwy pól indeksu, które powinny być traktowane jako zawartość.
content_fields_separator string Fałsz Wzorzec separatora, którego powinny używać pola zawartości. Wartość domyślna to \n.
filepath_field string Fałsz Nazwa pola indeksu do użycia jako ścieżka pliku.
title_field string Fałsz Nazwa pola indeksu, które ma być używane jako tytuł.
url_field string Fałsz Nazwa pola indeksu, które ma być używane jako adres URL.

Przykłady

Wymagania wstępne:

  • Skonfiguruj przypisania ról od użytkownika do zasobu usługi Azure OpenAI. Wymagana rola: Cognitive Services OpenAI User.
  • Zainstaluj interfejs wiersza polecenia Az i uruchom polecenie az login.
  • Zdefiniuj następujące zmienne środowiskowe: AzureOpenAIEndpoint, , , ChatCompletionsDeploymentNameIndexNameEnvironment, 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

Zainstaluj najnowsze pakiety 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))