Как стать автором
Обновить
11
0

Пользователь

Отправить сообщение

Как сделать свой AnythingGPT, отвечающий на вопросы так, как вам это необходимо (Python, OpenAI Embeddings, ChatGPT API)

Уровень сложностиСредний
Время на прочтение17 мин
Количество просмотров16K

Всем привет! Недавно я на практике применил одно интересное решение, которое давно хотел попробовать, и теперь готов рассказать, как своими руками такое можно сделать для любой другой аналогичной задачи. Речь пойдет о создании своей кастомизированной версии ChatGPT, которая отвечает на вопросы, учитывая большую базу знаний, которая по длине не ограничивается размером промта (то есть вы бы не смогли просто добавить всю информацию перед каждым вопросом к ChatGPT). Для этого будем использовать контекстные эмбеддинги от OpenAI (для действительно качественного поиска релеватных вопросов из базы знаний) и сам СhatGPT API (для оборачивания ответов в натуральный человеческие ответы). При этом, также предполагается, что ассистент может отвечать не только на прямо указанные в Q&A вопросы, но и на такие вопросы, на которые смог бы отвечать человек, который ознакомился с Q&A. Кому интересно научиться делать простых ботов, отвечающих по большой базе знаний, добро пожаловать под кат.

Под кат
Всего голосов 12: ↑12 и ↓0+12
Комментарии15

Анализ текстовых данных с помощью NLTK и Python

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров18K

Привет, Хабр!

NLTK предлагает удобные инструменты для множества задач NLP: токенизация, стемминг, лемматизация, морфологический и синтаксический анализ, а также анализ настроений. Библиотека идеально подходит как для начинающих, так и для опытных разработчиков, предоставляя интуитивно понятный интерфейс и обширную документацию.

В NLTK включены корпуса текстов и словарные ресурсы, такие как WordNet, позволяющие работать с огромным объемом текстовых данных. Это делает NLTK мощным инструментом для анализа и обработки текста на разных языках.

NLTK — это свободно распространяемая библиотека Python, разработанная для работы с человеческим языком. Это комплексный набор инструментов, предназначенный для символьной и статистической обработки естественного языка. Она предоставляет легкий доступ к более чем 50 корпусам текстов и лексическим ресурсам, таким как WordNet, а также набор библиотек для классификации, токенизации, стемминга, метки частей речи, синтаксического анализа и семантического рассуждения.

Читать далее
Всего голосов 13: ↑11 и ↓2+9
Комментарии1

Нейросетевой синтез речи своими руками

Время на прочтение12 мин
Количество просмотров92K
Синтез речи на сегодняшний день применяется в самых разных областях. Это и голосовые ассистенты, и IVR-системы, и умные дома, и еще много чего. Сама по себе задача, на мой вкус, очень наглядная и понятная: написанный текст должен произноситься так, как это бы сделал человек.

Некоторое время назад в область синтеза речи, как и во многие другие области, пришло машинное обучение. Выяснилось, что целый ряд компонентов всей системы можно заменить на нейронные сети, что позволит не просто приблизиться по качеству к существующим алгоритмам, а даже значительно их превзойти.



Я решил попробовать сделать полностью нейросетевой синтез своими руками, а заодно и поделиться с сообществом своим опытом. Что из этого получилось, можно узнать, заглянув под кат.
Всего голосов 62: ↑61 и ↓1+60
Комментарии22

LangСhain: создаем свой AI в несколько строк

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров36K

В этой данной статье познакомимся с LangChain, перспективным фреймворком для работы с языковыми моделями. С его помощью можно создать свой собственный аналог ChatGPT всего в несколько строк кода. Благодаря модульной структуре, LangChain позволяет быстро и легко разрабатывать AI приложения различной сложности.

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии8

LlamaIndex: создаем чат-бота без боли и страданий. Часть 3

Время на прочтение7 мин
Количество просмотров4.4K

Завершаем исследование фреймворка llamaIndex. В этой части разбираемся с ретриверами, которые обеспечивают различные способы извлечения релевантного контекста из индексов документов.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии11

