Поделиться через


Источник данных — Pinecone (предварительная версия)

Настраиваемые параметры Pinecone при использовании Azure OpenAI в данных. Этот источник данных поддерживается в версии 2024-02-15-previewAPI.

Имя. Type Обязательно Описание
parameters Параметры Истина Параметры, используемые при настройке Pinecone.
type строка Истина Этот параметр должен содержать значение pinecone.

Параметры

Имя (название) Type Обязательно Описание
environment строка Истина Имя среды Pinecone.
index_name строка Истина Имя индекса базы данных Pinecone.
fields_mapping FieldsMappingOptions Истина Настраиваемое поведение сопоставления полей, используемое при взаимодействии с индексом поиска.
authentication ApiKeyAuthenticationOptions Истина Метод проверки подлинности, используемый при доступе к определенному источнику данных.
embedding_dependency DeploymentNameVectorizationSource Истина Зависимость внедрения для поиска векторов.
in_scope boolean False Следует ли ограничить запросы использованием индексированных данных. По умолчанию — True.
role_information строка False Дайте модели инструкции о том, как он должен вести себя и какой-либо контекст, на который он должен ссылаться при создании ответа. Вы можете описать личность помощника и рассказать о том, как отформатировать ответы.
strictness integer False Настроенная строгость фильтрации релевантности поиска. Чем выше строгость, тем выше точность, но более низкий отзыв ответа. По умолчанию — 3.
top_n_documents integer False Настроено первое число документов для функции настроенного запроса. По умолчанию — 5.

Параметры проверки подлинности ключа API

Параметры проверки подлинности Azure OpenAI On Your Data при использовании ключа API.

Имя. Type Обязательно Описание
key строка Истина Ключ API, используемый для проверки подлинности.
type строка Истина Этот параметр должен содержать значение api_key.

Источник векторизации имен развертывания

Сведения о источнике векторизации, используемом Azure OpenAI On Your Data при применении векторного поиска. Этот источник векторизации основан на имени развертывания модели внутреннего внедрения в том же ресурсе Azure OpenAI. Этот источник векторизации позволяет использовать векторный поиск без ключа API-ключа Azure OpenAI и без доступа к общедоступной сети Azure OpenAI.

Имя. Type Обязательно Описание
deployment_name строка Истина Имя развертывания модели внедрения в одном ресурсе Azure OpenAI.
type строка Истина Этот параметр должен содержать значение deployment_name.

Параметры сопоставления полей

Параметры для управления обработкой полей.

Имя. Type Обязательно Описание
content_fields string[] Истина Имена полей индекса, которые следует рассматривать как содержимое.
content_fields_separator строка False Шаблон разделителя, который должны использовать поля содержимого. По умолчанию — \n.
filepath_field строка False Имя поля индекса, используемого в качестве файлового пути.
title_field строка False Имя поля индекса, используемого в качестве заголовка.
url_field строка False Имя поля индекса, используемого в качестве URL-адреса.

Примеры

Необходимые условия:

  • Настройте назначения ролей от пользователя к ресурсу Azure OpenAI. Требуемая роль: Cognitive Services OpenAI User.
  • Установите Az CLI и запустите az login.
  • Определите следующие переменные среды: , , IndexName, , EmbeddingDeploymentNameKey.EnvironmentChatCompletionsDeploymentNameAzureOpenAIEndpoint
export AzureOpenAIEndpoint=https://example.openai.azure.com/
export ChatCompletionsDeploymentName=turbo
export Environment=testenvironment
export Key=***
export IndexName=pinecone-test-index
export EmbeddingDeploymentName=ada

Установите последние пакеты openaipip , 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))