AI Search Open Platform ofrece una función de búsqueda web. Puede llamar directamente a la API de búsqueda web o habilite web search when you call the content generation service.
Lista de servicios
Nombre del servicio | ID del servicio | Descripción | Límite de QPS para llamadas a la API (incluye la cuenta de Alibaba Cloud y sus usuarios de RAM) |
Web search service | ops-web-search-001 | Servicio de búsqueda web de propósito general que se combina con un modelo de lenguaje grande (LLM) para ampliar las respuestas en escenarios de bases de conocimiento privadas. | 3 Nota Para aumentar el límite de QPS, envíe un ticket y comuníquese con el soporte técnico. |
-
Obtenga las credenciales de autenticación
La plataforma abierta AI Search requiere una clave de API para la autenticación. Para más información, consulte Get an API key.
-
Obtenga el endpoint del servicio
Puede llamar al servicio mediante la red pública o una VPC. Para más detalles, consulte Get the service endpoint.
Método de solicitud
POST
URL
{host}/v3/openapi/workspaces/{workspace_name}/web-search/{service_id}
-
host: dirección utilizada para llamar al servicio. La API se invoca mediante la red pública o a través de una VPC. Para más información, consulte Obtain a service endpoint.
En la parte superior de la página API Keys, seleccione el espacio de trabajo de destino, por ejemplo, default (default workspace). En la sección Access Endpoints, alterne entre las pestañas Public API Endpoint y Private API Endpoint para consultar el endpoint correspondiente del servicio.
workspace_name: nombre del espacio de trabajo. Por ejemplo, default.
service_id: ID del servicio integrado. Por ejemplo, ops-web-search-001.
Parámetros de solicitud
Parámetros de encabezado
Autenticación mediante clave de API
|
Parámetro |
Tipo |
Obligatorio |
Descripción |
Ejemplo |
|
Content-Type |
String |
Sí |
Tipo de solicitud: application/json. |
application/json |
|
Authorization |
String |
Sí |
Clave de API. |
Bearer OS-d1**2a |
Parámetros del cuerpo
Parámetro | Tipo | Obligatorio | Descripción | Predeterminado |
query | String | Sí | Consulta de búsqueda. | |
query_rewrite | Boolean | No | Indica si se habilita un LLM para reescribir la consulta. Valor predeterminado: true. | true |
top_k | Integer | No | Número de resultados de búsqueda que se devuelven. | 5 |
history | List | No | Historial de la conversación entre el usuario y el modelo. Cada elemento de la lista tiene el formato
| null |
content_type | String | No | Tipo de contenido de los resultados de búsqueda.
| snippet |
way | String | No | Solo búsqueda, sin estrategia de análisis sintáctico del cuerpo de la página web. Este parámetro surte efecto cuando
Si no especifica este parámetro o le asigna un valor vacío, se utiliza Búsqueda con estrategia de análisis sintáctico del cuerpo de la página web. Este parámetro surte efecto cuando
Si no especifica este parámetro o le asigna un valor vacío, se utiliza | pro |
Ejemplo de solicitud con curl
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
"http://xxxx-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/web-search/ops-web-search-001" \
-d '{
"history": [
{"role": "system", "content": "You are a robot assistant"},
{"role": "user", "content": "What is the capital of Zhejiang?"},
{"role": "assistant", "content": "Hangzhou"}
],
"query":"What is the weather like in Hangzhou today?",
"query_rewrite":true,
"top_k":5,
"content_type":"snippet"
}'
Especifique la estrategia de búsqueda y extracción de contenido
Utilice way para definir una estrategia de búsqueda y extracción de contenido más eficaz. Combínelo con content_type establecido en mainText para recuperar el texto principal de las páginas web.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
"http://xxxx-hangzhou.opensearch.aliyuncs.com/v3/openapi/workspaces/default/web-search/ops-web-search-001" \
-d '{
"query":"What is the weather like in Hangzhou today?",
"top_k":5,
"content_type":"mainText",
"way":"pro-fetch"
}'
Parámetros de respuesta
|
Parámetro |
Tipo |
Descripción |
Ejemplo |
|
result.search_result |
List<search_result> |
Resultados que devuelve esta búsqueda web. |
|
|
result.search_result[].title |
String |
Título de la página web. |
Hangzhou Weather Weibo |
|
result.search_result[].link |
String |
URL de la página web. |
https://www.xxx.com |
|
result.search_result[].snippet |
String |
Resumen de la página web. |
Nublado esta noche; soleado a parcialmente nublado mañana; parcialmente nublado a cubierto pasado mañana |
|
result.search_result[].content |
String |
Contenido de la página web. Cuando content_type se establece en snippet, se devuelve el resumen de la página. Cuando content_type se establece en mainText, se devuelve el texto principal. El texto principal suele ser mucho más extenso que el resumen. |
Hangzhou Weather Weibo\nIgual que en el mismo periodo de ayer\nHumedad relativa: -- % Viento: -- |
|
result.search_result[].position |
Integer |
Posición de la página web en los resultados de recuperación. En la versión actual, este campo siempre devuelve null. |
null |
|
result.search_result[].meta_info.publishedTime |
String |
Hora de publicación de la página web. |
2026-07-03T04:25:40Z |
|
usage |
Object |
Elementos facturables y su número de llamadas correspondiente. Cada clave sigue el formato Cuando |
"ops-web-search-001/pro": 1 |
Ejemplo de respuesta
Ejemplo de respuesta exitosa
{
"request_id": "5B9F5A24-8F1D-****-B7E2-3C6A1D9E4F02",
"latency": 2.3,
"usage": {
"ops-web-search-001/pro-fetch": 1,
"ops-web-search-001/pro": 1
},
"result": {
"search_result": [
{
"title": "Hangzhou Weather Weibo",
"link": "https://www.hzqx.cn/pc/hztq/",
"snippet": "Same as the same period yesterday Relative humidity: -% Wind: - Pressure: - hPa Precipitation in the past hour: - mm Visibility: - m Real-time data, not manually reviewed 10:55 on August 26, 2026 ...Updated at 08:00 on August 26, 2026 Air quality forecast Hangzhou Environmental Monitoring Station and Hangzhou M ...",
"position": null,
"meta_info": {
"publishedTime": "2026-08-26T10:55:00+08:00"
},
"content": "Hangzhou Weather Weibo\nSame as the same period yesterday\nRelative humidity: -- % Wind: --\nPressure: -- hPa Precipitation in the past hour: -- mm\nVisibility: -- m\n\n# \\*Real-time data, not manually reviewed\n\n10:55 on August 26, 2026 | Past 24 hours | Next 24 hours | Next 7 days\n\n# Objective 7-day weather forecast for the main urban area (the forecast data is\n...(truncated here; the actual response contains the full main text of the web page)"
},
{
"title": "Hangzhou 7-Day Weather",
"link": "https://www.ip.cn/tianqi/zhejiang/hangzhou/7day.html",
"snippet": "Hangzhou weather: 2026-08-20 to 2026-08-26 Weather forecast Mon Tue Wed Thu Fri Sat Sun August 20: moderate rain turning cloudy, 25°C to 31°C, sunrise 05:29, sunset 18:36 August 21: light rain turning overcast, 25°C to 32°C, sunrise 05:29, sunset 18:35 0 ...",
"position": null,
"meta_info": {
"publishedTime": "2026-08-21T00:00:00+08:00"
},
"content": "Hangzhou 7-Day Weather\n27° Cloudy 20 Excellent\nEast wind <force 3 Humidity 96% Pressure 1001 Pa\nThe latest 7-day weather for Hangzhou, Zhejiang, including the daily maximum temperature, minimum temperature, weather conditions, and wind direction\nToday 7 days 10 days 15 days Last 30 days\nHangzhou weather: 2026-08-20 to 2026-08-26 Weather forecast\n\n| Mon | Tue | Wed |\n...(truncated here; the actual response contains the full main text of the web page)"
}
]
}
}
Ejemplo de respuesta con errores
Si ocurre un error en una solicitud, el resultado devuelto indica la causa mediante code y message.
{
"request_id": "6F33AFB6-A35C-****-AFD2-9EA16CCF4383",
"latency": 2.0,
"code": "InvalidParameter",
"http_code": 400,
"message": "JSON parse error: Cannot deserialize value of type `ImageStorage` from String \\"xxx\\"
}
Códigos de estado
|
Código de estado HTTP |
Código de error |
Descripción |
|
200 |
- |
La solicitud se completó correctamente. Este estado se devuelve incluso si la tarea finalizó con errores. Compruebe el campo |
|
404 |
BadRequest.TaskNotExist |
La tarea no existe. |
|
400 |
InvalidParameter |
La solicitud no era válida. |
|
500 |
InternalServerError |
Ocurrió un error interno. |
Para más información, consulte AI Search Open Platform Status codes.