Это клиент Python для NLP Cloud API. Более подробную информацию смотрите в документации.
NLP Cloud предоставляет высокопроизводительные предварительно обученные или пользовательские модели для NER, анализа настроений, классификации, обобщения, обобщения диалогов, перефразирования, классификации намерений, описания продукта и генерации рекламы, чат-бота, исправления грамматики и орфографии, извлечения ключевых слов и фраз, генерации текста. , генерация изображений, генерация исходного кода, ответы на вопросы, автоматическое распознавание речи, машинный перевод, определение языка, семантический поиск, семантическое сходство, токенизация, маркировка POS, встраивание и анализ зависимостей. Он готов к производству и обслуживается через REST API.
Вы можете использовать предварительно обученные модели NLP Cloud, настроить свои собственные модели или развернуть свои собственные модели.
Если вы столкнулись с проблемой, не стесняйтесь поднимать ее как проблему на Github. Спасибо!
Установить через пип.
pip install nlpcloud
Вот полный пример, который обобщает текст с использованием модели Facebook Bart Large CNN с поддельным токеном:
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.""" )
Вот полный пример, который делает то же самое, но на графическом процессоре:
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.""" )
Вот полный пример, который делает то же самое, но с французским текстом:
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.""" )
Возвращается объект 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. "
}
Передайте модель, которую вы хотите использовать, и токен NLP Cloud клиенту во время инициализации.
Модель может быть либо предварительно обученной моделью, например en_core_web_lg
, bart-large-mnli
..., либо одной из ваших пользовательских моделей, используя custom_model/
(например, custom_model/2568
). Полный список всех доступных моделей см. в документации.
Ваш токен можно получить на панели управления NLP Cloud.
import nlpcloud client = nlpcloud . Client ( "" , "" )
Если вы хотите использовать графический процессор, передайте gpu=True
.
import nlpcloud client = nlpcloud . Client ( "" , "" , gpu = True )
Если вы хотите использовать многоязычное дополнение для обработки неанглоязычных текстов, укажите lang="
. Например, если вы хотите обрабатывать текст на французском языке, вам следует установить lang="fra_Latn"
.
import nlpcloud client = nlpcloud . Client ( "" , "" , lang = "" )
Если вы хотите выполнять асинхронные запросы, передайте asynchronous=True
.
import nlpcloud client = nlpcloud . Client ( "" , "" , asynchronous = True )
Если вы отправляете асинхронные запросы, вы всегда получите быстрый ответ, содержащий URL-адрес. Затем вам следует регулярно опрашивать этот URL-адрес с помощью async_result()
(например, каждые 10 секунд), чтобы проверить, доступен ли результат. Вот пример:
client . async_result ( "https://api.nlpcloud.io/v1/get-async-result/21718218-42e8-4be9-a67f-b7e18e03b436" )
Приведенная выше команда возвращает объект JSON, когда ответ готов. В противном случае он возвращает None
.
Вызовите метод asr()
и передайте следующие аргументы:
url
: URL-адрес, на котором размещен ваш аудио- или видеофайл.encoded_file
: версия вашего файла в кодировке Base 64.input_language
: язык вашего файла в виде кода ISO. client . asr ( "Your url" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод chatbot()
и передайте введенные данные. Как вариант, вы также можете передать контекст и историю разговоров, представляющую собой список словарей. Каждый словарь состоит из input
и response
чат-бота.
client . chatbot ( "Your input" , "You context" , [{ "input" : "input 1" , "response" : "response 1" }, { "input" : "input 2" , "response" : "response 2" }, ...])
Приведенная выше команда возвращает объект JSON.
Вызовите метод classification()
и передайте следующие аргументы:
multi_class
: должна ли классификация быть мультиклассовой или нет, как логическое значение. По умолчанию истинно. client . classification ( "" , [ "label 1" , "label 2" , "..." ])
Приведенная выше команда возвращает объект JSON.
Вызовите метод code_generation()
и передайте инструкцию для программы, которую вы хотите сгенерировать:
client . code_generation ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод dependencies()
и передайте текст, для которого вы хотите выполнить часть речевой маркировки (POS) + дуги.
client . dependencies ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод embeddings()
и передайте список блоков текста, из которых вы хотите извлечь вложения.
client . embeddings ([ "" , "" , "" , ...])
Приведенная выше команда возвращает объект JSON.
Вызовите метод entities()
и передайте текст, для которого вы хотите выполнить распознавание именованных объектов (NER).
client . entities ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод generation()
и передайте следующие аргументы:
max_length
: Необязательно. Максимальное количество токенов, которое должен содержать сгенерированный текст. Максимум 256 токенов для GPT-J на ЦП, максимум 1024 токена для GPT-J и GPT-NeoX 20B на графическом процессоре и максимум 2048 токенов для Fast GPT-J и Finetuned GPT-NeoX 20B на графическом процессоре. Если length_no_input
имеет значение false, размер сгенерированного текста равен разнице между max_length
и длиной входного текста. Если length_no_input
имеет значение true, размер сгенерированного текста просто равен max_length
. По умолчанию 50.length_no_input
: должны ли min_length
и max_length
включать длину входного текста в виде логического значения. Если значение false, min_length
и max_length
включают длину входного текста. Если это правда, min_length и max_length
не включают длину входного текста. По умолчанию ложь.end_sequence
: конкретный токен, который должен быть концом сгенерированной последовательности в виде строки. Например, если бы могло быть .
или n
, или ###
, или что-нибудь еще длиной менее 10 символов.remove_input
: хотите ли вы удалить входной текст из результата в виде логического значения. По умолчанию ложь.num_beams
: количество лучей для поиска лучей. 1 означает отсутствие поиска луча. Это целое число. По умолчанию 1.num_return_sequences
: количество независимо вычисленных возвращенных последовательностей для каждого элемента в пакете в виде целого числа. По умолчанию 1.top_k
: Число словарных токенов с наибольшей вероятностью, которые необходимо сохранить для фильтрации по топ-k, в виде целого числа. Максимум 1000 токенов. По умолчанию 0.top_p
: если установлено значение float < 1, для генерации сохраняются только наиболее вероятные токены с вероятностями, сумма которых равна top_p или выше. Это поплавок. Должно быть от 0 до 1. По умолчанию — 0,7.temperature
: значение, используемое для модуляции вероятностей следующего токена в виде числа с плавающей запятой. Должно быть от 0 до 1. По умолчанию — 1.repetition_penalty
: параметр штрафа за повторение в виде числа с плавающей запятой. 1,0 означает отсутствие штрафа. По умолчанию 1.0.bad_words
: список токенов, создание которых запрещено, в виде списка строк. По умолчанию равно нулю.remove_end_sequence
: Необязательно. Хотите ли вы удалить строку end_sequence
из результата. По умолчанию ложь. client . generation ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод gs_correction()
и передайте текст, который хотите исправить:
client . gs_correction ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод image_generation()
и передайте текстовую инструкцию для нового изображения, которое вы хотите сгенерировать:
client . image_generation ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод intent_classification()
и передайте текст, из которого вы хотите извлечь намерения:
client . intent_classification ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод kw_kp_extraction()
и передайте текст, из которого вы хотите извлечь ключевые слова и фразы:
client . kw_kp_extraction ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод langdetection()
и передайте текст, который вы хотите проанализировать, чтобы определить языки.
client . langdetection ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод paraphrasing()
и передайте текст, который вы хотите перефразировать.
client . paraphrasing ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод question()
и передайте следующее:
client . question ( "" , "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод semantic_search()
и передайте поисковый запрос.
client . semantic_search ( "Your search query" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод semantic_similarity()
и передайте список, состоящий из двух блоков текста, которые вы хотите сравнить.
client . semantic_similarity ([ "" , "" ])
Приведенная выше команда возвращает объект JSON.
Вызовите метод sentence_dependencies()
и передайте блок текста, состоящий из нескольких предложений, для которых вы хотите выполнить дуги POS +.
client . sentence_dependencies ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод sentiment()
и передайте следующее:
client . sentiment ( "" , "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод speech_synthesis()
и передайте текст, который вы хотите преобразовать в аудио:
client . speech_synthesis ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод summarization()
и передайте текст, который вы хотите суммировать.
client . summarization ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод tokens()
и передайте текст, который вы хотите токенизировать.
client . tokens ( "" )
Приведенная выше команда возвращает объект JSON.
Вызовите метод translation()
и передайте текст, который хотите перевести.
client . translation ( "" )
Приведенная выше команда возвращает объект JSON.