Origen de datos: Pinecone (versión preliminar)
Las opciones configurables de Pinecone al usar Azure OpenAI en los datos. Este origen de datos se admite en la versión 2024-02-15-preview
de la API.
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
parameters |
Parámetros | True | Parámetros que se usarán al configurar Pinecone. |
type |
string | True | Debe ser pinecone . |
Parámetros
Nombre | Type | Obligatorio | Description |
---|---|---|---|
environment |
string | True | Nombre del entorno de Pinecone. |
index_name |
string | True | Nombre del índice de base de datos de 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 el vector de búsqueda. |
in_scope |
boolean | False | Si las consultas deben restringirse al uso de datos indexados. El valor predeterminado es True . |
role_information |
string | False | Proporcione instrucciones al 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 configuración estricta del filtrado de relevancia de búsqueda. Cuanto más estricta sea, mayor será la precisión, pero una menor coincidencia 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 de Azure OpenAI en los datos al usar una clave de API.
Nombre | Type | Obligatorio | 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 del origen de vectorización, que usa Azure OpenAI en los datos al aplicar el vector de búsqueda. Este origen de vectorización se basa en un nombre de implementación de modelos de inserción interno en el mismo recurso de Azure OpenAI. Este origen de vectorización le permite usar vector de búsqueda sin clave de API de Azure OpenAI y sin acceso a la red pública de Azure OpenAI.
Nombre | Type | Obligatorio | Description |
---|---|---|---|
deployment_name |
string | True | El nombre de implementación de modelo de inserción dentro del mismo recurso de Azure OpenAI. |
type |
string | True | Debe ser deployment_name . |
Opciones de asignación de campos
La configuración para controlar cómo se procesan los campos.
Nombre | Type | Obligatorio | Descripción |
---|---|---|---|
content_fields |
string[] | True | Los nombres de los 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. |
Ejemplos
Requisitos previos:
- Configure las asignaciones 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
,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
Instale los paquetes de pip más recientes 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))