Migrar desde Perplexity
Mantén el SDK de Perplexity para la Search API. Cambia la dirección base y la key.
typesearch habla la Search API de Perplexity (POST /search): los resultados ordenados, no las respuestas
generadas de Sonar. Con el SDK oficial, migrar es una línea.
from perplexity import Perplexity
# antes: client = Perplexity()
client = Perplexity(api_key=TYPESEARCH_API_KEY, base_url="https://api.typesearch.ai/compat/perplexity")
r = client.search.create(query=["el dólar", "el FMI"], max_results=5, search_recency_filter="week")También puedes definir PERPLEXITY_BASE_URL en vez de cambiar el código.
Parámetros
| Perplexity | En typesearch |
|---|---|
query (una, o hasta 5) | Igual. Varias consultas se juzgan juntas; los resultados vienen en una sola lista. |
max_results (1–20) | Igual. |
search_domain_filter | Igual: sin prefijo incluye, con - excluye, rutas incluidas. Mezclar las dos cosas es un error, como en Perplexity. |
search_recency_filter | hour, day, week, month, year. |
search_after_date_filter, search_before_date_filter | Igual (MM/DD/YYYY). last_updated_* se toma como fecha de publicación (approximated:). |
country, search_language_filter | Se ignoran salvo Argentina y español, la cobertura de hoy. |
max_tokens, max_tokens_per_page, search_context_size | Se ignoran: los extractos son siempre breves. |
search_type: "people" | Un error: el índice es de noticias. |
Sin filtro de fecha busca en todo el índice, como Perplexity, en el modo fast.
Lo nuestro
Con el SDK de Perplexity, envíalo con extra_body:
r = client.search.create(query="el dólar", extra_body={"typesearch": {"tone": True, "mode": "normal"}})Vuelve en un campo typesearch de la respuesta. Los errores mantienen el formato de Perplexity: 422 con
detail[] al validar, error en lo demás.