Наиболее полное руководство по практическому использованию Web Speech API

Время на прочтение17 мин
Количество просмотров17K

В этой статье я хочу поделиться с вами результатами изучения основных возможностей Web Speech API (далее — WSA).


Введение


WSA — это экспериментальная технология, состоящая из двух интерфейсов: SpeechSynthesis (интерфейс для перевода текста в речь) и SpeechRecognition (интерфейс для распознавания речи).


О том, что из себя представляют названные интерфейсы и что в себя включают можно почитать на MDN или в рабочем черновике (данный черновик, в отличие от большинства спецификаций, написан более-менее человеческим языком).


Что касается поддержки, то вот что об этом говорит Can I use:



Всего голосов 24: ↑22 и ↓2+20
Комментарии1

Осваиваем T5 (text-to-text transfer transformer). Fine-Tuning

Время на прочтение4 мин
Количество просмотров3.4K

Бывает, что при изучении материала по обучающей статье что-нибудь не работает, хотя коды копируются прямо из статьи.

В данном случае по обучающей статье был сделан Fine-Tuning модели T5 (text-to-text transfer transformer) по задаче машинного перевода, и в целом все получилось.

Личный опыт.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Разработка браузерной онлайн игры без фреймворков и движков

Время на прочтение15 мин
Количество просмотров36K

Привет, Хабр!

В этом посте будет описан процесс разработки онлайн игры на чистом javascript и WebGL (без фреймворков и движков). Будут рассмотрены некоторые алгоритмы, техники рендеринга, искусственный интеллект ботов и сетевая игра. Проект является полностью опенсорсным, в конце поста будет ссылка на репозиторий.
Много картинок и гифок
Всего голосов 88: ↑88 и ↓0+88
Комментарии42

Большие языковые модели: вносим порядок в семейный балаган

Время на прочтение21 мин
Количество просмотров7.1K

Часто в прикладных задачах NLU при создании эмбеддингов приходится использовать уже обученные модели. Но что если вы работаете со специфичными или нестандартными текстами? Какие модели для создания эмбеддингов выбрать и где их взять, а может быть лучше обучить их на своих данных? О том, какую модель из растущего семейства больших языковых моделей выбрать, как их обучать, а также немного о кейсах применения нашумевшей ChatGPT разбираемся в блоге ЛАНИТ под катом. 

Читать далее
Всего голосов 37: ↑37 и ↓0+37
Комментарии0

LlamaIndex: создаем AI-бота без боли и страданий

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров12K

В этой статье рассмотрим мощный фреймворк для работы с большими языковыми моделями LlamaIndex: узнаем, как настроить и использовать LlamaIndex, и увидим его в действии на примере поиска ответа в заданном тексте.

Читать далее
Всего голосов 17: ↑17 и ↓0+17
Комментарии2

Это не чат, это GigaChat. Русскоязычная ChatGPT от Сбера

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров111K

Хайп вокруг нейросетей, выровненных при помощи инструкций и человеческой оценки (известных в народе под единым брендом «ChatGPT»), трудно не заметить. Люди разных профессий и возрастов дивятся примерами нейросетевых генераций, используют ChatGPT для создания контента и рассуждают на темы сознания, а также повсеместного отнимания нейросетями рабочих мест. Отдадим должное качеству продукта от OpenAI — так и подмывает использовать эту технологию по любому поводу — «напиши статью», «исправь код», «дай совет по общению с девушками».

Но как достичь или хотя бы приблизиться к подобному качеству? Что играет ключевую роль при обучении — данные, архитектура, ёмкость модели или что-то ещё? Создатели ChatGPT, к сожалению, не раскрывают деталей своих экспериментов, поэтому многочисленные исследователи нащупывают свой путь и опираются на результаты друг друга.

Мы с радостью хотим поделиться с сообществом своим опытом по созданию подобной модели, включая технические детали, а также дать возможность попробовать её, в том числе через API. Итак, «Салют, GigaChat! Как приручить дракона?»

Читать далее
Всего голосов 243: ↑232 и ↓11+221
Комментарии233

