Vea más en el sitio web de SharpiPi.com »
Consulte el funcionario:
composer require sharpapi/sharpapi-php-clientRegístrese en SharpiPI.com y obtenga la tecla API.
¡Eso es todo!
$ sharpApi = new SharpAPI SharpApiService SharpApiService ( SHARP_API_KEY );
$ statusUrl = $ sharpApi -> productCategories (
' Lenovo Chromebook Laptop (2023), 14" FHD Touchscreen Slim 3,
8-Core MediaTek Kompanio 520 CPU, 4GB RAM, 128GB Storage ' ,
' German ' , // optional language
400 , // optional quantity
' optional neutral voice tone ' , // optional voice tone
' optional current e-store categories ' // optional context, current categories to match
);
$ resultSharpApiJob = $ sharpApi -> fetchResults ( $ statusUrl );
var_dump ( $ resultSharpApiJob -> getResultJson ());El caso de uso típico requiere estos pasos:
fetchResults($statusUrl) que funciona en modo de votación, enviando las solicitudes debajo cada 10 segundos durante 180 segundos (estos valores se pueden personalizar, verifique el código fuente SharpApiService ).SharpApiJob .success puede obtener los resultados con uno de los métodos, por ejemplo $jobResultJson = $jobResult->getResultJson() .Cada trabajo enviado generalmente toma en algún lugar entre un par de segundos y un minuto.
Después de ese período, un trabajo devuelto generalmente tendrá un estado success y sus resultados estarán disponibles para su posterior procesamiento. Cada método API devuelve un formato de retorno diferente. Vaya a la lista de métodos/puntos finales de API a continuación para obtener más detalles »
Nuestra API garantiza devolver el formato correcto cada vez. Los motores de IA que el uso de Sharpi en casos raros tiende a portarse mal y tiempo de tiempo de tiempo o devolver datos incorrectos. En esos casos, el status devuelto para el trabajo failed . Puede volver a ejecutar exactamente la misma solicitud de trabajo en ese caso.
Mientras el trabajo todavía esté siendo procesado por nuestro motor, seguirá volviendo el estado pending .
Las solicitudes HTTP subyacentes se alimentan con Guzzle, por lo que es una buena idea verificar las excepciones típicas de Guzzle:
use GuzzleHttp Exception ClientException ;
// Step 1: dispatch the job to the API with one of the methods, for example:
try {
$ statusUrl = SharpApiService:: summarizeText (
$ text ,
' German ' // optional language
500 , // optional length
' neutral ' // optional voice tone
);
// $statusUrl example value: 'https://sharpapi.com/api/v1/job/status/75acb6dc-a975-4969-9ef1-c62cebc511cb'
} catch ( ClientException $ e ) {
$ e -> getResponse ()
}
// Step 2: request to check job status in polling mode and wait for the result
$ jobResult = SharpApiService:: fetchResults ( $ statusUrl );
// Step 3: get results of dispatched API job, f.e. this returns job result as a prettied JSON
$ jobResultJson = $ jobResult -> getResultJson ();
// ..or PHP array:
$ jobResultArray = $ jobResult -> getResultArray ();
// ..or PHP stdClass:
$ jobResultObject = $ jobResult -> getResultObject (); <?php
namespace App Http Controllers ;
use GuzzleHttp Exception GuzzleException ;
use SharpAPI SharpApiService SharpApiService ;
class SharpTest extends Controller
{
public function __construct ( public SharpApiService $ sharpApiService )
{
}
/**
* @throws GuzzleException
*/
public function detect_phones (): void
{
$ statusUrl = $ this -> sharpApiService -> detectPhones (
' Where to find us? Call with a sales tech advisor:
Call: 1800-394-7486 or our Singapore office +65 8888 8888 '
);
$ result = $ this -> sharpApiService -> fetchResults ( $ statusUrl );
dd ( $ result -> getResultJson ());
/* returned:
[
{
"detected_number": "1800-394-7486",
"parsed_number": "+18003947486"
},
{
"detected_number": "+65 8888 8888",
"parsed_number": "+6588888888"
}
]
*/
}
} Cada método siempre devuelve el objeto SharpApiJob , donde sus métodos getResultJson / getResultArray / getResultObject devolverán diferentes estructuras de datos. Consulte los ejemplos detallados proporcionados en SharpiPI.com.
SharpApiLanguages para que su código sea más legible.Analiza un archivo de currículum (CV) de múltiples formatos (PDF/DOC/DOCX/TXT/RTF) y devuelve un objeto extenso de puntos de datos.
También se puede proporcionar un parámetro de idioma de salida opcional (el valor English se establece como el predeterminado).
$ statusUrl = SharpApiService:: parseResume ( ' /test/resume.pdf ' , ' English ' ); Según la lista de parámetros extensos, este punto final proporciona detalles de trabajo concisos en el formato de respuesta, incluida la descripción breve, los requisitos de trabajo y las responsabilidades laborales. El único parámetro obligatorio es name .
Esta funcionalidad utiliza un parámetro especializado de clase DTO ( Data Transfer Object ) llamado JobDescriptionParameters para ayudar en la validación de los parámetros de entrada. Solo el parámetro name en el constructor de este DTO es obligatorio.
Puede establecer su estilo de escritura preferido proporcionando un parámetro Voice_tone. Puede ser adjetivos como funny o joyous , o incluso el nombre de un escritor famoso.
Este método API también proporciona un parámetro de contexto opcional, que puede usarse para proporcionar instrucciones flexibles adicionales para el procesamiento de contenido.
$ jobDescriptionParameters = new JobDescriptionParameters (
name: " PHP Senior Engineer " ,
company_name: " ACME LTD " , // optional
minimum_work_experience: " 5 years " , // optional
minimum_education: " Bachelor Degree " , // optional
employment_type: " full time " , // optional
required_skills: [ ' PHP8 ' , ' Laravel ' ], // optional
optional_skills: [ ' AWS ' , ' Redis ' ], // optional
country: " United Kingdom " , // optional
remote: true , // optional
visa_sponsored: true , // optional
voice_tone: ' Professional and Geeky ' , // optional voice tone
context: null , // optional context, additional AI processing instructions
language: null // optional output language
);
$ statusUrl = SharpApiService:: generateJobDescription ( $ jobDescriptionParameters );Genera una lista de habilidades relacionadas con sus pesos como valor flotante (1.0-10.0) donde 10 es igual al 100%, el puntaje de relevancia más alta.
Solo se requiere el primer parámetro ( name ).
Puede limitar la salida con el parámetro max_quantity .
$ statusUrl = SharpApiService:: relatedSkills (
' MySQL ' ,
' English ' , // optional language
10 // optional quantity
);Genera una lista de puestos de trabajo relacionados con sus pesos como valor flotante (1.0-10.0), donde 10 es igual al 100%, el puntaje de relevancia más alta.
Solo se requiere el primer parámetro ( name ).
Puede limitar la salida con el parámetro max_quantity .
$ statusUrl = SharpApiService:: relatedJobPositions (
' Senior PHP Engineer ' ,
' English ' , // optional language
10 // optional quantity
);Analiza la revisión del producto del cliente y proporciona su sentimiento (positivo/negativo/neutral) con un puntaje entre 0-100%. Ideal para el procesamiento de informes de sentimientos para cualquier tienda en línea.
$ statusUrl = SharpApiService:: productReviewSentiment ( ' customer review contents ' );Genera una lista de categorías adecuadas para el producto con pesos de relevancia como valor flotante (1.0-10.0) donde 10 es igual al 100%, el puntaje de relevancia más alta. Proporcione el nombre del producto y sus parámetros para obtener las mejores coincidencias de categoría posibles. Es útil con la población de datos del catálogo de productos y el procesamiento de productos a granel.
Puede limitar la salida con el parámetro max_quantity .
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_tone . Puede ser adjetivos como funny o joyous , o incluso el nombre de un escritor famoso.
Dentro de un contexto de parámetros opcional adicional, puede proporcionar una lista de otras categorías que se tendrán en cuenta durante el proceso de mapeo (por ejemplo, sus categorías actuales de comercio electrónico).
$ statusUrl = SharpApiService:: productCategories (
' Sony Playstation 5 ' ,
' English ' , // optional language
5 , // optional quantity
' Tech-savvy ' , // optional voice tone
' Game Console, PS5 Console ' // optional context, current categories to match
);Genera una versión más corta de la descripción del producto. Proporcione tantos detalles y parámetros del producto para obtener la mejor introducción de marketing posible. Es útil con la población de datos de catálogo de productos y procesamiento de productos a granel.
Puede limitar la salida con el parámetro max_length . Tenga en cuenta que max_length sirve como una fuerte sugerencia para el modelo de idioma, en lugar de un requisito estricto, para mantener el sentido general del resultado.
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_tone . Puede ser adjetivos como funny o joyous , o incluso el nombre de un escritor famoso.
$ statusUrl = SharpApiService:: generateProductIntro (
' Sony Playstation 5 ' ,
SharpApiLanguages:: ENGLISH , // optional language
300 , // optional length
' Funny ' // optional voice tone
);Genera un correo electrónico de agradecimiento personalizado al cliente después de la compra. El contenido de respuesta no contiene la información del título, el saludo o el remitente al final, por lo que puede personalizar el resto del correo electrónico fácilmente.
Puede limitar la salida con el parámetro max_length. Tenga en cuenta que max_length sirve como una fuerte sugerencia para el modelo de idioma, en lugar de un requisito estricto, para mantener el sentido general del resultado.
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_tone . Puede ser adjetivos como divertido o alegre, o incluso el nombre de un escritor famoso.
Este método API también proporciona un parámetro de contexto opcional, que puede usarse para proporcionar instrucciones flexibles adicionales para el procesamiento de contenido.
$ statusUrl = SharpApiService:: generateThankYouEmail (
' Sony Playstation 5 ' ,
SharpApiLanguages:: ENGLISH , // optional language
250 , // optional length
' Neutral ' , // optional voice tone
' Must invite customer to visit again before Holidays ' // optional context
); Traduce el texto proporcionado al idioma seleccionado. Se admiten 80 idiomas. Consulte la clase de enum SharpApiLanguages INCLUIDO para obtener más detalles.
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_tone . Puede ser adjetivos como divertido o alegre, o incluso el nombre de un escritor famoso.
También está disponible un parámetro context opcional. Se puede usar para proporcionar más contexto al texto traducido, como el ejemplo de caso de uso o algunas explicaciones adicionales.
$ statusUrl = SharpApiService:: translate (
' turn ' ,
SharpApiLanguages:: FRENCH , // optional language
' neutral ' , // optional voice tone
' to turn a page ' // optional context
);
// will result in :
// {"content": "tourner", "to_language": "French", "from_language": "English"} Genera una versión parafraseada del texto proporcionado. Solo se requiere el parámetro content . Puede definir el lenguaje de salida, la longitud máxima del personaje y el tono de voz.
Se pueden proporcionar instrucciones adicionales sobre cómo procesar el texto en el parámetro de contexto. Tenga en cuenta que max_length sirve como una fuerte sugerencia para el modelo de idioma, en lugar de un requisito estricto, para mantener el sentido general del resultado.
Puede establecer su estilo de escritura preferido proporcionando un parámetro opcional voice_tone . Puede ser adjetivos como funny o joyous , o incluso el nombre de un escritor famoso.
Este método API también proporciona un parámetro context opcional, que puede usarse para proporcionar instrucciones flexibles adicionales para el procesamiento de contenido.
$ statusUrl = SharpApiService:: paraphrase (
$ text ,
SharpApiLanguages:: FRENCH , // optional language
500 , // optional length
' neutral ' , // optional voice tone
' avoid using abbreviations ' // optional context
);Revisado (y verifica la gramática) un texto proporcionado.
$ statusUrl = SharpApiService:: proofread ( $ text );Comprueba si se proporciona contenido pasa una prueba de filtración de spam. Proporciona un puntaje de confianza porcentual y una explicación de si se considera spam o no. Esta información es útil para que los moderadores tomen una decisión final.
$ statusUrl = SharpApiService:: detectSpam ( $ text );Analiza el texto proporcionado para cualquier número de teléfono y devuelve la versión original detectada y su formato E.164. Puede ser útil en el caso de procesar y validar grandes fragmentos de datos contra números de teléfono o FE si desea detectar números de teléfono en lugares donde no se supone que deben estar.
$ statusUrl = SharpApiService:: detectPhones ( $ text );Analiza el texto proporcionado para cualquier correo electrónico posible. Puede ser útil en caso de procesar y validar grandes fragmentos de datos contra direcciones de correo electrónico o FE si desea detectar correos electrónicos en lugares donde no se supone que deben estar.
$ statusUrl = SharpApiService:: detectEmails ( $ text );Genera una lista de palabras clave/etiquetas únicas basadas en el contenido proporcionado.
Puede limitar la salida con el parámetro max_quantity .
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_tone .
$ statusUrl = SharpApiService:: generateKeywords (
$ text ,
' English ' , // optional language
5 , // optional length
' Freaky & Curious ' , // optional voice tone
' add emojis! ' // optional extra context instructions for content processing
);Genera una versión resumida del contenido proporcionado. Perfecto para generar presentaciones de marketing de textos más largos.
Puede limitar la salida con el parámetro max_length . Tenga en cuenta que max_length sirve como una fuerte sugerencia para el modelo de idioma, en lugar de un requisito estricto, para mantener el sentido general del resultado.
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_ton E. Puede ser adjetivos como funny o joyous , o incluso el nombre de un escritor famoso.
$ statusUrl = SharpApiService:: summarizeText (
$ text ,
' English ' , // optional language
' David Attenborough ' , // optional voice tone
' add emojis! ' // optional extra context instructions for content processing
);Genera todas las metaetiquetas más importantes basadas en el contenido proporcionado. Asegúrese de incluir el enlace al sitio web y la URL de las imágenes para que se poblen tantas etiquetas como sea posible.
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_ton E. Puede ser adjetivos como funny o joyous , o incluso el nombre de un escritor famoso.
$ statusUrl = SharpApiService:: generateSeoTags (
$ text ,
' English ' , // optional language
' David Attenborough ' // optional voice tone
);Analiza la revisión del producto de viaje/hospitalidad y proporciona su sentimiento (positivo/negativo/neutral) con un puntaje entre 0-100%. Ideal para el procesamiento de informes de sentimientos para cualquier tienda en línea.
$ statusUrl = SharpApiService:: travelReviewSentiment ( $ text ); Genera una lista de categorías adecuadas para el producto Tours & Activition con pesos de relevancia como valor flotante (1.0-10.0) donde 10 es igual al 100%, el puntaje de relevancia más alta. Proporcione el nombre del producto y sus parámetros para obtener las mejores coincidencias de categoría posibles. Es útil con la población de datos del catálogo de productos y el procesamiento de productos a granel. Solo se requiere productName del primer parámetro.
Puede limitar la salida con el parámetro max_quantity .
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_tone . Puede ser adjetivos como funny o joyous , o incluso el nombre de un escritor famoso.
Dentro de un context de parámetros opcional adicional, puede proporcionar una lista de otras categorías que se tendrán en cuenta durante el proceso de mapeo (por ejemplo, sus categorías actuales de comercio electrónico).
$ statusUrl = SharpApiService:: toursAndActivitiesProductCategories (
' Oasis of the Bay '
'Ha Long', // optional city
' Vietnam ' , // optional country
' English ' , // optional language
10 , // optional quantity
' Adventurous ' , // optional voice tone
' Bay Hotels, Ha Long Hotels ' // optional context, current categories to match
); Genera una lista de categorías adecuadas para el producto de tipo de hospitalidad con pesos de relevancia como valor flotante (1.0-10.0) donde 10 es igual al 100%, el puntaje de relevancia más alta. Proporcione el nombre del producto y sus parámetros para obtener las mejores coincidencias de categoría posibles. Es útil con los datos de catálogos de productos de población y el procesamiento de productos a granel. Solo se requiere productName del primer parámetro.
Puede limitar la salida con el parámetro max_quantity .
Puede establecer su estilo de escritura preferido proporcionando un parámetro voice_tone . Puede ser adjetivos como funny o joyous , o incluso el nombre de un escritor famoso.
Dentro de un context de parámetros opcional adicional, puede proporcionar una lista de otras categorías que se tendrán en cuenta durante el proceso de mapeo (por ejemplo, sus categorías actuales de comercio electrónico).
$ statusUrl = SharpApiService:: hospitalityProductCategories (
' Hotel Crystal 大人専用'
'Tokyo', // optional city
' Japan ' , // optional country
' English ' , // optional language
10 , // optional quantity
' Adventurous ' , // optional voice tone
' Tokyo Hotels, Crystal Hotels ' // optional context, current categories to match
);Punto final para verificar los detalles sobre el período actual de la suscripción
$ statusUrl = SharpApiService:: quota ();resultará en:
{
"timestamp" : " 2024-03-19T12:49:41.445736Z " ,
"on_trial" : false ,
"trial_ends" : " 2024-03-17T07:57:46.000000Z " ,
"subscribed" : true ,
"current_subscription_start" : " 2024-03-18T12:37:39.000000Z " ,
"current_subscription_end" : " 2024-04-18T12:37:39.000000Z " ,
"subscription_words_quota" : 100000 ,
"subscription_words_used" : 9608 ,
"subscription_words_used_percentage" : 0.1
} subscription_words_used_percentage es un porcentaje del uso actual de cuotas mensuales y podría servir como una alerta al usuario de los créditos agotados. Con un valor superior al 80%, se recomienda suscribirse a más créditos en https://sharpapi.com/dashboard/credits para evitar la interrupción del servicio.
Estos valores también están disponibles en el tablero en https://sharpapi.com/dashboard
Punto final de ping simple para verificar la disponibilidad de la API y su zona de timze interna (marca de tiempo).
$ statusUrl = SharpApiService:: ping ();resultará en:
{
"ping" : " pong " ,
"timestamp" : " 2024-03-12T08:50:11.188308Z "
}Por favor háganos saber »
Consulte ChangeLog para obtener más información sobre lo que ha cambiado recientemente.
La licencia MIT (MIT). Consulte el archivo de licencia para obtener más información.