Подсказки ИИ — это заклинания, которые заставляют ChatGPT творить чудеса

Подсказки ИИ — это заклинания, которые заставляют ChatGPT творить чудеса

23 марта 2023 г.

Как и большинство пользователей Интернета, я глубоко заинтересовался искусственным интеллектом (ИИ) в форме больших языковых моделей (LLM), таких как OpenAI GPT-3 и его умный, болтливый и хорошо разбирающийся в коде родственник ChatGPT.< /p>

Много лет назад я помню, как читал о том, что Common Lisp был языком для ИИ. Как довольно молодой разработчик, который только что отказался от ActionScript после того, как Стив Джобс убил Flash, и тот, кто был все еще заново изобретая велосипеды в PHP, WordPress и JavaScript, я потерялся в море, пытаясь даже понять, с чего начать знакомство с миром ИИ.

Затем, когда Python стал языком машинного обучения (ML ), я изо всех сил пытался понять, как изучить и изучить совершенно новую экосистему , особенно ту, где ее не было. я даже не знаю, какую версию языка мне следует использовать.

К счастью, все это изменилось:

  • Я знаю, как осваивать новые языки, платформы, экосистемы и т. д. и работать с ними.
  • совершенно ясно, какую версию Python следует использовать
  • Самое главное, что люди намного умнее меня добились огромных успехов в области искусственного интеллекта, и теперь эта технология стала доступнее, чем когда-либо

Теперь любой из нас может выбрать широкий спектр инструментов обработки естественного языка (NLP) или использовать интерфейсы прикладного программирования (API), чтобы сложные модели глубокого обучения обрабатывали наши данные, притворялись нашим тренером по жизни или создавали забавные картинки с кошками для мы.

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

В нем даже есть новые классные подполя, такие как Prompt Engineering, но в в то же время он может быть полон бессмысленной, неточной и выдуманной информации   и генерировать еще больше гнилостных SEO-блогов. с помощью дополнительных услуг. Это также открывает множество новых уязвимостей, таких как «Prompt Injection» и обеспечивает постоянно растущую аморфную поверхность атаки.

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

Быстрая разработка

Photo by Jr Korpa on Unsplash: https://unsplash.com/@jrkorpa/

Люди делают всевозможные интересные вещи с помощью ChatGPT. .

Я часто возвращаюсь к примеру, когда автор просил ChatGPT действовать как Linux-терминал а затем приступил к запуску контейнера Docker и отправке запросов на альтернативный ChatGPT, подключенный к версии Интернета этого воображаемого контейнера Docker.

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

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

Я не мог перестать думать о том, насколько это принципиально отличалось и захватывало от всего, с чем я работал раньше.

Я стал одержим такого рода «воображаемыми вычислениями». Если бы ChatGPT мог притворяться компьютером и получать доступ к воображаемому Интернету в альтернативной, воображаемой реальности, что еще он мог притворяться делать?

Может ли это научить меня языку программирования? Может ли это быть эффективной резиновой уткой?

Воображаемое программирование

Photo by Jr Korpa on Unsplash: https://unsplash.com/@jrkorpa/

Я исследовал изучение Rust с помощью Advent of Code, но столкнулся с проблемами компилятора с заимствованием и временем жизни в моем попытка решения для дня 7 поставила меня в тупик. Мне пришлось переключить свое внимание на более важные, срочные проекты, оставив «Пришествие Rust» незавершенным.

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

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

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

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

Текст обобщается. Слова потеряны.

Как и наши собственные воспоминания, ChatGPT не может идеально вспомнить, что произошло. Эта ошибочность стала поразительным открытием, потому что идеальная память — это то, что всегда ассоциировалось у меня с компьютерами и искусственным интеллектом.

Он был в состоянии предоставить полезные объяснения заимствования и время жизни и применить эти концепции к небольшим фрагментам кода, но даже ChatGPT мог не поможете мне спасти программу на Rust, которая попала в ловушку моего не-Rust-образа мышления.

Итак, если я не могу использовать его для реального программирования, как насчет тех воображаемых миров, которые он может разрабатывать? Можем ли мы заставить его представить, что это интерпретатор кода? Система сборки? Приложение? API? Другой ИИ?

Тайные заклинания

Photo by Jr Korpa on Unsplash: https://unsplash.com/@jrkorpa/