GPT агент для запросов к большим структурированным документам с «пошаговым сохранением информации»

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.9K

Хотел бы продемонстрировать сообществу экспериментальный подход к решению проблемы ограниченного размера контекста в GPT-4. Модель GPT-4 имеет ограничение в 8 тысяч токенов (32 тысячи токенов пока еще недоступны?), что эквивалентно примерно 32 Кбайт английского текста (128 Кбайт для 32 тысяч токенов). Это ограничение подразумевает, что суммарный размер вашего запроса и ответа модели должен быть в пределах этих ограничений. В результате модель не может отвечать на вопросы о больших документах (или обширных программных проектах), так как они не умещаются в контексте модели.

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии9

Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров189K

--- Обновление статьи 9 Августа 2023 ---

В течении последнего полугода в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально.

Основная проблема в том, что всё это требует глубоких технических знаний.

Но в этой статье я расскажу, как запустить добротную нейросеть на домашнем ПК с 16ГБ ОЗУ в несколько кликов. Буквально в несколько кликов - копаться в консоли не придётся.

Читать далее
Всего голосов 144: ↑143 и ↓1+142
Комментарии180

Az.js: JavaScript-библиотека для обработки текстов на русском языке

Время на прочтение8 мин
Количество просмотров28K
Как чуден и глубок русский курлык
Генератор постов

Обработка естественного языка (natural language processing, NLP) — тема, на мой взгляд, очень интересная. Во-первых, задачи тут чисто алгоритмические: на вход принимаем совершенно примитивный объект, строчку, а извлечь пытаемся вложенный в него смысл (ну или хотя бы частичку смысла). Во-вторых, необязательно быть профессиональным лингвистом, чтобы решать эти задачи: достаточно знать родной язык на более-менее приличном уровне и любить его.

А ещё с небольшими затратами можно сделать какого-нибудь бестолкового чат-бота — или, как вот я, генератор постов на основе того, что вы писали на своей страничке в соцсети. Возможно, кто-то из вас уже видел это приложение — оно довольно глупое, чаще всего выдает бессмысленный и бессвязный текст, но изредка всё же дает повод улыбнуться.

Бессвязность текстов в нынешней версии «Генератора» вызвана тем, что на самом деле никакого анализа он производить не умеет. Просто в одних случаях «предсказывает» продолжение предложения по собранным биграммам, а в других — заменяет в готовом предложении некоторые слова на другие, которые заканчиваются похоже. Вот и вся начинка.

Конечно, хочется сделать что-нибудь поинтереснее. Беда в том, что модные сейчас нейросети не очень-то применимы здесь: им нужно много ресурсов, большую обучающую выборку, а в браузере у пользователя соцсети всего этого нет. Поэтому я решил изучить вопрос работы с текстами с помощью алгоритмов. К сожалению, готовых инструментов для работы с русским языком на JavaScript найти не удалось, и я решил сделать свой маленький велосипед.
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии30

Мы опубликовали модель, расставляющую знаки препинания и заглавные буквы в тексте на четырех языках

Время на прочтение8 мин
Количество просмотров12K


Open In Colab


При разработке систем распознавания речи мы сталкиваемся с заблуждениями среди потребителей и разработчиков, в первую очередь связанными с разделением формы и сути. Одним из таких заблуждений является то, что в устной речи якобы "можно услышать" грамматически верные знаки препинания и пробелы между словами, когда по факту реальная устная речь и грамотная письменная речь очень сильно отличаются (устная речь скорее похожа на "поток" слегка разделенный паузами и интонацией, поэтому люди так не любят монотонно бубнящих докладчиков).


Понятно, что можно просто начинать каждое высказывание с большой буквы и ставить точку в конце. Но хотелось бы иметь какое-то относительно простое и универсальное средство расстановки знаков препинания и заглавных букв в предложениях, которые генерирует наша система распознавания речи. Совсем хорошо бы было, если бы такая система в принципе работала с любыми текстами.


