Configuración de un conector de Data Science
Utilice los pasos de este tutorial para configurar un conector de OCI Data Science para utilizarlo en un pipeline de generación aumentada de recuperación (RAG) en OCI Search con OpenSearch.
Al utilizar un conector de Data Science en lugar de un conector de IA generativa, debe actualizar el valor
"llm_model"
a "oci_datascience/<your_llm_model_name>"
en los ejemplos de código de carga útil de consulta de RAG en Realizar RAG con BM25 y Realizar RAG con búsqueda híbrida.Requisitos
-
Para utilizar un conector de Data Science con OCI Search con OpenSearch, necesita un cluster configurado para utilizar OpenSearch versión 2.11 o posterior. Por defecto, los nuevos clusters están configurados para utilizar la versión 2.11. Para crear un cluster, consulte Creación de un cluster OpenSearch.
Para los clusters existentes configurados para la versión 2.3, puede realizar una actualización en línea a la versión 2.11. Para obtener más información, consulte OpenSearch Cluster Software Upgrades.
Para actualizar los clusters existentes configurados para la versión 1.2.3 a 2.11, debe utilizar el proceso de actualización que se describe en OpenSearch Cluster Software Upgrades.
-
Si el cluster OpenSearch está en un arrendamiento diferente al arrendamiento de punto final de Data Science, debe crear políticas en ambos arrendamientos para otorgar acceso a los recursos de Data Science.
Los siguientes ejemplos de políticas incluyen los permisos necesarios. Para utilizar estos ejemplos, sustituya
<caller_tenancy_name>
por el nombre del arrendamiento para el cluster OpenSearch y sustituya<resource_host_tenancy_name>
por el nombre del arrendamiento para el punto final de Data Science.- Política para el arrendamiento de Data Science:
define tenancy <caller_tenancy_name> as <caller_tenancy_ocid> admit any-user of tenancy <caller_tenancy_name> to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT} in tenancy
- Política para el arrendamiento del cluster OpenSearch:
define tenancy <resource_host_tenancy_name> as <resource_host_tenancy_ocid> endorse any-user to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT} in tenancy <resource_host_tenancy_name>
Si no está familiarizado con las políticas, consulte Introducción a las políticas y Políticas comunes.
- Política para el arrendamiento de Data Science:
1: Configuración de Valores de Cluster
Utilice la operación settings de las API de cluster para configurar los valores de cluster recomendados, de la siguiente manera:
PUT _cluster/settings
{
"persistent": {
"plugins": {
"ml_commons": {
"only_run_on_ml_node": "false",
"model_access_control_enabled": "true",
"native_memory_threshold": "99",
"rag_pipeline_feature_enabled": "true",
"memory_feature_enabled": "true",
"allow_registering_model_via_local_file": "true",
"allow_registering_model_via_url": "true",
"model_auto_redeploy.enable":"true",
"model_auto_redeploy.lifetime_retry_times": 10
}
}
}
}
2: Creación del Conector
Cree el conector de Data Science mediante la siguiente carga útil:
POST _plugins/_ml/connectors/_create
{
"name": "DS Chat Connector",
"description": "Check errors in logs",
"version": 2,
"protocol": "oci_sigv1",
"parameters": {
"endpoint": "<model_deployment_endpoint>",
"modelId": "<model_deployment_OCID>",
"auth_type": "resource_principal"
},
"credential": {
},
"actions": [
{
"action_type": "predict",
"method": "POST",
"url": "https://${parameters.endpoint}/${parameters.modelId}/predict",
"request_body": "{\"model\": \"/opt/ds/model/deployed_model\", \"prompt\" : \"${parameters.prompt}\", \"max_tokens\":250, \"temperature\": 0.7, \"top_p\":0.8, \"stream\" : false}",
"post_process_function": "def text = params['choices'][0]['text'].replace('\n', '\\\\n');\n return '{\"name\":\"response\",\"dataAsMap\":{\"inferenceResponse\":{\"generatedTexts\":[{\"text\":\"' + text + '\"}]}}}'"
}
]
}
Sustituya <model_deployment_endpoint>
y <model_deployment_OCID>
por los valores reales para el despliegue del modelo de Data Science, por ejemplo:
...
"endpoint": "modeldeployment.us-ashburn-1.oci.customer-oci.com"
"modelId": "ocid1.datasciencemodeldeployment.oc1.IAD.examplesmtpsuqmoy4m5cvblu..."
...
Anote el valor <connector_ID> devuelto en la respuesta:
{
"connector_id": "<connector_ID>",
}
3: Registro del Grupo de Modelos
Registre un grupo de modelos para el conector mediante la operación register en las API de grupo de modelos, como se muestra en el siguiente ejemplo:
POST /_plugins/_ml/model_groups/_register
{
"name": "<model_group_name>",
"description": "<model_group_description>"
}
Anote el valor <model_group_ID devuelto en la respuesta:
{
"model_group_id": "<model_group_ID>",
"status": "CREATED"
}
4: Registro del Modelo
Registre el modelo mediante <model_group_ID> y <connector_ID> en el paso de vista previa, como se muestra en el siguiente ejemplo:
POST /_plugins/_ml/models/_register
{
"name": "oci-genai-test",
"function_name": "remote",
"model_group_id": "<model_group_ID>",
"description": "test model",
"connector_id": "<connector_ID>"
}
5: Despliegue del Modelo
Despliegue el modelo, como se muestra en el siguiente ejemplo:
POST /_plugins/_ml/models/<model_ID>/_deploy
6: Creación de un Pipeline de RAG
Cree un pipeline de RAG mediante <model_ID>
del paso anterior, como se muestra en el siguiente ejemplo:
PUT /_search/pipeline/<pipeline_name>
{
"response_processors": [
{
"retrieval_augmented_generation": {
"tag": "genai_pipeline_demo",
"description": "Demo pipeline Using Genai Connector",
"model_id": "<model_ID>",
"context_field_list": ["<text_field_name>"],
"system_prompt": "You are a helpful assistant",
"user_instructions": "Generate a concise and informative answer for the given question"
}
}
]
}
Puede especificar uno o más nombres de campo de texto para "context_field_list"
, separe los valores con una coma, por ejemplo:
"context_field_list" : ["value1", "value2",…,"valueN"],
Los valores especificados para "context_field_list"
deben coincidir con uno o varios campos de interés en el índice del documento de destino.
Siguientes Pasos
Al utilizar un conector de Data Science en lugar de un conector de IA generativa, debe actualizar el valor
"llm_model"
a "oci_datascience/<your_llm_model_name>"
en los ejemplos de código de carga útil de consulta de RAG en Realizar RAG con BM25 y Realizar RAG con búsqueda híbrida.