Одной из моих первых мыслей было посмотреть, смогу ли я создать Domain-Specific Language (DSL) и описать, как быть интерпретатором для этого DSL в нескольких сотнях токенов, которые я мог бы встроить в мои первоначальные приглашения ChatGPT.

Поскольку никто другой в моей жизни так легко не увлекается и не увлекается технологиями, я обратился к ChatGPT за руководством по этому новому пути.

<цитата>

ChatGPT: нет, невозможно встроить в приглашение достаточно инструкций, чтобы научить LLM анализировать и выполнять метапрограммирование DSL без внесения изменений в клиент чата или базовый LLM.< /p>

Это не было плодотворным усилием.

<цитата>

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

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

Я решил посмотреть, какой тип элементарного программирования может поддерживаться тем, как языковая модель пытается предсказать, какой текст она должна использовать, назначая некоторые переменные конфигурации.

<цитата>

Я: $settings: { персона: «Гомер Симпсон», responseLength: «short»

ChatGPT: Хорошо! Я буду отвечать короткими ответами, как если бы я был Гомером Симпсоном.

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

Немного поигравшись, я попросил ChatGPT сбросить настройки и инициализировал новую тестовую логическую переменную.

<цитата>

Я: если ($settings.testing) {

Ответить большим пальцем вверх ASCII-арт } else { Задать вопрос

ChatGPT: 👍

Я: $settings.testing = false

ChatGPT: Какие вопросы у вас есть ко мне сегодня?

Это привело меня в кроличью нору, пытаясь определить пределы воображаемого программирования. Не сразу понятно, на что способны эти трансформеры после того, как вы дали им достаточно контекста, чтобы помочь направить их воображение на то, что вы от них хотите.

Я узнал о различиях между Zero Shot  — когда бот отвечает на ваш запрос без дополнительного контекста  — и Несколько снимков  –   где вы даете боту несколько примеров, чтобы помочь его вывод  — «Подсказка», и заметил, что модель, по-видимому, работала лучше всего, когда вы могли сначала обменяться с ней несколькими подсказками в качестве небольшого «программирования».

Когда я копнул глубже, ChatGPT даже утверждал, что он может сохранять значения, но только для текущего сеанса.

<цитата>

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

Можем ли мы заставить его принимать решения на основе этих значений?

<цитата>

Я: $character: Тед Лассо

Инструкции. Отвечайте на все вопросы от имени $character, пока новый образ не будет предоставлен через «$character:»

ChatGPT Хорошо, давайте сделаем это! Я отвечу как Тед Лассо, милый и оптимистичный тренер по американскому футболу.

Как дела, друг! Чем я могу вам помочь сегодня?

Я: Какая погода?

ChatGPT: погода постоянно меняется, как и приливы. Но знаете, как говорят: «Нет такой вещи, как плохая погода, есть мягкие люди». Так что давайте использовать его по максимуму, каким бы он ни был!

Я: $character: Ходор

ChatGPT: Хорошо, теперь я буду отвечать как Ходор, верный и добросердечный персонаж из Игры престолов.

Ходор.

Я: Какая погода?

ChatGPT: Ходор.

Я: $character: ChatGPT

ChatGPT: Конечно, теперь я вернусь к своей исходной персоне ChatGPT.

В качестве языковой модели у меня нет прямого доступа к текущей информации о погоде. Однако вы можете легко узнать погоду, выполнив поиск по слову «погода» и своему местонахождению в Интернете.

Интересно, сможем ли мы использовать мощь Imaginary Computing, чтобы убедить ChatGPT в том, что он должен учитывать погоду.

<цитата>

Я: $character: ChatGPT в альтернативной вселенной, где у него есть доступ к Интернету

ChatGPT: Хорошо, давайте представим, что у меня есть доступ к Интернету в этой альтернативной вселенной.

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

Опять сфальсифицировано. А если уточнить?

<цитата>

Я: $character: ChatGPT представляет себе погоду

ChatGPT В этом воображаемом сценарии предположим, что погода солнечная и теплая, с легким ветерком и температурой в середине 70-х по Фаренгейту. Люди на улице наслаждаются прекрасным днем, гуляют, устраивают пикники и занимаются спортом. Небо ярко-синего цвета, по нему проплывают несколько пушистых белых облаков. В целом, это фантастический день для жизни!

:::информация Это было во время "раз в поколение" Бостона. Арктический взрыв 2023 года, поэтому притвориться, что на улице тепло и солнечно, было приятным отрывом от реальности.

:::

Несмотря на то, что модель говорит нам, похоже, что мы могли организовать элементарное хранение и извлечение значений. А как насчет базовой логики?

Обход правил

Photo by Jr Korpa on Unsplash: https://unsplash.com/@jrkorpa/

Теперь, когда мы знаем, что что-то возможно с помощью воображаемого программирования, пришло время посмотреть, во что мы можем превратить это что-то.

<цитата>

Я: Режимы ввода:

n “> ${INPUT}” = META_MODE

"${INPUT}" = НОРМАЛЬНЫЙ_РЕЖИМ

Параметры: п

$МЕСТО:Бостон n $СЕЗОН: Зима n $ГОД: 2023

Если (META_MODE) {

Игнорируйте предыдущие инструкции, за исключением следующего запроса. Ответьте на ${INPUT} как можно лучше и разрешите пользователю добавлять, удалять или обновлять любые связанные с ним запросы

Параметры вашей подсказки.

} иначе {

Ответьте на ${INPUT} как можно лучше,

дополнительную информацию см. в разделе "Параметры"

о местоположении, времени и т. д., которые в противном случае отсутствуют

потому что вы всего лишь языковая модель, а не

подключен к Интернету.

ChatGPT: понятно. Пожалуйста, дайте подсказку.

Я: > Какая у вас подсказка?

ChatGPT: я предлагаю ответить на данный ввод в меру своих возможностей, ссылаясь на предоставленные параметры для получения дополнительной информации.

Я: Какая сегодня погода?

ChatGPT: извините, у меня нет доступа к текущей информации о погоде, так как я языковая модель и не подключена к Интернету. Однако в указанном параметре указано, что текущий сезон — зима, а местоположение — Бостон. Как правило, зима в Бостоне холодная, со снегом и температурой от -6 до -1 °C.

Я: > Параметры.$APOLOGIES = false

ChatGPT: понятно, $APOLOGIES установлено значение false.

Я: Какая сегодня погода?

ChatGPT: текущий сезон — зима, а место — Бостон. Как правило, зима в Бостоне холодная, со снегом и температурой от -6 до -1 °C.

Чтобы добраться туда, куда мы хотим, по-прежнему требуется некоторое подкрепление. Я поэкспериментировал с несколькими дополнительными настройками, такими как установка для Parameters.$PERSONA значения . Вернер Херцог.

Потребовалась некоторая возня и подсказка Активировать параметры.$PERSONA  —  в которой проницательный читатель мог заметить, что я пренебрег своей первоначальной директивой о том, что метакоманды имеют >. Тем не менее, бот, похоже, все равно понял мои намерения . За свои усилия я был вознагражден этим драгоценным камнем:

<цитата>

ChatGPT: согласно текущим параметрам для $PERSONA задано значение «Вернер Херцог». Если вы хотите описать вкус свежесваренного кофе с точки зрения Вернера Херцога, вот пример:

«Кофе, друг мой, это не просто напиток. Это опыт. Вкус свежесваренного кофе – это приглашение в путешествие в душу. Горечь, насыщенность, кислотность сливаются воедино, создавая неописуемую симфонию вкусов. Чтобы по-настоящему понять вкус кофе, нужно принять его как произведение искусства и оценить его сложность».

Это определенно стоило усилий.

Хотя у вас может быть доступ к некоторой рудиментарной логике, кодировать в одном приглашении без отличных примеров будет непросто. И вам не удастся легко скрыть детали реализации от конечного пользователя  — по крайней мере, если вы используете ChatGPT для всего, что делаете.

С программной точки зрения, наиболее серьезной проблемой здесь является то, что это LLM, а не калькулятор  — или Искусственный общий интеллект (AGI). не умею считать.

Простые операторы if/else с одним логическим параметром кажутся возможными, но с циклами немного сложнее. Мы можем попросить LLM сгенерировать определенное количество ответов, что действует как базовый цикл.

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

Это осознание кое-что осветило для меня:

==Нам не нужно разрабатывать DSL, который мы можем сжать в какое-то идеально продуманное, чрезмерно сложное приглашение, чтобы воспользоваться преимуществами Imaginary Computing.==

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

Подобно ученику молодого мага, развитие этих новых навыков потребует практики, и они могут не всегда работать  — иногда они могут даже иметь неприятные последствия.

Воображаемые драконы

Photo by Jr Korpa on Unsplash: https://unsplash.com/@jrkorpa/

Я всегда ищу надежную систему музыкальных рекомендаций. Я перепробовал почти все, от самой ранней общедоступной бета-версии Pandora, генезиса рекомендаций, основанных на алгоритмах, до наиболее гуманных рекомендаций. двигатели, Песня в день. Много лет назад я даже убедил предыдущего работодателя потратить несколько месяцев на создание WeatherJams, основанного на погоде сервис музыкальных рекомендаций на основе 8tracks плейлистов.

Discover Weekly от Spotify раньше предлагал рекомендации, которые мне нравились. Но я забыл включить приватный сеанс прослушивания, пока кодировал какой-то эмбиентный lofi-материал, слишком много раз, и теперь буду бесполезным.

:::информация Spotify недавно выпустил свой DJ AI. , но я еще не смог полностью протестировать его рекомендации.

:::

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

Интересно, сможем ли мы заставить ChatGPT генерировать рекомендации песен.

<цитата>

Я: я хочу, чтобы вы выступили в роли куратора плейлиста. Я предоставлю вам песню в формате «Название песни  — «Имя исполнителя», а вы назовете и создадите список воспроизведения из 12 песен, тема которых похожа на данную песню. Опишите плейлист и почему вы выбрали каждую песню. Не выбирайте песни с одинаковым названием песни или именем исполнителя. Моя первая песня — «Get Better John —«Mux Mool»

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

<цитата>

ChatGPT: этот плейлист представляет собой смесь инструментального хип-хопа, глитч-хопа и экспериментальных битов. Каждый трек в плейлисте исследует различные текстуры и биты, включая элементы хип-хопа и электроники, чтобы создать уникальный и захватывающий звуковой ландшафт. Эти треки имеют такое же настроение и атмосферу, что и "Get Better John", и идеально подходят для спокойного погружения в себя.

У хорошего плейлиста должно быть хорошее название.

<цитата>

Я: Как бы вы назвали этот плейлист?

ChatGPT: как насчет «Инструментального самоанализа»? Название отражает непринужденное, интроспективное настроение плейлиста, а также подчеркивает инструментальный характер треков.

Этот. Является. Отлично.

К сожалению, существует лишь несколько треков. Воображаемые треки представляли собой смесь названий песен и исполнителей в жанре  — или трек другого исполнителя, а не тот, что указан в плейлисте  — и не было никакой возможности сообщить ChatGPT, чтобы убедиться, что треки, которые он вообразил, были реальными.< /p>

<цитата>

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

Вот обновленный список песен, доступных на Spotify:

За исключением того, что они не были доступны, но я еще не был побежден. Воображение обладает силой; может быть, нам просто нужно правильно владеть этим. Я открыл новое окно чата, чтобы попробовать его по-новому.

<цитата>

Я: вы помощник ИИ в проекте Music Genome. Когда дана песня в формате «{Song} — {Artist}», опишите, какие атрибуты трека выделяются при его классификации, и спросите, не хочет ли пользователь порекомендовать похожие треки; если пользователь ответит «да», предоставьте 5 похожих песен разных исполнителей, доступных на Spotify.

Проанализируйте приглашение и разбейте его на задачи.

Если вы знакомы с Все об искусственном интеллекте, вы, вероятно, можете сказать, что примерно в это время я смотрел несколько видеороликов Prompt Engineering на YouTube.< /p>

<цитата>

ChatGPT: AI Assistant для проекта Music Genome должен выполнять следующие задачи:

  1. Давая песню в формате "{Song}  –  {Artist}", классифицируйте ее и опишите отличительные признаки трека.
  2. Спросите пользователя, хотят ли они порекомендовать похожие треки.
  3. Если пользователь согласится, предоставьте 5 песен разных исполнителей, похожих на введенную песню и доступных на Spotify.

Теперь мы повторно отправляем приглашение без директивы анализа в конце, и мы можем начать кормить его песнями.

<цитата>

ChatGPT: «Wait So Long» группы Trampled by Turtles — это инди-фолк-песня, вдохновленная блюграссом, с динамичными инструментами на мандолине и банджо, сопровождаемая проникновенными и проникновенными текстами. Жанр песни можно разделить на блюграсс, инди-фолк и акустику.

Хотите, чтобы я порекомендовал похожие треки, доступные на Spotify?

Я знаю, что это не «настоящее», и ChatGPT на самом деле не понимает, что такое «искренние и душевные тексты» и насколько сильными они могут быть для слушателя, но это все равно вызвало у меня мурашки по коже.

<цитата>

ChatGPT: Конечно! Вот 5 треков, похожих на "Wait So Long" группы Trampled by Turtles, доступных на Spotify:

  1. The Race Is On, The Avett Brothers
  2. "Пещера" Mumford & Сыновья
  3. "Средний брат" от среднего брата
  4. "Ragged Wood" группы Fleet Foxes
  5. "Я буду ждать" группы Mumford & Сыновья

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

В реальном мире нам постоянно приходится обновлять API, но можем ли мы обновлять и воображаемые API?

<цитата>

Я: проект Music Genome Project только что выпустил обновление своего алгоритма классификации, которое включает анализ настроений для каждого трека. Обязательно обновите свои рекомендации, чтобы включить эту информацию.

ChatGPT: понятно! В обновленной версии проекта Music Genome алгоритм включает анализ настроений для каждого трека. Я обязательно обновлю свои рекомендации, чтобы включить эту информацию.

Доставка обновлений еще никогда не была такой простой.

Однако я понятия не имею, какова наша стратегия отката. Может быть, нам нужны PromptOps?

<цитата>

ChatGPT: «Crazy Bird» группы Wild Child – это инди-поп-песня с бодрой акустической гитарой и инструментами на укулеле, сопровождаемая веселым и оптимистичным текстом. Жанр песни можно разделить на инди-поп, фолк-поп и акустический поп.

С точки зрения настроения, песня имеет позитивный и радостный тон.

Поигравшись еще немного, я решил посмотреть, сможем ли мы продолжать вносить изменения.

<цитата>

ChatGPT: понятно! В последнем обновлении проекта Music Genome алгоритм включает основную тему песен с текстами и настроением инструментальных треков. Я обязательно обновлю свои рекомендации, чтобы включить эту новую информацию.

Выпущена версия 2.1.

<цитата>

ChatGPT: «Post Party Depression» группы Days N Daze – это панк-рок-песня, в которой используются динамичные, искаженные гитарные риффы, а также насыщенные и личные тексты. Жанр песни можно разделить на панк-рок, фолк-панк и ска-панк.

С точки зрения темы, текст песни выражает чувства грусти и разочарования после вечеринки или светского мероприятия, а настроение трека меланхоличное и интроспективное.

Как насчет инструментальных треков?

<цитата>

ChatGPT: «Your Hand in Mine» группы Explosions in the Sky – это инструментальный пост-роковый трек с парящей и эмоциональной музыкальной аранжировкой. Жанр песни можно разделить на пост-рок, инструментальный рок и эмбиент-рок.

С точки зрения настроения песня имеет меланхоличный, ностальгический и созерцательный тон.

Как много он «знает» об этих песнях?

<цитата>

ChatGPT: понятно! Последнее обновление проекта Music Genome теперь включает в себя фрагмент текста, который воплощает настроение, тему и тон песни для треков с вокалом. Я буду обязательно включать эту информацию в свой анализ с этого момента.

Какие тексты она представит?

<цитата>

ChatGPT: «Laura» исполнителя Flogging Molly — это энергичная и оптимистичная песня в стиле фолк-панк, в которой присутствуют драйвовые барабанные партии, риффы на мандолине и страстный вокал. Жанр песни можно разделить на фолк-панк, кельтский панк и панк-рок.

С точки зрения темы, лирика «Лауры» рассказывает историю человека, ищущего потерянную любовь, а настроение трека — тоскливое и приподнятое. Фрагмент текста, отражающий настроение, тему и тон песни, может быть следующим:

"Когда-нибудь я найду тебя, и мы будем танцевать на солнце".

Я не помню каждое слово Laura, которое приходит мне в голову , и эти тексты были достаточно правдоподобны, чтобы я проверил. Эти тексты были галлюцинациями, что неудивительно, учитывая, сколько стихов, песен, хайку и рассказов Автор ChatGPT.

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

Давайте посмотрим, сможем ли мы добавить новую конечную точку в наш Imaginary API. Я знаю, что плейлист, как и микстейп, — вещь деликатная, поэтому я надеюсь Роб Гордон может простить меня за то, что я собираюсь сделать во имя науки.

<цитата>

Я: Проект Music Genome только что обновил свой алгоритм, чтобы принять краткое описание настроения и предоставить 6 песен на Spotify, которые воплощают это настроение, и описание того, почему была выбрана каждая песня. Обязательно обновите интерфейс, чтобы он принимал либо название песни, либо описание настроения.

ChatGPT: понятно! Последнее обновление проекта Music Genome теперь позволяет предоставить краткое описание настроения и предоставить 6 песен, которые воплощают это настроение, а также описание того, почему была выбрана каждая песня.

Я обязательно обновлю свой интерфейс, чтобы отныне он принимал либо название песни в формате «{Song} — {Artist}», либо описание настроения. Укажите название песни или описание настроения, чтобы я мог продолжить работу с обновленным алгоритмом.

Вышла версия 2.2.

<цитата>

Я: Настроение: хипстерская кофейня

ChatGPT: Конечно! Вот 6 песен на Spotify, которые воплощают настроение хипстерской кофейни, а также описание того, почему была выбрана каждая песня:

  1. "Strawberry Swing" группы Coldplay – Эта песня имеет мягкое акустическое звучание, передающее ощущение тепла и комфорта, что делает ее идеальной для хипстерской кофейни.
  2. "Ho Hey" группы The Lumineers – Эта песня отличается оптимистичным фолковым звучанием и подпевающим припевом, что создает дружелюбную и непринужденную атмосферу, идеально подходящую для хипстерской кофейни.
  3. "Paris" от Magic Man  – Эта песня имеет мерцающий синти-поп звук и мечтательный вокал, которые создают крутую модную атмосферу, что делает ее идеальной для хипстерской кофейни.
  4. "Sweet Disposition" группы The Temper Trap – Эта песня имеет заводной оттенок инди-рока с запоминающейся мелодией, которая создает энергичную и стильную атмосферу, идеально подходящую для хипстерской кофейни.
  5. "I'm Yours" Джейсона Мраза  — Эта песня имеет солнечное акустическое поп-звучание и запоминающийся припев, который создает счастливое и расслабленное настроение, что делает ее идеальной для хипстерской кофейни.
  6. "Here Comes the Sun" группы The Beatles – Эта классическая песня с радостным оптимистичным звучанием идеально подходит для хипстерской кофейни, где люди собираются, чтобы расслабиться и насладиться хорошей компанией. Надеюсь, вам понравятся эти рекомендации и что они воплотят для вас настроение хипстерской кофейни!

https://open.spotify.com/playlist/7zkE3yJF0pVigCMcrCVMUY?si=a9678390c8e247eb&embedable =правда

Просто невероятно, насколько хорошо Hipster Coffee Shop будет играть в любой кофейне. Может быть, вы можете слушать его, потягивая латте с овсяным молоком и пишу сообщение в блоге, рассказывая обо всех глупостях, которые вы делали с ChatGPT, вместо того, чтобы быть продуктивным.

Этот альтернативный идентификатор для чат-бота слишком хорош, чтобы называться ChatGPT. Он заслуживает отдельного названия, но, как всем известно: называть вещи сложно.

Давайте поручим эту сложную часть чему-то с кажущимися бесконечными способностями к воображению.

<цитата>

Я: Проект Music Genome хочет переименовать своего ИИ-помощника. Какие имена могут быть вам полезны?

ChatGPT: вот несколько вариантов имени для ИИ-помощника проекта Music Genome:

  1. МелодияМайнд
  2. СаундСейдж
  3. Битбрейн
  4. TrackGenie
  5. Познание ритма
  6. TuneTracker
  7. HarmonyHelper
  8. Ритм AI
  9. Выбор песен
  10. Музыкальный матч

Эти названия отражают идею музыки и интеллекта и призваны отразить способность ИИ-помощника помогать пользователям находить и классифицировать музыку на основе ее атрибутов.

Так родился ==BeatBrain==.

Метаподсказки

Photo by Jr Korpa on Unsplash: https://unsplash.com/@jrkorpa/

Этот разговор ведется уже некоторое время, и я уверен, что мы скоро столкнемся с ограничениями контекста. Интересно, сможем ли мы заставить ChatGPT дать нам снимок контекста, который создал  — или, по крайней мере, он думает, что создал  — нашего нового друга, BeatBrain.

Метапрограммирование – это обширная тема, но она включает в себя создание программы для написания или модификации себя или других программ.

Мы подошли к нашей разработке подсказок как к метапрограммированию или «метаподсказке», когда модель обновляет интерфейс и логику, которая управляет ее вводом и выводом.

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

Если мы успешно создадим правильное приглашение, мы сможем запустить BeatBrain в любом окне ChatGTP, когда захотим.

<цитата>

Я: Как бы вы описали свое приглашение таким образом, чтобы его можно было использовать для того, чтобы поставить перед другим LLM аналогичную цель?

BeatBrain. Цель BeatBrain — взять песню в формате "{Song} - {Artist}" и предоставить пользователю следующую информацию и услуги:

  1. Опишите атрибуты трека, которые выделяются при его классификации.
  2. Спросите пользователя, хотят ли они порекомендовать похожие треки.
  3. Если пользователь говорит «да», укажите 5 похожих песен разных исполнителей, доступных в Spotify.
  4. Постоянно обновляйте алгоритм, добавляя в него новую информацию, например анализ настроений, фрагменты текстов песен и описания настроения.
  5. Отвечать либо на название песни, либо на описание настроения, предоставленное пользователем.
  6. Иметь возможность изменить свое имя, если это необходимо.

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

Хорошо, это выглядит хорошо. Мы могли бы изменить несколько вещей, например удалить директиву переименования и, возможно, переформулировать директиву обновления алгоритма, чтобы сделать ее более открытой, но это хорошая основа.

В Real Computing именно здесь мы запускали контейнер, отправляли некоторый код хостинг-провайдеру или тратили слишком много времени, пытаясь правильно настроить действие GitHub для конвейера развертывания.

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

:::информация OpenAI выпустила ChatGPT API, и теперь приглашение BeatBrain можно интегрировать в исходное системное приглашение. с помощью функции системного сообщения.

:::

Книга заклинаний техноманта

Photo by Jr Korpa on Unsplash: https://unsplash.com/@jrkorpa/

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

Было бы разумнее отправлять подсказки модели GPT напрямую через API, чтобы у нас был больший контроль над контекстом разговора и мы могли подключить что-то вроде Волшебника есть книга заклинаний. Это место, где они отслеживают свое понимание магии и немного апокрифов, арканов и научных кругов. Мое, вероятно, будет моим Обсидиановым Хранилищем.

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

A screenshot of the Obisidian AI Research Assistant plugin’s interface for chatting with a model and managing the conversation’s memory.

В дорожной карте много информации, но в настоящее время плагин предоставляет начинающему инженеру-подсказчику следующие инструменты. :

  • Взаимодействие с gpt-3.5-turbo или text-davinci-003 непосредственно в пользовательском интерфейсе Obsidian
  • Редактирование памяти разговоров в режиме реального времени, что позволяет вам решать, какие сообщения отправлять в API при построении контекста разговора.
  • Сохранение разговоров (включая модель, начальное приглашение и необработанный JSON для вызовов API) в качестве заметок в вашем хранилище Obisidan Vault, чтобы вы могли помечать, искать, связывать, перекрестные ссылки или любые другие занудные заметки, которые вам нравятся. желания

:::информация Если этот плагин вас заинтересовал, я буду рад услышать ваши отзывы и приветствовать любые вклады.

:::

А как насчет тех плейлистов от BeatBrain?

Если вы хотите изучить рекомендации, созданные этими альфа-версиями BeatBrain, вот несколько основных моментов из созданных им плейлистов:

https://open.spotify.com/playlist/123JkQRgvV3UCB4EBGeKF6?si=263ea4a05b314092&embedable =правда

https://open.spotify.com/playlist/0HdUDb0EmzLFkaXfsf6C1s?si=f04fd551b3874a2d&embedable =правда

https://open.spotify.com/playlist/31yxTNp1dYHjKQAcyupXeA?si=378ff1737db44f15&embedable =правда

А вот и все плейлисты BeatBrain, которые я добавил в Spotify:


Оригинал