Пишу телеграм бота по типу Дайвинчика, на python aiogram. Вопрос следующий: как реализовать такую же выдачу анкет ? Для тех кто не видел бота, принцип таков: бот выдает анкету, а затем после ответа пользователя выдает следующую. Я так понимаю, что данные нужно передавать через машину состояний, но в каком виде ? У меня была идея запрашивать выдачу з бд, сохранять её в лист, а затем брать данные из листа, но в таком случае, если у нас будет много пользователей, мы для каждого пользователя будем генерировать слишком огромные листы, что сильно скажется на скорости работы бота. Так вот как реализовать такой функционал ? Что для этого использовать ?
- Вопрос задан более года назад
- 542 просмотра
Решения вопроса 1
Если я вас правильно понял, это вам пригодится
sp = [»’Путь к фотографиям»’] x = random.randint(0, 10) #Выбирает рандомную фотку из тех, что есть в папке bot.send_photo(message.from_user.id, photo=open(sp[x], ‘rb’)) #Отправляет пользователю рандомно выбранное фото
Ответ написан более года назад
РЕАЛЬНО пошел гулять с Девушкой с ДАЙВИНЧИКА! Дайвинчик
Нравится 1 Комментировать
Ответы на вопрос 0
Ваш ответ на вопрос
Войдите, чтобы написать ответ
- Telegram
- +1 ещё
Каким методом можно отправить телеграмм боту http запрос через Telegram Bot Api чтобы он получил сообщение и я получил на него ответ?
- нет подписчиков
- час назад
- 18 просмотров
Источник: qna.habr.com
Почему создатель первого чат-бота выступал против искусственного интеллекта
Эта статья — пересказ большого материала из «Гардиана» про то, как развивались чат-боты, кто стоял у их истоков, что такое «эффект Элизы» и почему создатель первого чат-бота был против искусственного интеллекта. В оригинале много разных интересных историй из жизни, поэтому, если знаете английский, — почитайте:
Первый чат-бот
Первый чат-бот появился в 1966 году в Массачусетском технологическом институте, США. Автором был профессор Джозеф Вейценбаум, и первый диалог был таким:
Пользователь: Все мужчины одинаковы.
Чат-бот: В КАКОМ СМЫСЛЕ?
Пользователь: Они вечно пристают к нам с чем-нибудь.
Чат-бот: МОЖЕТЕ ПРИВЕСТИ ПРИМЕР?
Пользователь: Ну, мой парень заставил меня прийти сюда.
Чат-бот: ВАШ ПАРЕНЬ ЗАСТАВИЛ ВАС ПРИЙТИ СЮДА.
Пользователь: Он говорит, что я постоянно в депрессии.
Чат-бот: МНЕ ЖАЛЬ, ЧТО ВЫ В ДЕПРЕССИИ.
Для общения с чат-ботом нужно было печатать сообщение на огромной электрической пишущей машинке, которая была подключена к мейнфрейму — большому серверу.
Чат-бот был простой по современным меркам — скрипт, который разбирал текст пользователя, находил ключевые слова и подбирал по ним ответ по прописанной логике. Сейчас такое можно написать за день, но в то время это было прорывом. Дело в том, что в начале 1960-х программы писали вручную, кодировали их в виде набора отверстий на перфокартах, а затем пропускали карты через компьютер. Программировать было сложно.
Работа программ в режиме реального времени
Разработчики тех лет искали альтернативу тому, чтобы загружать в компьютер стопку перфокарт и возвращаться за результатом на следующий день. Это привело к тому, что инженеры усовершенствовали технологию под названием «разделение времени», или time-sharing. Если сильно упростить, то всё работало так:
- есть большой и мощный сервер, который занимал почти целую комнату;
- к этому серверу подключались несколько терминалов;
- каждый терминал мог отправить команду на сервер и сразу получить ответ;
- сервер несколько раз в секунду проверял, есть ли запрос с какого-то терминала, и, если есть, выполнял его и переключался на следующий.
Сегодня это считается обычным способом работы для сервера, а тогда это был переход на новый уровень. Программисты поняли, что с компьютером можно работать в диалоговом режиме: пишешь команду — и сервер сразу её выполняет.
С технологией разделения серверного времени появились новые типы программного обеспечения:
- системы обмена сообщениями между терминалами (из этой идеи родилась потом электронная почта);
- софт для редактирования текста;
- программы для поиска в базе данных с 15 000 журнальных статей (что потом стало предшественником современных поисковых систем).
«Технология сделала возможным „диалоговое взаимодействие с компьютером“», — вспоминал позже Вайценбаум; но он хотел пойти ещё дальше. Что, если бы можно было общаться с компьютером на естественном языке, например на английском? Именно этот вопрос руководил созданием «Элизы», успех которой помог ему участвовать в проекте MIT по искусственному интеллекту, созданном в 1958 году Джоном Маккарти и Марвином Мински.
Эффект Элизы
Вернёмся к первому чат-боту. Вейценбаум назвал программу «Элиза» — в честь героини пьесы «Пигмалион» Бернарда Шоу. Цветочница Элиза Дулиттл училась общаться так, чтобы создать иллюзию знатной дамы. Точно так же чат-бот «Элиза» создавал иллюзию того, что понимает человека за пишущей машинкой.
Эта иллюзия в то время была настолько правдоподобной, что пользователи стали очеловечивать чат-бота «Элизу». Впоследствии такое явление назвали «эффект Элизы» — когда программе приписывают понимание, сочувствие и другие человеческие качества. И по мере того, как компьютеры становились всё более функциональными, эффект Элизы усиливался.
Спор об искусственном интеллекте
К концу 1960-х стали формироваться два мнения о том, что позже назовут искусственным интеллектом. Одни учёные утверждали, что функции человеческого мозга можно воспроизвести и даже превзойти в машинах.
Джозеф Вейценбаум придерживался иного мнения. Он утверждал, что ни один компьютер никогда не сможет полностью понять человека. Позже он пошёл дальше и стал говорить, что ни один человек никогда не сможет полностью понять другого человека. Мы можем общаться с помощью языка, но одни и те же слова у людей могут ассоциироваться с разными понятиями, а некоторые вещи просто невозможно передать.
В 1970-е годы Вейценбаум начал публиковать статьи и книги, в которых предупреждал об опасностях искусственного интеллекта. Учёный пришёл к выводу, что ИИ служит «индексом безумия нашего мира». По мнению Вейценбаума, передав много решений компьютерам, люди создали более неравный и менее рациональный мир.
В 1976 году вышла книга Вейценбаума «Мощность компьютера и человеческий разум: от суждения к расчёту». В ней есть две основные мысли: «Между человеком и машиной есть разница» и «Есть определённые задачи, которые компьютеры не должны выполнять, даже если можно заставить их это делать». Вейценбаум призывал ограничить компьютеры задачами, которые требуют только вычислений.
Что в итоге
Сегодня, спустя 15 лет после смерти Джозефа Вейценбаума, многие из его опасений сбылись. Например, американские судьи используют автоматические инструменты оценки рисков для принятия решений об освобождении под залог и при вынесении приговора. Вместо посещения терапевта можно проконсультироваться по своим симптомам с чат-ботом. Но учёный наверняка обрадовался бы, если бы узнал, что общество постепенно начинает регулировать использование нейросетей.
С другой стороны, даже самым мощным современным нейросетям нельзя объяснить простую человеческую этику, и непонятно, как их наделить правом принимать сложные решения. Эта проблема относится также и к беспилотным автомобилям: что делать компьютеру, когда ситуация угрожает жизни водителя и пешехода?
Источник: thecode.media