Vea más en el sitio web SharpAPI.com »
PHP >= 8.1
Laravel >= 9.0
Si no utiliza Laravel, puede encontrar el cliente PHP SharpAPI genérico aquí »
Siga estos pasos para instalar y configurar el paquete SharpAPI Laravel Client.
Instale el paquete a través composer
:
El compositor requiere Sharpapi/sharpapi-laravel-client.
Regístrese en SharpAPI.com y obtenga la clave API.
Establezca la clave API dentro de .env
SHARP_API_KEY=clave
[OPCIONAL] Publicar el archivo de configuración sharpapi-client.php
.
Nota: Ya no es necesario publicar el archivo de configuración para utilizar este paquete. De forma predeterminada, el paquete utilizará valores predeterminados razonables. Sólo necesitas publicar la configuración si deseas personalizarla.
Proveedor artesanal de php: publicar --tag=sharpapi-laravel-client
? Comercio electrónico
Genere rápidamente presentaciones de productos atractivas para atraer clientes.
Cree automáticamente correos electrónicos de agradecimiento personalizados para mejorar la experiencia del cliente.
Optimice la categorización de productos para obtener un catálogo bien organizado.
Análisis de sentimiento: comprenda y analice el sentimiento en las reseñas de productos para la toma de decisiones basada en datos.
️ Automatización de contenidos y marketing
Traduce texto fácilmente para una audiencia global.
Parafrasear y corregir cualquier texto (incluida la revisión gramatical)
Detección de contenido spam: identifique y filtre contenido spam de forma eficaz.
Extracción de información de contacto: extraiga números de teléfono y direcciones de correo electrónico de formatos no estándar para agilizar la comunicación.
Genere resúmenes concisos y palabras clave/etiquetas únicas para mejorar el consumo de contenido.
Impulse los esfuerzos de SEO generando automáticamente etiquetas META basadas en el contenido.
Tecnología de recursos humanos
Genere descripciones de trabajo complejas sin esfuerzo, ahorrando tiempo en el proceso de contratación.
Información sobre habilidades y puestos: identifique puestos de trabajo y habilidades relacionados para agilizar la contratación.
Análisis automatizado de currículums: analiza y extrae información de forma eficiente de los archivos de currículums para facilitar su procesamiento.
Viajes, turismo y hotelería
Analice el sentimiento en las reseñas de viajes para mejorar los servicios.
Optimice la categorización de tours, actividades y productos hoteleros.
Consulte al funcionario:
Documentación API
Compatibilidad con varios idiomas : admite 80 idiomas para cada punto final de API de análisis de datos o contenido. Consulta la lista aquí.
Formato RESTful fácil de usar : con un conjunto estandarizado de puntos finales: obtenga información valiosa a través de puntos finales de análisis, que abarquen categorías de productos, habilidades y puestos de trabajo, proporcionando puntuaciones relevantes.
Siempre los mismos formatos de datos limpios : tenga la seguridad de contar con un formato JSON consistente y predecible para todos los datos devueltos. No hay necesidad de preocuparse por los datos borrosos de la IA.
Soporte técnico : creado por desarrolladores para desarrolladores, brindamos asistencia continua durante todo su viaje.
Puede inyectar la clase SharpApiService
o utilizar el singleton de fachada SharpApiService
.
Le recomendamos utilizar el sistema de colas Laravel para optimizar los trabajos enviados y el proceso de verificación de los resultados, especialmente si procesa lotes de datos más grandes.
El caso de uso típico requiere estos pasos:
Envíe uno de los métodos de procesamiento de IA disponibles (esto devolverá la URL del estado de procesamiento del trabajo)
Ejecute el método fetchResults($statusUrl)
que opera en modo de sondeo, enviando solicitudes debajo cada 10 segundos durante 180 segundos (estos valores se pueden personalizar).
Se devolverá el objeto SharpApiJob
.
Para un trabajo finalizado con estado de retorno success
, puede obtener los resultados con uno de los métodos, por ejemplo $jobResultJson = $jobResult->getResultJson()
.
Cada trabajo enviado suele tardar 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 devolución 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 en todo momento. Los motores de inteligencia artificial que SharpAPI utiliza en casos excepcionales tienden a comportarse mal y a expirar o devolver datos incorrectos. En esos casos, el status
devuelto para el trabajo será failed
. Puede volver a ejecutar exactamente la misma solicitud de trabajo en ese caso.
Mientras nuestro motor siga procesando el trabajo, seguirá devolviendo el estado pending
.
<?phpnamespace AppHttpControllers;use GuzzleHttpExceptionGuzzleException;use SharpAPISharpApiServiceSharpApiService;la clase SharpTest extiende el controlador {función pública __construct(público SharpApiService $sharpApiService) { }/** * @throws GuzzleException */public function detect_phones(): void{$statusUrl = $this->sharpApiService->detectPhones('¿Dónde encontrarnos? Llame a un asesor técnico de ventas: Llame al: 1800-394-7486 o nuestra oficina de Singapur +65 8888 8888'); $resultado = $this->sharpApiService->fetchResults($statusUrl); dd($resultado->getResultJson());/* devuelto: [ { "número_detectado": "1800-394-7486", "número_parsed": "+18003947486" }, { "número_detectado": "+65 8888 8888" , "parsed_number": "+6588888888" } ] */} }
Las solicitudes HTTP subyacentes son facilitadas por Laravel HTTP Client/Guzzle, por lo que es recomendable familiarizarse con las excepciones comunes de Guzzle.
use GuzzleHttpExceptionClientException;// Paso 1: envíe el trabajo a la API con uno de los métodos, por ejemplo: intente {$statusUrl = SharpApiService::summarizeText($text, 'alemán', // idioma opcional500, // longitud opcional' tono de voz neutro' // tono de voz opcional );// valor de ejemplo de $statusUrl: 'http://sharpapi.com/api/v1/job/status/75acb6dc-a975-4969-9ef1-c62cebc511cb'} catch (ClientException $e) { $e->getResponse( ) }// Paso 2: solicite verificar el estado del trabajo en modo de sondeo y espere el resultado$jobResult = SharpApiService::fetchResults($statusUrl);// Paso 3: obtenga los resultados del trabajo API enviado, ya que esto devuelve el resultado del trabajo como JSON bonito$jobResultJson = $jobResult->getResultJson();// ..o matriz PHP:$jobResultArray = $jobResult->getResultArray();// ..o PHP stdClass:$jobResultObject = $jobResult->getResultObject();
Entonces puedes sobrescribir estos valores con la configuración .env
:
SHARP_API_KEY=XXX_key_XXXSHARP_API_JOB_STATUS_POLLING_WAIT=200SHARP_API_JOB_STATUS_USE_POLLING_INTERVAL=trueSHARP_API_JOB_STATUS_POLLING_INTERVAL=5SHARP_API_BASE_URL=MOCK_SERVER
Cada método siempre devuelve el objeto SharpApiJob
, donde sus métodos getResultJson / getResultArray / getResultObject
devolverán una estructura de datos diferente. Consulte los ejemplos detallados proporcionados en SharpAPI.com.
Para los métodos que tienen un parámetro language
, también puede usar los valores SharpApiLanguages
Enum para hacer 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
está configurado como predeterminado).
$statusUrl = SharpApiService::parseResume('/test/resume.pdf', 'Inglés');
Basado en una lista de parámetros extensos, este punto final proporciona detalles concisos del trabajo en el formato de respuesta, incluida la breve descripción, los requisitos del trabajo y las responsabilidades del trabajo. El único parámetro obligatorio es name
.
Esta funcionalidad utiliza un parámetro de clase DTO
( Data Transfer Object
) especializado denominado JobDescriptionParameters
para ayudar en la validación de los parámetros de entrada. Sólo el parámetro name
en el constructor de este DTO
es obligatorio.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone. Pueden 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 se puede utilizar para proporcionar instrucciones flexibles adicionales para el procesamiento de contenido.
$jobDescriptionParameters = nuevos JobDescriptionParameters( nombre: "Ingeniero sénior de PHP", nombre_empresa: "ACME LTD", // experiencia_laboral_mínima opcional: "5 años", // educación_mínima opcional: "Licenciatura", // tipo_empleo_opcional: "tiempo completo", // habilidades_requeridas opcionales: ['PHP8', 'Laravel'], // opcionaloptional_skills: ['AWS', 'Redis'], // opcionalpaís: "Reino Unido", // opcionalremoto: verdadero, // opcionalvisa_sponsored: true, // opcionalvoice_tone: 'Profesional y Geeky', // tono de voz opcionalcontext: null, // contexto opcional, instrucciones adicionales de procesamiento de IAidioma: null // idioma de salida opcional );$statusUrl = SharpApiService::generateJobDescription($jobDescriptionParameters);
Genera una lista de habilidades relacionadas con sus ponderaciones como valor flotante (1,0-10,0), donde 10 equivale al 100 %, la puntuación 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', // idioma opcional10 // cantidad opcional );
Genera una lista de puestos de trabajo relacionados con sus ponderaciones como valor flotante (1,0-10,0), donde 10 equivale al 100 %, la puntuación 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('Ingeniero PHP senior', 'Inglés', // idioma opcional10 // cantidad opcional );
Analiza la reseña del producto del cliente y proporciona su opinión (POSITIVO/NEGATIVO/NEUTRAL) con una puntuación entre 0 y 100 %. Excelente para el procesamiento de informes de opiniones para cualquier tienda en línea.
$statusUrl = SharpApiService::productReviewSentiment('contenido de la reseña del cliente');
Genera una lista de categorías adecuadas para el producto con ponderaciones de relevancia como valor flotante (1,0-10,0), donde 10 equivale al 100 %, la puntuación de relevancia más alta. Proporcione el nombre del producto y sus parámetros para obtener las mejores coincidencias de categorías posibles. Resulta útil para completar los datos del catálogo de productos y procesar productos a granel.
Puede limitar la salida con el parámetro max_quantity
.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone
. Pueden ser adjetivos como funny
o joyous
, o incluso el nombre de un escritor famoso.
Dentro de un contexto de parámetro 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', 'Inglés', // idioma opcional5, // cantidad opcional'Tech-savvy', // tono de voz opcional'Consola de juegos, Consola PS5' // contexto opcional, categorías actuales para coincidir );
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. Resulta útil para completar los datos del catálogo de productos y procesar 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 lenguaje, en lugar de un requisito estricto, para mantener el sentido general del resultado.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone
. Pueden ser adjetivos como funny
o joyous
, o incluso el nombre de un escritor famoso.
$statusUrl = SharpApiService::generateProductIntro('Sony Playstation 5', SharpApiLanguages::ENGLISH, // idioma opcional300, // longitud opcional'Divertido' // tono de voz opcional );
Genera un correo electrónico personalizado de agradecimiento al cliente después de la compra. El contenido de la respuesta no contiene el título, el saludo ni la información del remitente al final, por lo que puedes 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 lenguaje, en lugar de un requisito estricto, para mantener el sentido general del resultado.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone
. Pueden 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 se puede utilizar para proporcionar instrucciones flexibles adicionales para el procesamiento de contenido.
$statusUrl = SharpApiService::generateThankYouEmail('Sony Playstation 5', SharpApiLanguages::ENGLISH, // idioma opcional250, // longitud opcional'Neutral', // tono de voz opcional'Debe invitar al cliente a visitar nuevamente antes de las vacaciones' // opcional contexto );
Traduce el texto proporcionado al idioma seleccionado. Se admiten 80 idiomas. Consulte la clase SharpApiLanguages
Enum incluida para obtener más detalles.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone
. Pueden 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 utilizar 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, // idioma opcional'neutral', // tono de voz opcional'para pasar página' // contexto opcional );// dará como resultado :// {"content": "tourner", "to_language": "French", "from_language": "English"}
Genera una versión parafraseada del texto proporcionado. Sólo se requiere el parámetro content
. Puede definir el idioma de salida, la longitud máxima de caracteres 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 lenguaje, en lugar de un requisito estricto, para mantener el sentido general del resultado.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone
opcional. Pueden 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 se puede utilizar para proporcionar instrucciones flexibles adicionales para el procesamiento de contenido.
$statusUrl = SharpApiService::paraphrase($text, SharpApiLanguages::FRENCH, // idioma opcional500, // longitud opcional'neutral', // tono de voz opcional'evitar el uso de abreviaturas' // contexto opcional );
Revisa (y revisa la gramática) un texto proporcionado.
$statusUrl = SharpApiService::revisión($texto);
Comprueba si el contenido proporcionado pasa una prueba de filtración de spam. Proporciona un porcentaje de confianza y una explicación sobre si se considera spam o no. Esta información es útil para que los moderadores tomen una decisión final.
$statusUrl = SharpApiService::detectSpam($texto);
Analiza el texto proporcionado en busca de números de teléfono y devuelve la versión original detectada y su formato E.164. Puede resultar útil en el caso de procesar y validar grandes cantidades de datos con números de teléfono o si desea detectar números de teléfono en lugares donde se supone que no deben estar.
$statusUrl = SharpApiService::detectPhones($texto);
Analiza el texto proporcionado en busca de posibles correos electrónicos. Puede resultar útil en caso de procesar y validar grandes cantidades de datos con direcciones de correo electrónico o si desea detectar correos electrónicos en lugares donde se supone que no deben estar.
$statusUrl = SharpApiService::detectEmails($texto);
Genera una lista de palabras clave/etiquetas únicas basadas en el contenido proporcionado.
Puede limitar la salida con el parámetro max_quantity
.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone
.
$statusUrl = SharpApiService::generateKeywords($text, 'English', // idioma5 opcional, // longitud opcional'Freaky & Curious', // tono de voz opcional'¡agregar emojis!' // instrucciones de contexto adicionales opcionales para el procesamiento de contenido );
Genera una versión resumida del contenido proporcionado. Perfecto para generar introducciones 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 lenguaje, en lugar de un requisito estricto, para mantener el sentido general del resultado.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_ton
e. Pueden ser adjetivos como funny
o joyous
, o incluso el nombre de un escritor famoso.
$statusUrl = SharpApiService::summarizeText($text, 'English', // idioma opcional'David Attenborough', // tono de voz opcional'¡agregar emojis!' // instrucciones de contexto adicionales opcionales para el procesamiento de contenido );
Genera todas las etiquetas META más importantes en función del contenido proporcionado. Asegúrese de incluir un enlace al sitio web y la URL de las imágenes para completar tantas etiquetas como sea posible.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_ton
e. Pueden ser adjetivos como funny
o joyous
, o incluso el nombre de un escritor famoso.
$statusUrl = SharpApiService::generateSeoTags($text, 'English', // idioma opcional'David Attenborough' // tono de voz opcional );
Analiza la reseña del producto Viajes/Hospitalidad y proporciona su sentimiento (POSITIVO/NEGATIVO/NEUTRAL) con una puntuación entre 0 y 100 %. Excelente para el procesamiento de informes de opiniones para cualquier tienda en línea.
$statusUrl = SharpApiService::travelReviewSentiment($texto);
Genera una lista de categorías adecuadas para el producto Tours y actividades con ponderaciones de relevancia como valor flotante (1,0-10,0), donde 10 equivale a 100 %, la puntuación de relevancia más alta. Proporcione el nombre del producto y sus parámetros para obtener las mejores coincidencias de categorías posibles. Resulta útil para completar los datos del catálogo de productos y procesar productos a granel. Solo se requiere el primer parámetro productName
.
Puede limitar la salida con el parámetro max_quantity
.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone
. Pueden ser adjetivos como funny
o joyous
, o incluso el nombre de un escritor famoso.
Dentro de un context
de parámetro 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', // ciudad opcional'Vietnam', // país opcional'Inglés', // idioma opcional10, // cantidad opcional'Aventurero', // tono de voz opcional 'Bay Hotels, Ha Long Hotels' // contexto opcional, categorías actuales para coincidir );
Genera una lista de categorías adecuadas para el producto de tipo hotelero con ponderaciones de relevancia como valor flotante (1,0-10,0), donde 10 equivale a 100 %, la puntuación de relevancia más alta. Proporcione el nombre del producto y sus parámetros para obtener las mejores coincidencias de categorías posibles. Resulta útil para completar datos de catálogos de productos y procesar productos a granel. Solo se requiere el primer parámetro productName
.
Puede limitar la salida con el parámetro max_quantity
.
Puede configurar su estilo de escritura preferido proporcionando un parámetro voice_tone
. Pueden ser adjetivos como funny
o joyous
, o incluso el nombre de un escritor famoso.
Dentro de un context
de parámetro 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', // opcional ciudad'Japón', // opcional país'Inglés', // opcional idioma10, // opcional cantidad'Aventurero', // opcional tono de voz 'Tokyo Hotels, Crystal Hotels' // contexto opcional, categorías actuales para coincidir );
Punto final para verificar los detalles sobre el período actual de la suscripción
$statusUrl = SharpApiService::cuota();
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 de cuota mensual actual y puede servir como una alerta para el usuario sobre 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 interrupciones en el servicio.
Estos valores también están disponibles en el Panel en https://sharpapi.com/dashboard
Punto final PING simple para verificar la disponibilidad de la API y su zona horaria interna (marca de tiempo).
$statusUrl = SharpApiService::ping();
resultará en:
{ "ping": "pong", "marca de tiempo": "2024-03-12T08:50:11.188308Z"}
Háganos saber a través de GitHub »
o Únase a nuestro grupo de Telegram »
Consulte CHANGELOG para obtener más información sobre los cambios recientes.
A2Z WEB LTD
David Makowski
¡Mejora tus capacidades de IA de Laravel!
La Licencia MIT (MIT). Consulte el archivo de licencia para obtener más información.
Para conocer las últimas noticias, tutoriales y estudios de casos, no olvide seguirnos en:
SharpAPI X (anteriormente Twitter)
SharpAPI YouTube
SharpAPI Vimeo
SharpAPIFacebook