Este es el cliente Python para la API de NLP Cloud. Consulte la documentación para obtener más detalles.
NLP Cloud ofrece modelos personalizados o previamente entrenados de alto rendimiento para NER, análisis de sentimientos, clasificación, resumen, resumen de diálogos, paráfrasis, clasificación de intenciones, descripción de productos y generación de anuncios, chatbot, corrección gramatical y ortográfica, extracción de palabras clave y frases clave, generación de texto. , generación de imágenes, generación de código fuente, respuesta a preguntas, reconocimiento automático de voz, traducción automática, detección de idioma, búsqueda semántica, similitud semántica, tokenización, etiquetado POS, incrustaciones y análisis de dependencia. Está listo para producción y se sirve a través de una API REST.
Puede utilizar los modelos previamente entrenados de NLP Cloud, ajustar sus propios modelos o implementar sus propios modelos.
Si tiene un problema, no dude en plantearlo como un problema de Github. ¡Gracias!
Instalar a través de pip.
pip install nlpcloud
Aquí hay un ejemplo completo que resume un texto usando el modelo Bart Large CNN de Facebook, con un token falso:
import nlpcloud
client = nlpcloud . Client ( "bart-large-cnn" , "4eC39HqLyjWDarjtT1zdp7dc" )
client . summarization ( """One month after the United States began what has become a
troubled rollout of a national COVID vaccination campaign, the effort is finally
gathering real steam. Close to a million doses -- over 951,000, to be more exact --
made their way into the arms of Americans in the past 24 hours, the U.S. Centers
for Disease Control and Prevention reported Wednesday. That s the largest number
of shots given in one day since the rollout began and a big jump from the
previous day, when just under 340,000 doses were given, CBS News reported.
That number is likely to jump quickly after the federal government on Tuesday
gave states the OK to vaccinate anyone over 65 and said it would release all
the doses of vaccine it has available for distribution. Meanwhile, a number
of states have now opened mass vaccination sites in an effort to get larger
numbers of people inoculated, CBS News reported.""" )
Aquí hay un ejemplo completo que hace lo mismo, pero en una GPU:
import nlpcloud
client = nlpcloud . Client ( "bart-large-cnn" , "4eC39HqLyjWDarjtT1zdp7dc" , True )
client . summarization ( """One month after the United States began what has become a
troubled rollout of a national COVID vaccination campaign, the effort is finally
gathering real steam. Close to a million doses -- over 951,000, to be more exact --
made their way into the arms of Americans in the past 24 hours, the U.S. Centers
for Disease Control and Prevention reported Wednesday. That s the largest number
of shots given in one day since the rollout began and a big jump from the
previous day, when just under 340,000 doses were given, CBS News reported.
That number is likely to jump quickly after the federal government on Tuesday
gave states the OK to vaccinate anyone over 65 and said it would release all
the doses of vaccine it has available for distribution. Meanwhile, a number
of states have now opened mass vaccination sites in an effort to get larger
numbers of people inoculated, CBS News reported.""" )
Aquí hay un ejemplo completo que hace lo mismo, pero en un texto en francés:
import nlpcloud
client = nlpcloud . Client ( "bart-large-cnn" , "4eC39HqLyjWDarjtT1zdp7dc" , True , "fra_Latn" )
client . summarization ( """Sur des images aériennes, prises la veille par un vol de surveillance
de la Nouvelle-Zélande, la côte d’une île est bordée d’arbres passés du vert
au gris sous l’effet des retombées volcaniques. On y voit aussi des immeubles
endommagés côtoyer des bâtiments intacts. « D’après le peu d’informations
dont nous disposons, l’échelle de la dévastation pourrait être immense,
spécialement pour les îles les plus isolées », avait déclaré plus tôt
Katie Greenwood, de la Fédération internationale des sociétés de la Croix-Rouge.
Selon l’Organisation mondiale de la santé (OMS), une centaine de maisons ont
été endommagées, dont cinquante ont été détruites sur l’île principale de
Tonga, Tongatapu. La police locale, citée par les autorités néo-zélandaises,
a également fait état de deux morts, dont une Britannique âgée de 50 ans,
Angela Glover, emportée par le tsunami après avoir essayé de sauver les chiens
de son refuge, selon sa famille.""" )
Se devuelve un objeto json:
{
"summary_text" : " Over 951,000 doses were given in the past 24 hours. That's the largest number of shots given in one day since the rollout began. That number is likely to jump quickly after the federal government gave states the OK to vaccinate anyone over 65. A number of states have now opened mass vaccination sites. "
}
Pase el modelo que desea utilizar y el token de NLP Cloud al cliente durante la inicialización.
El modelo puede ser un modelo previamente entrenado como en_core_web_lg
, bart-large-mnli
... pero también uno de sus modelos personalizados, usando custom_model/
(por ejemplo, custom_model/2568
). Consulte la documentación para obtener una lista completa de todos los modelos disponibles.
Su token se puede recuperar desde su panel de NLP Cloud.
import nlpcloud client = nlpcloud . Client ( "" , "" )
Si desea utilizar una GPU, pase gpu=True
.
import nlpcloud client = nlpcloud . Client ( "" , "" , gpu = True )
Si desea utilizar el complemento multilingüe para procesar textos que no están en inglés, pase lang="
. Por ejemplo, si desea procesar texto en francés, debe configurar lang="fra_Latn"
.
import nlpcloud client = nlpcloud . Client ( "" , "" , lang = "" )
Si desea realizar solicitudes asincrónicas, pase asynchronous=True
.
import nlpcloud client = nlpcloud . Client ( "" , "" , asynchronous = True )
Si realiza solicitudes asincrónicas, siempre recibirá una respuesta rápida que contiene una URL. Luego, debes sondear esta URL con async_result()
de forma regular (cada 10 segundos, por ejemplo) para comprobar si el resultado está disponible. Aquí hay un ejemplo:
client . async_result ( "https://api.nlpcloud.io/v1/get-async-result/21718218-42e8-4be9-a67f-b7e18e03b436" )
El comando anterior devuelve un objeto JSON cuando la respuesta está lista. De lo contrario, devuelve None
.
Llame al método asr()
y pase los siguientes argumentos:
url
: una URL donde está alojado su archivo de audio o videoencoded_file
: una versión codificada en base 64 de su archivoinput_language
: el idioma de su archivo como código ISO client . asr ( "Your url" )
El comando anterior devuelve un objeto JSON.
Llame al método chatbot()
y pase su entrada. Como opción, también puedes pasar un contexto y un historial de conversaciones que es una lista de diccionarios. Cada diccionario se compone de una input
y una response
del chatbot.
client . chatbot ( "Your input" , "You context" , [{ "input" : "input 1" , "response" : "response 1" }, { "input" : "input 2" , "response" : "response 2" }, ...])
El comando anterior devuelve un objeto JSON.
Llame al método classification()
y pase los siguientes argumentos:
multi_class
: si la clasificación debe ser multiclase o no, como booleano. El valor predeterminado es verdadero. client . classification ( "" , [ "label 1" , "label 2" , "..." ])
El comando anterior devuelve un objeto JSON.
Llame al método code_generation()
y pase la instrucción para el programa que desea generar:
client . code_generation ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método dependencies()
y pase el texto en el que desea realizar el etiquetado de parte del discurso (POS) + arcos.
client . dependencies ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método embeddings()
y pase una lista de bloques de texto de los que desea extraer incrustaciones.
client . embeddings ([ "" , "" , "" , ...])
El comando anterior devuelve un objeto JSON.
Llame al método entities()
y pase el texto en el que desea realizar el reconocimiento de entidades nombradas (NER).
client . entities ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método generation()
y pase los siguientes argumentos:
max_length
: Opcional. El número máximo de tokens que debe contener el texto generado. 256 tokens como máximo para GPT-J en CPU, 1024 tokens como máximo para GPT-J y GPT-NeoX 20B en GPU, y 2048 tokens como máximo para Fast GPT-J y Finetuned GPT-NeoX 20B en GPU. Si length_no_input
es falso, el tamaño del texto generado es la diferencia entre max_length
y la longitud del texto de entrada. Si length_no_input
es verdadero, el tamaño del texto generado simplemente es max_length
. El valor predeterminado es 50.length_no_input
: si min_length
y max_length
no deben incluir la longitud del texto de entrada, como un valor booleano. Si es falso, min_length
y max_length
incluyen la longitud del texto de entrada. Si es verdadero, min_length y max_length
no incluyen la longitud del texto de entrada. El valor predeterminado es falso.end_sequence
: un token específico que debe ser el final de la secuencia generada, como una cadena. Por ejemplo si podría ser .
o n
o ###
o cualquier otra cosa con menos de 10 caracteres.remove_input
: si desea eliminar el texto de entrada del resultado, como un valor booleano. El valor predeterminado es falso.num_beams
: Número de haces para la búsqueda de haces. 1 significa que no hay búsqueda de haz. Este es un número entero. El valor predeterminado es 1.num_return_sequences
: el número de secuencias devueltas calculadas de forma independiente para cada elemento del lote, como un número entero. El valor predeterminado es 1.top_k
: el número de tokens de vocabulario de mayor probabilidad que se conservarán para el filtrado top-k, como un número entero. Máximo 1000 fichas. El valor predeterminado es 0.top_p
: si se establece en flotante <1, solo se conservan para la generación los tokens más probables con probabilidades que sumen top_p o más. Este es un flotador. Debe estar entre 0 y 1. El valor predeterminado es 0,7.temperature
: el valor utilizado para modular las probabilidades del siguiente token, como un valor flotante. Debe estar entre 0 y 1. El valor predeterminado es 1.repetition_penalty
: el parámetro para la penalización por repetición, como flotante. 1.0 significa que no hay penalización. El valor predeterminado es 1.0.bad_words
: Lista de tokens que no se permite generar, como una lista de cadenas. El valor predeterminado es nulo.remove_end_sequence
: Opcional. Si desea eliminar la cadena end_sequence
del resultado. El valor predeterminado es falso. client . generation ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método gs_correction()
y pase el texto que desea corregir:
client . gs_correction ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método image_generation()
y pase la instrucción de texto para la nueva imagen que desea generar:
client . image_generation ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método intent_classification()
y pase el texto del que desea extraer los intents:
client . intent_classification ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método kw_kp_extraction()
y pase el texto del que desea extraer palabras clave y frases clave:
client . kw_kp_extraction ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método langdetection()
y pase el texto que desea analizar para detectar los idiomas.
client . langdetection ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método paraphrasing()
y pase el texto que desea parafrasear.
client . paraphrasing ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método question()
y pase lo siguiente:
client . question ( "" , "" )
El comando anterior devuelve un objeto JSON.
Llame al método semantic_search()
y pase su consulta de búsqueda.
client . semantic_search ( "Your search query" )
El comando anterior devuelve un objeto JSON.
Llame al método semantic_similarity()
y pase una lista compuesta por 2 bloques de texto que desea comparar.
client . semantic_similarity ([ "" , "" ])
El comando anterior devuelve un objeto JSON.
Llame al método sentence_dependencies()
y pase un bloque de texto compuesto por varias oraciones en las que desea realizar arcos POS +.
client . sentence_dependencies ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método sentiment()
y pase lo siguiente:
client . sentiment ( "" , "" )
El comando anterior devuelve un objeto JSON.
Llame al método speech_synthesis()
y pase el texto que desea convertir a audio:
client . speech_synthesis ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método summarization()
y pase el texto que desea resumir.
client . summarization ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método tokens()
y pase el texto que desea tokenizar.
client . tokens ( "" )
El comando anterior devuelve un objeto JSON.
Llame al método translation()
y pase el texto que desea traducir.
client . translation ( "" )
El comando anterior devuelve un objeto JSON.