Veja mais no site SharpAPI.com »
PHP >= 8.1
Laravel >= 9,0
Se você não usa Laravel, você pode encontrar o cliente genérico SharpAPI PHP aqui »
Siga estas etapas para instalar e configurar o pacote SharpAPI Laravel Client.
Instale o pacote via composer
:
compositor requer sharpapi/sharpapi-laravel-client
Registre-se em SharpAPI.com e obtenha a chave API.
Defina a chave API dentro de .env
SHARP_API_KEY=chave
[OPCIONAL] Publique o arquivo de configuração sharpapi-client.php
.
Nota: Você não precisa mais publicar o arquivo de configuração para usar este pacote. Por padrão, o pacote usará valores padrão razoáveis. Você só precisa publicar a configuração se desejar personalizá-la.
fornecedor de artesão php:publish --tag=sharpapi-laravel-client
? Comércio eletrônico
Gere rapidamente apresentações de produtos envolventes para atrair clientes.
Crie automaticamente e-mails de agradecimento personalizados para melhorar a experiência do cliente.
Simplifique a categorização de produtos para um catálogo bem organizado.
Análise de sentimento: entenda e analise o sentimento em análises de produtos para tomada de decisão baseada em dados.
️ Conteúdo e automação de marketing
Traduza facilmente textos para um público global.
Parafraseie e revise qualquer texto (incluindo verificação gramatical)
Detecção de conteúdo de spam: identifique e filtre conteúdo de spam de maneira eficaz.
Extração de informações de contato: extraia números de telefone e endereços de e-mail de formatos não padrão para comunicação simplificada.
Gere resumos concisos e palavras-chave/tags exclusivas para melhorar o consumo de conteúdo.
Aumente os esforços de SEO gerando automaticamente META tags com base no conteúdo.
Tecnologia de RH
Gere descrições de cargos complexas sem esforço, economizando tempo no processo de contratação.
Habilidades e informações sobre cargos: identifique cargos e habilidades relacionados para agilizar o recrutamento.
Análise automatizada de currículos: analise e extraia informações de arquivos de currículos com eficiência para facilitar o processamento.
Viagens, Turismo e Hotelaria
Analise o sentimento nas avaliações de viagens para melhorar os serviços.
Simplifique a categorização de passeios, atividades e produtos de hospitalidade.
Consulte o oficial:
Documentação da API
Suporte multilíngue : suporte para 80 idiomas para cada endpoint de API de análise de conteúdo ou dados. Confira a lista aqui.
Formato RESTful fácil de usar : com conjunto padronizado de endpoints - obtenha insights valiosos por meio de endpoints de análise, abrangendo categorias de produtos, habilidades e cargos, fornecendo pontuações relevantes.
Sempre os mesmos formatos de dados limpos : fique tranquilo com um formato JSON consistente e previsível para todos os dados retornados. Não há necessidade de se preocupar com dados confusos de IA.
Suporte Técnico : Criado por desenvolvedores para desenvolvedores, oferecemos assistência contínua durante toda a sua jornada.
Você pode injetar a classe SharpApiService
ou usar o singleton de fachada SharpApiService
.
Recomendamos que você utilize o sistema de filas Laravel para otimizar os jobs despachados e o processo de verificação dos resultados, principalmente se você processar lotes maiores de dados.
O caso de uso típico requer estas etapas:
Envie um dos métodos de processamento de IA disponíveis (isso retornará o URL do status de processamento do trabalho)
Execute o método fetchResults($statusUrl)
que opera em modo polling, enviando solicitações abaixo a cada 10 segundos por 180 segundos (esses valores podem ser customizados).
O objeto SharpApiJob
será retornado.
Para um trabalho finalizado com status de retorno success
você pode obter os resultados com um dos métodos, por exemplo $jobResultJson = $jobResult->getResultJson()
.
Cada trabalho despachado geralmente leva de alguns segundos a um minuto.
Após esse período, um trabalho devolvido normalmente terá status success
e seus resultados estarão disponíveis para processamento posterior. Cada método API retorna um formato de retorno diferente. Vá para Lista de métodos/endpoints de API abaixo para obter detalhes»
Nossa API garante retornar sempre o formato correto. Os mecanismos de IA que a SharpAPI usa em casos raros tendem a se comportar mal e atingir o tempo limite ou retornar dados incorretos. Nesses casos, o status
retornado para o trabalho será failed
. Você pode executar novamente exatamente a mesma solicitação de trabalho nesse caso.
Enquanto o trabalho ainda estiver sendo processado pelo nosso mecanismo, ele continuará retornando o status pending
.
<?phpnamespace AppHttpControllers;use GuzzleHttpExceptionGuzzleException;use SharpAPISharpApiServiceSharpApiService;class SharpTest estende Controller{função pública __construct(public SharpApiService $sharpApiService) { }/** * @throws GuzzleException */public function detect_phones(): void{$statusUrl = $this->sharpApiService->detectPhones('Onde nos encontrar? Ligue para um consultor técnico de vendas: Ligue: 1800-394-7486 ou nosso escritório em Cingapura +65 8888 8888'); $resultado = $this->sharpApiService->fetchResults($statusUrl); dd($result->getResultJson());/* retornou: [ { "detected_number": "1800-394-7486", "parsed_number": "+18003947486" }, { "detected_number": "+65 8888 8888" , "parsed_number": "+6588888888" } ] */} }
As solicitações HTTP subjacentes são facilitadas pelo Laravel HTTP Client/Guzzle, tornando aconselhável se familiarizar com as exceções comuns do Guzzle.
use GuzzleHttpExceptionClientException;// Etapa 1: despache o trabalho para a API com um dos métodos, por exemplo:try {$statusUrl = SharpApiService::summarizeText($text, 'German', // idioma opcional500, // comprimento opcional' tom de voz neutro' // tom de voz opcional );// Valor de exemplo $statusUrl: 'http://sharpapi.com/api/v1/job/status/75acb6dc-a975-4969-9ef1-c62cebc511cb'} catch (ClientException $e) { $e->getResponse( ) }// Etapa 2: solicitação para verificar o status do trabalho no modo de pesquisa e aguardar o resultado$jobResult = SharpApiService::fetchResults($statusUrl); // Etapa 3: obter resultados do trabalho de API despachado, pois isso retorna o resultado do trabalho como um lindo JSON$jobResultJson = $jobResult->getResultJson();// ..ou array PHP:$jobResultArray = $jobResult->getResultArray();// ..ou PHP stdClass:$jobResultObject = $jobResult->getResultObject();
Portanto, você pode substituir esses valores pelas configurações .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 sempre retorna o objeto SharpApiJob
, onde seus métodos getResultJson / getResultArray / getResultObject
retornarão diferentes estruturas de dados. Consulte os exemplos detalhados fornecidos em SharpAPI.com
Para métodos que possuem parâmetro language
, você também pode usar valores SharpApiLanguages
Enum para tornar seu código mais legível.
Analisa um arquivo de currículo (CV) de vários formatos (PDF/DOC/DOCX/TXT/RTF) e retorna um extenso objeto de pontos de dados.
Um parâmetro opcional de idioma de saída também pode ser fornecido (o valor English
é definido como padrão).
$statusUrl = SharpApiService::parseResume('/test/resume.pdf', 'Inglês');
Com base na lista de parâmetros extensos, esse endpoint fornece detalhes concisos do trabalho no formato de resposta, incluindo uma breve descrição, requisitos e responsabilidades do trabalho. O único parâmetro obrigatório é name
.
Esta funcionalidade utiliza um parâmetro especializado de classe DTO
( Data Transfer Object
) denominado JobDescriptionParameters
para auxiliar na validação de parâmetros de entrada. Apenas o parâmetro name
no construtor deste DTO
é obrigatório.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_tone. Podem ser adjetivos como funny
ou joyous
, ou até mesmo o nome de um escritor famoso.
Este método API também fornece um parâmetro de contexto opcional, que pode ser usado para fornecer instruções flexíveis adicionais para processamento de conteúdo.
$jobDescriptionParameters = novo JobDescriptionParameters( nome: "Engenheiro Sênior PHP", nome_da_empresa: "ACME LTD", // opcionalminimum_work_experiência: "5 anos", // opcionalminimum_education: "Bacharelado", // opcionalemployment_type: "tempo integral", // opcionalrequired_skills: ['PHP8', 'Laravel'], // opcionaloptional_skills: ['AWS', 'Redis'], // opcionalpaís: "Reino Unido", // opcionalremote: true, // opcionalvisa_patrocinado: true, // opcionalvoice_tone: 'Professional and Geeky', // tom de voz opcionalcontext: null, // contexto opcional, instruções adicionais de processamento de IAidioma: null // idioma de saída opcional );$statusUrl = SharpApiService::generateJobDescription($jobDescriptionParameters);
Gera uma lista de habilidades relacionadas com seus pesos como um valor flutuante (1,0-10,0), onde 10 é igual a 100%, a pontuação de relevância mais alta.
Apenas o primeiro parâmetro ( name
) é obrigatório.
Você pode limitar a saída com o parâmetro max_quantity
.
$statusUrl = SharpApiService:: RelatedSkills('MySQL', 'English', // idioma opcional10 // quantidade opcional );
Gera uma lista de cargos relacionados com seus pesos como valor flutuante (1,0-10,0), onde 10 é igual a 100%, a pontuação de relevância mais alta.
Apenas o primeiro parâmetro ( name
) é obrigatório.
Você pode limitar a saída com o parâmetro max_quantity
.
$statusUrl = SharpApiService:: RelatedJobPositions('Engenheiro PHP Sênior', 'Inglês', // idioma opcional10 // quantidade opcional );
Analisa a avaliação do produto do cliente e fornece seu sentimento (POSITIVO/NEGATIVO/NEUTRO) com uma pontuação entre 0-100%. Ótimo para processamento de relatórios de sentimentos para qualquer loja online.
$statusUrl = SharpApiService::productReviewSentiment('conteúdo da avaliação do cliente');
Gera uma lista de categorias adequadas para o produto com pesos de relevância como um valor flutuante (1,0-10,0), onde 10 é igual a 100%, a pontuação de relevância mais alta. Forneça o nome do produto e seus parâmetros para obter as melhores correspondências de categoria possíveis. É útil para preencher dados de catálogo de produtos e processamento de produtos em massa.
Você pode limitar a saída com o parâmetro max_quantity
.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_tone
. Podem ser adjetivos como funny
ou joyous
, ou até mesmo o nome de um escritor famoso.
Dentro de um contexto de parâmetro opcional adicional, você pode fornecer uma lista de outras categorias que serão levadas em consideração durante o processo de mapeamento (por exemplo, suas categorias atuais de comércio eletrônico).
$statusUrl = SharpApiService::productCategories('Sony Playstation 5', 'English', // idioma opcional5, // quantidade opcional'Tech-savvy', // tom de voz opcional'Game Console, PS5 Console' // contexto opcional, categorias atuais para corresponder );
Gera uma versão mais curta da descrição do produto. Forneça o máximo de detalhes e parâmetros do produto para obter a melhor introdução de marketing possível. É útil para preencher dados de catálogo de produtos e processamento de produtos em massa.
Você pode limitar a saída com o parâmetro max_length
. Tenha em mente que max_length
serve como uma forte sugestão para o modelo de linguagem, em vez de um requisito estrito, para manter o sentido geral do resultado.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_tone
. Podem ser adjetivos como funny
ou joyous
, ou até mesmo o nome de um escritor famoso.
$statusUrl = SharpApiService::generateProductIntro('Sony Playstation 5', SharpApiLanguages::ENGLISH, // idioma opcional300, // comprimento opcional'Funny' // tom de voz opcional );
Gera um e-mail de agradecimento personalizado ao cliente após a compra. O conteúdo da resposta não contém título, saudação ou informações do remetente no final, para que você possa personalizar facilmente o restante do e-mail.
Você pode limitar a saída com o parâmetro max_length. Tenha em mente que max_length
serve como uma forte sugestão para o modelo de linguagem, em vez de um requisito estrito, para manter o sentido geral do resultado.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_tone
. Podem ser adjetivos como engraçado ou alegre, ou até mesmo o nome de um escritor famoso.
Este método API também fornece um parâmetro de contexto opcional, que pode ser usado para fornecer instruções flexíveis adicionais para processamento de conteúdo.
$statusUrl = SharpApiService::generateThankYouEmail('Sony Playstation 5', SharpApiLanguages::ENGLISH, // idioma opcional250, // comprimento opcional'Neutro', // tom de voz opcional'Deve convidar o cliente para visitar novamente antes dos feriados' // opcional contexto );
Traduz o texto fornecido para o idioma selecionado. 80 idiomas são suportados. Verifique a classe SharpApiLanguages
Enum incluída para obter detalhes.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_tone
. Podem ser adjetivos como engraçado ou alegre, ou até mesmo o nome de um escritor famoso.
Um parâmetro context
opcional também está disponível. Pode ser usado para fornecer mais contexto ao texto traduzido, como o exemplo de caso de uso ou algumas explicações adicionais.
$statusUrl = SharpApiService::translate('turn', SharpApiLanguages::FRENCH, // idioma opcional'neutro', // tom de voz opcional'para virar uma página' // contexto opcional );// resultará em :// {"content": "tourner", "to_Language": "French", "from_Language": "English"}
Gera uma versão parafraseada do texto fornecido. Somente o parâmetro content
é obrigatório. Você pode definir o idioma de saída, o comprimento máximo dos caracteres e o tom de voz.
Instruções adicionais sobre como processar o texto podem ser fornecidas no parâmetro context. Tenha em mente que max_length
serve como uma forte sugestão para o modelo de linguagem, em vez de um requisito estrito, para manter o sentido geral do resultado.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro opcional voice_tone
. Podem ser adjetivos como funny
ou joyous
, ou até mesmo o nome de um escritor famoso.
Este método API também fornece um parâmetro context
opcional, que pode ser usado para fornecer instruções flexíveis adicionais para processamento de conteúdo.
$statusUrl = SharpApiService::paraphrase($text, SharpApiLanguages::FRENCH, // idioma opcional500, // comprimento opcional'neutro', // tom de voz opcional'evite usar abreviações' // contexto opcional );
Revisa (e verifica a gramática) um texto fornecido.
$statusUrl = SharpApiService::revisão($texto);
Verifica se o conteúdo fornecido passa no teste de filtragem de spam. Fornece uma pontuação percentual de confiança e uma explicação sobre se é considerado spam ou não. Esta informação é útil para os moderadores tomarem uma decisão final.
$statusUrl = SharpApiService::detectSpam($text);
Analisa o texto fornecido para qualquer número de telefone e retorna a versão original detectada e seu formato E.164. Pode ser útil no caso de processamento e validação de grandes blocos de dados em relação a números de telefone ou, se você quiser detectar números de telefone em locais onde eles não deveriam estar.
$statusUrl = SharpApiService::detectPhones($text);
Analisa o texto fornecido para quaisquer e-mails possíveis. Pode ser útil no caso de processamento e validação de grandes blocos de dados em endereços de e-mail ou, se você quiser detectar e-mails em locais onde eles não deveriam estar.
$statusUrl = SharpApiService::detectEmails($text);
Gera uma lista de palavras-chave/tags exclusivas com base no conteúdo fornecido.
Você pode limitar a saída com o parâmetro max_quantity
.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_tone
.
$statusUrl = SharpApiService::generateKeywords($text, 'English', // idioma opcional5, // comprimento opcional'Freaky & Curious', // tom de voz opcional'adicionar emojis!' // instruções de contexto extras opcionais para processamento de conteúdo );
Gera uma versão resumida do conteúdo fornecido. Perfeito para gerar introduções de marketing de textos mais longos.
Você pode limitar a saída com o parâmetro max_length
. Tenha em mente que max_length
serve como uma forte sugestão para o modelo de linguagem, em vez de um requisito estrito, para manter o sentido geral do resultado.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_ton
e. Podem ser adjetivos como funny
ou joyous
, ou até mesmo o nome de um escritor famoso.
$statusUrl = SharpApiService::summarizeText($text, 'English', // idioma opcional'David Attenborough', // tom de voz opcional'adicionar emojis!' // instruções de contexto extras opcionais para processamento de conteúdo );
Gera todas as META tags mais importantes com base no conteúdo fornecido. Certifique-se de incluir o link para o site e o URL das imagens para preencher o máximo possível de tags.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_ton
e. Podem ser adjetivos como funny
ou joyous
, ou até mesmo o nome de um escritor famoso.
$statusUrl = SharpApiService::generateSeoTags($text, 'English', // idioma opcional'David Attenborough' // tom de voz opcional );
Analisa a avaliação do produto Viagem/Hospitalidade e fornece seu sentimento (POSITIVO/NEGATIVO/NEUTRO) com uma pontuação entre 0-100%. Ótimo para processamento de relatórios de sentimentos para qualquer loja online.
$statusUrl = SharpApiService::travelReviewSentiment($text);
Gera uma lista de categorias adequadas para o produto Passeios e atividades com pesos de relevância como valor flutuante (1,0-10,0), onde 10 equivale a 100%, a pontuação de relevância mais alta. Forneça o nome do produto e seus parâmetros para obter as melhores correspondências de categoria possíveis. É útil para preencher dados de catálogo de produtos e processamento de produtos em massa. Somente o primeiro parâmetro productName
é obrigatório.
Você pode limitar a saída com o parâmetro max_quantity
.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_tone
. Podem ser adjetivos como funny
ou joyous
, ou até mesmo o nome de um escritor famoso.
Dentro de um parâmetro adicional opcional context
, você pode fornecer uma lista de outras categorias que serão levadas em consideração durante o processo de mapeamento (por exemplo, suas categorias atuais de comércio eletrônico).
$statusUrl = SharpApiService::toursAndActivitiesProductCategories('Oasis of the Bay''Ha Long', // cidade opcional'Vietnã', // país opcional'Inglês', // idioma opcional10, // quantidade opcional'Aventureiro', // tom de voz opcional'Bay Hotels, Ha Long Hotels' // contexto opcional, categorias atuais para combinar );
Gera uma lista de categorias adequadas para o produto do tipo Hospitalidade com pesos de relevância como valor flutuante (1,0-10,0), onde 10 equivale a 100%, a pontuação de relevância mais alta. Forneça o nome do produto e seus parâmetros para obter as melhores correspondências de categoria possíveis. É útil para preencher dados de catálogos de produtos e processar produtos em massa. Somente o primeiro parâmetro productName
é obrigatório.
Você pode limitar a saída com o parâmetro max_quantity
.
Você pode definir seu estilo de escrita preferido fornecendo um parâmetro voice_tone
. Podem ser adjetivos como funny
ou joyous
, ou até mesmo o nome de um escritor famoso.
Dentro de um parâmetro adicional opcional context
, você pode fornecer uma lista de outras categorias que serão levadas em consideração durante o processo de mapeamento (por exemplo, suas categorias atuais de comércio eletrônico).
$statusUrl = SharpApiService::hospitalityProductCategories('Hotel Crystal 大人専用''Tóquio', // cidade opcional'Japão', // país opcional'Inglês', // idioma opcional10, // quantidade opcional'Aventureiro', // opcional tom de voz'Tokyo Hotels, Crystal Hotels' // contexto opcional, categorias atuais para combinar );
Endpoint para verificar detalhes sobre o período atual da assinatura
$statusUrl = SharpApiService::quota();
resultará em:
{"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
é uma porcentagem do uso da cota mensal atual e pode servir como um alerta ao usuário sobre os créditos esgotados. Com um valor superior a 80%, é aconselhável subscrever mais créditos em https://sharpapi.com/dashboard/credits para evitar a interrupção do serviço.
Esses valores também estão disponíveis no Dashboard em https://sharpapi.com/dashboard
Endpoint PING simples para verificar a disponibilidade da API e seu fuso horário interno (timestamp).
$statusUrl = SharpApiService::ping();
resultará em:
{ "ping": "pong", "timestamp": "2024-03-12T08:50:11.188308Z"}
Informe-nos via GitHub »
ou junte-se ao nosso grupo de telegramas »
Consulte CHANGELOG para obter mais informações sobre o que mudou recentemente.
A2Z WEB LTD
David Makowski
Aumente suas capacidades de IA do Laravel!
A licença MIT (MIT). Consulte Arquivo de licença para obter mais informações.
Para obter as últimas notícias, tutoriais e estudos de caso, não se esqueça de nos seguir em:
SharpAPI X (anteriormente Twitter)
SharpAPI YouTube
SharpAPI Vimeo
SharpAPI LinkedIn
SharpAPI Facebook