Origen de datos: Pinecone (versión preliminar) (clásico)

Solo se aplica a:Portal de foundry (clásico). Este artículo no está disponible para el nuevo portal de Foundry. Obtenga más información sobre el nuevo portal.

Note

Los vínculos de este artículo pueden abrir contenido en la nueva documentación de Microsoft Foundry en lugar de la documentación de Foundry (clásico) que está viendo ahora.

Important

Azure OpenAI en sus datos está en desuso y se acerca a la retirada.

Microsoft ha dejado de incorporar nuevos modelos para Azure OpenAI en los datos. Esta característica solo admite los siguientes modelos:

  • GPT-4o (versiones 2024-05-13, 2024-08-06 y 2024-11-20)
  • GPT-4o-mini (versión 2024-07-18)
  • GPT-4.1, GPT-4.1-mini y GPT-4.1-nano (versión 2025-04-14)

Once los modelos GPT-4.1 se retiran, todos los Azure OpenAI en los puntos de conexión de Data API y los conectores de origen de datos admitidos dejan de funcionar.

Se recomienda migrar Azure OpenAI en las cargas de trabajo de datos a Foundry Agent Service con Foundry IQ para recuperar contenido y generar respuestas fundamentadas de los datos. Para empezar, consulte Conexión de una base de conocimiento de Foundry IQ.

Las opciones configurables de Pinecone al usar Azure OpenAI On Your Data. Este origen de datos se admite a partir de la versión 2024-02-15-previewde API .

Name Type Required Description
parameters Parameters True Parámetros que se usarán al configurar Pinecone.
type string True Debe ser pinecone.

Parameters

Name Type Required Description
environment string True Nombre del entorno de Pinecone.
index_name string True Nombre del índice de base de datos pinecone.
fields_mapping FieldsMappingOptions True Comportamiento personalizado de asignación de campos que se usará al interactuar con el índice de búsqueda.
authentication ApiKeyAuthenticationOptions True Método de autenticación que se va a usar al acceder al origen de datos definido.
embedding_dependency DeploymentNameVectorizationSource True Dependencia de inserción para la búsqueda de vectores.
in_scope boolean False Si las consultas deben restringirse al uso de datos indexados. El valor predeterminado es True.
role_information string False Proporcione las instrucciones del modelo sobre cómo debe comportarse y cualquier contexto al que debe hacer referencia al generar una respuesta. Puede describir la personalidad del asistente y indicarle cómo dar formato a las respuestas.
strictness integer False La estricta configuración del filtrado de relevancia de búsqueda. Cuanto mayor sea la estricta, mayor será la precisión, pero una menor recuperación de la respuesta. El valor predeterminado es 3.
top_n_documents integer False El número superior configurado de documentos que se van a presentar para la consulta configurada. El valor predeterminado es 5.

Opciones de autenticación de clave de API

Las opciones de autenticación para Azure OpenAI en los datos al usar una clave de API.

Name Type Required Description
key string True Clave de API que se va a usar para la autenticación.
type string True Debe ser api_key.

Origen de vectorización de nombre de implementación

Los detalles de la fuente de vectorización, utilizada por Azure OpenAI On Your Data al aplicar la búsqueda vectorial. Esta fuente de vectorización se basa en un nombre interno de despliegue de modelo de embeddings en el mismo recurso de Azure OpenAI. Esta fuente de vectorización te permite usar búsqueda vectorial sin la clave API de Azure OpenAI y sin acceso público a la red de Azure OpenAI.

Name Type Required Description
deployment_name string True El nombre de despliegue del modelo de incrustación dentro del mismo recurso de OpenAI de Azure.
type string True Debe ser deployment_name.

Opciones de asignación de campos

La configuración para controlar cómo se procesan los campos.

Name Type Required Description
content_fields string[] True Nombres de campos de índice que se deben tratar como contenido.
content_fields_separator string False Patrón separador que deben usar los campos de contenido. El valor predeterminado es \n.
filepath_field string False Nombre del campo de índice que se va a usar como ruta de acceso de archivo.
title_field string False Nombre del campo de índice que se va a usar como título.
url_field string False Nombre del campo de índice que se va a usar como dirección URL.

Examples

Prerequisites:

  • Configura la asignación de roles del usuario al recurso de Azure OpenAI. Rol necesario: Cognitive Services OpenAI User.
  • Instale la CLI de Az y ejecute az login.
  • Defina las siguientes variables de entorno: AzureOpenAIEndpoint, ChatCompletionsDeploymentName, IndexNameEnvironment, , 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

Instale los paquetes openaipip más recientes , 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))