Dies ist der Python -Client für die NLP -Cloud -API. Weitere Informationen finden Sie in der Dokumentation.
NLP Cloud dient hohe Leistung vor ausgebildete oder benutzerdefinierte Modelle für NER, Sentiment-Analyse, Klassifizierung, Zusammenfassung, Zusammenfassung des Dialogs, Paraphrasing, Absichtenklassifizierung, Produktbeschreibung und Anzeigengenerierung, Chatbot, Grammatik- und Rechtschreibkorrektur, Keywords und Keyphrasen Extraktion, Textgenerierung, Textgenerierung, Textgenerierung , Bildgenerierung, Quellcodegenerierung, Fragenbeantwortung, automatische Spracherkennung, maschinelle Übersetzung, Spracherkennung, semantische Suche, semantische Ähnlichkeit, Tokenisierung, POS -Tagging, Einbettungen und Abhängigkeitsanalysen. Es ist bereit für die Produktion, serviert durch eine REST -API.
Sie können entweder die NLP-Cloud-Vorausgebläer-Modelle verwenden, Ihre eigenen Modelle fein abteilen oder Ihre eigenen Modelle bereitstellen.
Wenn Sie sich einem Problem gegenübersehen, zögern Sie nicht, es als Github -Problem zu erheben. Danke!
Über PIP einbauen.
pip install nlpcloud
Hier ist ein vollständiges Beispiel, das einen Text mit dem Bart Large CNN -Modell von Facebook mit einem gefälschten Token zusammenfasst:
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.""" )
Hier ist ein vollständiges Beispiel, das dasselbe tut, aber auf einer 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.""" )
Hier ist ein vollständiges Beispiel, das dasselbe tut, aber auf einem französischen Text:
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.""" )
Ein JSON -Objekt wird zurückgegeben:
{
"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. "
}
Übergeben Sie das Modell, das Sie verwenden möchten, und das NLP -Cloud -Token während der Initialisierung an den Client.
Das Modell kann entweder ein vorgezogenes Modell wie en_core_web_lg
, bart-large-mnli
sein ... aber auch eines Ihrer benutzerdefinierten Modelle unter Verwendung von custom_model/
(z. B. custom_model/2568
). In der Dokumentation finden Sie eine umfassende Liste aller verfügbaren Modelle.
Ihr Token kann aus Ihrem NLP -Cloud -Dashboard abgerufen werden.
import nlpcloud client = nlpcloud . Client ( "" , "" )
Wenn Sie eine GPU verwenden möchten, passieren Sie gpu=True
.
import nlpcloud client = nlpcloud . Client ( "" , "" , gpu = True )
Wenn Sie das mehrsprachige Add-On verwenden möchten, um nicht-englische Texte zu verarbeiten, passieren Sie lang="
. Wenn Sie beispielsweise den französischen Text verarbeiten möchten, sollten Sie lang="fra_Latn"
festlegen.
import nlpcloud client = nlpcloud . Client ( "" , "" , lang = "" )
Wenn Sie asynchrone Anfragen stellen möchten, bestehen Sie asynchronous=True
.
import nlpcloud client = nlpcloud . Client ( "" , "" , asynchronous = True )
Wenn Sie asynchrone Anfragen stellen, erhalten Sie immer eine schnelle Antwort mit einer URL. Sie sollten diese URL dann regelmäßig mit async_result()
(zum Beispiel alle 10 Sekunden) befragen, um zu überprüfen, ob das Ergebnis verfügbar ist. Hier ist ein Beispiel:
client . async_result ( "https://api.nlpcloud.io/v1/get-async-result/21718218-42e8-4be9-a67f-b7e18e03b436" )
Der obige Befehl gibt ein JSON -Objekt zurück, wenn die Antwort fertig ist. Es gibt sonst None
zurück.
Rufen Sie die asr()
-Methode an und geben Sie die folgenden Argumente weiter:
url
: Eine URL, in der Ihre Audio- oder Videodatei gehostet wirdencoded_file
: Eine Basis 64 codierte Version Ihrer Dateiinput_language
: Die Sprache Ihrer Datei als ISO -Code client . asr ( "Your url" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode chatbot()
an und geben Sie Ihre Eingabe weiter. Optional können Sie auch einen Kontext- und Konversationsgeschichte verabschieden, der eine Liste von Diktionen ist. Jedes Diktionsnary besteht aus einer input
und einer response
aus dem Chatbot.
client . chatbot ( "Your input" , "You context" , [{ "input" : "input 1" , "response" : "response 1" }, { "input" : "input 2" , "response" : "response 2" }, ...])
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode classification()
auf und geben Sie die folgenden Argumente über:
multi_class
: Ob die Klassifizierung als Booleschen Multi-Class sein oder nicht. Standardmäßig true. client . classification ( "" , [ "label 1" , "label 2" , "..." ])
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode code_generation()
auf und geben Sie die Anweisung für das Programm über, das Sie generieren möchten:
client . code_generation ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode dependencies()
auf und geben Sie den Text über, den Sie für einen Teil des Sprach -Tagging (POS) + -Biers ausführen möchten.
client . dependencies ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die embeddings()
-Methode () an und geben Sie eine Liste von Textblöcken über, aus denen Sie Emetten extrahieren möchten.
client . embeddings ([ "" , "" , "" , ...])
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die entities()
-Methode () an und übergeben Sie den Text, den Sie mit dem Namen der genannten Entity Recognition (NER) ausführen möchten.
client . entities ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die generation()
-Methode auf und geben Sie die folgenden Argumente über:
max_length
: Optional. Die maximale Anzahl von Token, die der generierte Text enthalten sollte. 256 Token-Maximum für GPT-J auf der CPU, 1024 Tokens Maximum für GPT-J und GPT-NEOX 20B an GPU und 2048 Tokens Maximum für schnelle GPT-J und finabetuned GPT-NEOX 20B auf GPU. Wenn length_no_input
falsch ist, ist die Größe des generierten Textes die Differenz zwischen max_length
und der Länge Ihres Eingangstextes. Wenn length_no_input
wahr ist, ist die Größe des generierten Textes einfach max_length
. Standardeinstellung auf 50.length_no_input
: Ob min_length
und max_length
die Länge des Eingabetxtes nicht als Boolean enthalten sollten. Wenn falsch, enthalten min_length
und max_length
die Länge des Eingabetxtes. Wenn es zut ist, enthalten min_length und max_length
nicht die Länge des Eingabetxtes. Standardmäßig falsch.end_sequence
: ein spezifisches Token, das das Ende der generierten Sequenz als Zeichenfolge sein sollte. Zum Beispiel, wenn es sein könnte .
oder n
oder ###
oder irgendetwas anderes unter 10 Zeichen.remove_input
: Ob Sie das Eingabetxtformular als Boolean entfernen möchten. Standardmäßig falsch.num_beams
: Anzahl der Strahlen für die Strahlsuche. 1 bedeutet keine Strahlsuche. Dies ist eine Ganzzahl. Standardmäßig 1.num_return_sequences
: Die Anzahl der unabhängig berechneten zurückgegebenen Sequenzen für jedes Element in der Stapel, als Ganzzahl. Standardmäßig 1.top_k
: Die Anzahl der höchsten Wahrscheinlichkeitsvokabell-Token, die Sie als Ganzzahl für die Top-K-Filterung halten können. Maximal 1000 Token. Standardmäßig 0.top_p
: Wenn auf Float <1 eingestellt ist, werden nur die wahrscheinlichsten Token mit Wahrscheinlichkeiten, die zu top_p oder höher addieren, für die Erzeugung aufbewahrt. Dies ist ein Schwimmer. Sollte zwischen 0 und 1 liegen. Standardmäßig auf 0,7.temperature
: Der Wert, der zum Modul der nächsten Token -Wahrscheinlichkeiten als Float verwendet wird. Sollte zwischen 0 und 1. Standard bis 1 sein.repetition_penalty
: Der Parameter für die Wiederholungsstrafe als Float. 1.0 bedeutet keine Strafe. Standardeinstellung auf 1.0.bad_words
: Liste der Token, die nicht als Liste der Zeichenfolgen generiert werden dürfen. Standardmäßig null.remove_end_sequence
: Optional. Ob Sie die end_sequence
-Zeichenfolge aus dem Ergebnis entfernen möchten. Standardmäßig falsch. client . generation ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode gs_correction()
auf und übergeben Sie den gewünschten Text, den Sie korrekt sind:
client . gs_correction ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode image_generation()
auf und geben Sie den Textbefehl für das neue Bild über, das Sie generieren möchten:
client . image_generation ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode intent_classification()
auf und übergeben Sie den Text, aus dem Absichten extrahieren möchten:
client . intent_classification ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode kw_kp_extraction()
auf und übergeben Sie den Text, aus dem Sie Schlüsselwörter und Tastaturen extrahieren möchten: aus:
client . kw_kp_extraction ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode langdetection()
an und übergeben Sie den Text, den Sie analysieren möchten, um die Sprachen zu erkennen.
client . langdetection ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode paraphrasing()
an und übergeben Sie den Text, den Sie paraphrasieren möchten.
client . paraphrasing ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die question()
-Methode auf und geben Sie Folgendes weiter:
client . question ( "" , "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode semantic_search()
an und geben Sie eine Suchabfrage über.
client . semantic_search ( "Your search query" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode semantic_similarity()
an und geben Sie eine Liste aus, die aus 2 Textblöcken besteht, die Sie vergleichen möchten.
client . semantic_similarity ([ "" , "" ])
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode sentence_dependencies()
an und geben Sie einen Textblock bestehen, der aus mehreren Sätzen besteht, auf die Sie POS + -Bögen ausführen möchten.
client . sentence_dependencies ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode sentiment()
an und geben Sie Folgendes weiter:
client . sentiment ( "" , "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode speech_synthesis()
an und übergeben Sie den Text, den Sie in Audio konvertieren möchten:
client . speech_synthesis ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die summarization()
-Methode () an und geben Sie den Text über, den Sie zusammenfassen möchten.
client . summarization ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die tokens()
-Methode () an und übergeben Sie den Text, den Sie tokenisieren möchten.
client . tokens ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.
Rufen Sie die Methode translation()
auf und geben Sie den Text über, den Sie übersetzen möchten.
client . translation ( "" )
Der obige Befehl gibt ein JSON -Objekt zurück.