По этой причине мы бы хотели поделиться с сообществом системой, которая:


  • Расставляет заглавные буквы и основные знаки препинания (точка, запятая, дефис, вопросительный знак, восклицательный знак, тире для русского языка);
  • Работает на 4 языках (русский, английский, немецкий, испанский);
  • По построению должна работать максимально абстрактно на любом тексте и не основана на каких-то фиксированных правилах;
  • Имеет минимальные нетривиальные метрики и выполняет задачу улучшения читабельности текста;

На всякий случай явно повторюсь — цель такой системы — лишь улучшать читабельность текста. Она не добавляет в текст информации, которой в нем изначально не было.

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии12

GPT для чайников: от токенизации до файнтюнинга

Время на прочтение13 мин
Количество просмотров90K

К моему удивлению, в открытом доступе оказалось не так уж много подробных и понятных объяснений того как работает модель GPT от OpenAI. Поэтому я решил всё взять в свои руки и написать этот туториал.

Читать далее
Всего голосов 31: ↑30 и ↓1+29
Комментарии8

Как настроить Alpaca (аналог ChatGPT) на своём арендованном сервере. Гайд для самых маленьких

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров39K

После публикации https://habr.com/ru/news/t/723638/ меня попросило несколько человек написать гайд для новичков, как же это всё запустить поиграться где-нибудь на арендованном сервере, если локальная машина не позволяет? На всё про всё нам потребуется минут 20 и сто рублей денег.

Но уже появились бесплатные варианты на HuggingFace

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии43

LIT – Инспектор для вашего NLP. Обзор, установка, тест

Время на прочтение6 мин
Количество просмотров2.8K

Инспектор и даже где-то "толкователь", LIT или Language Interpretability Tool — мощная платформа с открытым исходным кодом для визуализации и интерпретации NLP-моделей. Платформа была представлена на EMNLP 2020 специалистами Google Research в ноябре 2020 года. LIT еще в статусе разработки, поэтому разработчики ничего не гарантируют, в том числе работу на платформе windows. Но у меня получилось, делюсь опытом.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Пустобрёх GPT-2: russian edition

Время на прочтение6 мин
Количество просмотров12K
image

Погрузившись в тему DL NLP, набрел на просторах интернета на любопытный репозиторий. Это не много не мало — Русская GPT-2! Ну, т.е. русскоязычная. Причем не какая-нибудь мелкая 117М, а вполне себе 1250М, что уже довольно серьезно. Автор проделал немалую работу по адаптации исходной модели и подготовке корпуса для обучения. Да и само обучение, надо полагать заняло немало времени и мощностей. В общем, респект товарищу l4rz! Планирую пойти по его стопам и обучить систему на своем корпусе (в процессе подготовки которого сейчас нахожусь) — благо автор оставил довольно подробные инструкции, как именно подступиться к столь масштабной задаче… По итогам отчитаюсь! ;)

В пока, чисто развлечения ради, предлагаю на суд общественности некоторые эксперименты с системой, по мотивам поста о более крутой GPT-3 (хотя там автор, очевидно, и GPT-3 не считает чем-то выдающимся). С одной стороны представленная здесь система заметно проще GPT-3, с другой — все-таки обученная русскоязычная модель! Мне кажется это забавно.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии26

Нейросети для Natural Language Inference (NLI): логические умозаключения на русском языке

Время на прочтение9 мин
Количество просмотров17K

NLI (natural language inference) – это задача автоматического определения логической связи между текстами. Обычно она формулируется так: для двух утверждений A и B надо выяснить, следует ли B из A. Эта задача сложная, потому что она требует хорошо понимать смысл текстов. Эта задача полезная, потому что "понимательную" способность модели можно эксплуатировать для прикладных задач типа классификации текстов. Иногда такая классификация неплохо работает даже без обучающей выборки!

До сих пор в открытом доступе не было нейросетей, специализированных на задаче NLI для русского языка, но теперь я обучил целых три: tiny, twoway и threeway. Зачем эти модели нужны, как они обучались, и в чём между ними разница – под катом.

Читать далее
Всего голосов 24: ↑24 и ↓0+24
Комментарии3
1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность