OpenSearch Vector Search Edition permite integrar sus propios modelos. Puede agregar, consultar, editar, depurar, deshabilitar y restaurar modelos personalizados.
Crear un modelo
Vaya a Model Management > Custom Models y haga clic en Create Model.
En el cuadro de diálogo que aparece, utilice el editor JSON para completar la plantilla de configuración. Los campos principales incluyen modelName, request (que contiene header, parameters y method), response, modelType y url. Después de configurar el modelo, haga clic en OK.
Formato de modelo personalizado
{
"modelName": "custom_model",
"modelType": "text_embedding",
"dimension": 1536,
"url": "http://xxx/api/v2/services/embeddings",
"method": "POST",
"request": {
"header": {
"Authorization": "fj42091fjlgnlsvu023nva",
"Content-Type": "application/json"
},
"urlParams": {
"build": {},
"search": {}
},
"requestBody": "{\"input\": [\"%{input}\"], \"input_type\": \"${input_type}\"}",
"parameters": {
"build": {
"input_type": "document"
},
"search": {
"input_type": "query"
}
}
},
"response": {
"embeddings": "$.result.embeddings[*].embedding"
}
}
Parámetros
|
Parámetro |
Descripción |
|
modelName |
Nombre del modelo. |
|
modelType |
Tipo de modelo. Valores válidos:
|
|
dimension |
Dimensión vectorial generada por el modelo. Es obligatorio cuando |
|
url |
Endpoint del servicio de modelo. |
|
method |
Método HTTP para acceder al servicio de modelo. Los métodos compatibles son |
|
request |
Define la solicitud enviada al servicio de modelo. |
|
request.header |
Encabezados de solicitud HTTP. Estos encabezados se transmiten al servicio de modelo sin modificaciones. |
|
request.urlParams |
Parámetros para incluir en la URL. Algunos servicios de modelo requieren que los parámetros se pasen en la URL, como |
|
request.urlParams.build |
Parámetros transmitidos durante la fase de construcción del índice. |
|
request.urlParams.search |
Parámetros transmitidos durante la fase de consulta. |
|
request.requestBody |
Cadena de plantilla para el cuerpo de la solicitud.
|
|
request.parameters |
Parámetros del cuerpo de solicitud específicos de cada fase. Utilícelos para transmitir distintos parámetros durante las fases de construcción de índice y de consulta.
|
|
response |
Especifica cómo analizar sintácticamente la respuesta del servicio de modelo mediante una expresión JSONPath. |
JSONPath
Operadores
|
Operador |
Descripción |
|
$ |
Representa el elemento raíz. Una ruta debe comenzar con |
|
* |
Comodín que coincide con cualquier valor. Se puede usar en lugar de un nombre de propiedad o un índice de matriz. |
|
.<name> |
Selecciona una propiedad de objeto. |
|
[<number>] |
Selecciona un elemento de matriz por su índice. |
Ejemplo
{
"store": {
"books": [
{
"title": "java",
"price": 56
},
{
"title": "c++",
"price": 99
}
]
}
}
-
Para extraer los títulos de todos los libros:
JSONPath: $.store.books[*].title
Resultado: ["java", "c++"]
-
Para extraer el título del primer libro:
JSONPath: $.store.books[0].title
Resultado: ["java"]
Gestión de modelos
Depurar: En la página Models > Custom Models, haga clic en Debug en la columna Actions para probar su modelo.
Deshabilitar: Al deshabilitar un modelo, se impide que las tablas que lo utilizan procesen datos y consultas. Proceda con precaución.
Eliminar: Solo es posible eliminar modelos deshabilitados.
Restaurar: Es posible restaurar un modelo deshabilitado.
Invocación de modelos
Al configurar una tabla, haga clic en Configure en el campo que requiere preprocesamiento de datos. A continuación, seleccione su modelo personalizado en la lista Model.
En la lista desplegable Model, los modelos integrados aparecen en la parte superior. Los modelos personalizados aparecen en la parte inferior con el prefijo Custom; por ejemplo, "Custom test1".