Чтобы обучить достойную модель машинного обучения, требуются годы.
Компьютеры не так умны, как мы думаем, поэтому они не торопятся, учась находить разницу между кошками и собаками.
Но, к счастью, вам не нужно тратить годы на сбор милых фотографий кошек и собак, чтобы обучить собственную модель. Вместо этого вы можете воспользоваться существующими моделями, обученными сотнями людей. Эти модели уже довольно сообразительны: кто-то из них может написать стихотворение, кто-то — код, а кто-то — нарисовать красивые картинки.
Модель, на которой я хотела сегодня остановиться, — это GPT. Некоторые даже называют ее гуманоидом в процессе создания, настолько она умна. Она принимает подсказку и выдает вам реальный текст в качестве вывода.
Модель может создать что угодно, от твита до целого стихотворения или короткого рассказа. Недавно мне было интересно интегрировать ее в один из моих проектов Next.js, поэтому я узнала несколько изящных приемов, которыми хочу поделиться сегодня.
💡 Подсказка: обратите внимание, что это пошаговое руководство не подходит для начинающих. Я предполагаю, что вы уже знаете JavaScript и используете в своем проекте Next.js или Node.js. Если вам нужно пошаговое руководство, я оставлю ссылку в конце статьи.
Если вы никогда раньше не работали с предварительно обученными моделями, создайте бесплатную учетную запись OpenAI и встретимся на игровой площадке.
Как новый пользователь, вы получите кредит $18, который будет действителен в течение нескольких месяцев, чтобы вы могли свободно начать экспериментировать.
Прежде чем приступить к написанию кода, хорошо бы понять, как модель работает. Подсказка — это текст, который вы пишете на английском.
Так что отправляйтесь на игровую площадку и попросите ее вам что-нибудь написать. Все равно что. Просто дайте побольше деталей.
Несколько идей, чтобы начать:
💡 Совет: будьте как можно более конкретными. Если вы сравните общие подсказки, такие как «Напиши мне…», с более конкретными («Сгенерируй 10 уникальных идей о…»), вы быстро заметите разницу!
Еще один хитрый трюк, который вы можете использовать — это цепочка подсказок.
Скопируйте вкладку с игровой площадкой и используйте полученный результат во втором окне.
Например:
Вы можете делать это столько раз, сколько захотите, и вы будете получать все более и более качественные результаты. Помните об этом трюке, когда начнете писать свой код. Там вы также можете связать столько запросов, сколько хотите, используя предыдущий вывод в качестве нового ввода.
Автор иллюстрации: Jay Alammar
Я не собираюсь вдаваться в 101 подробность об ML, но вкратце:
Упрощенная версия происходящего под капотом выглядит примерно так:
output = input * parameter
Автор иллюстрации: Jay Alammar
Есть несколько способов интеграции моделей OpenAI, но самый простой — использовать npm-пакет. Это пакет NodeJS, и вы можете установить его, как обычно, в свои проекты JavaScript, используя npm или yarn:
$ npm install openai
После того, как вы его установили, нужно создать файл .env
, в котором будет храниться ваш ключ Open AI, и добавить новый файл в серверную часть, который будет вызывать API.
Здесь вы можете получить ключ API. Получив его, добавьте новую строку в файл .env
:
OPENAI_API_KEY="your-key-here"
💡 Подсказка: если вы часто тестируете свое приложение, у вас, вероятно, скоро закончится кредит. Не забудьте проверить остаток здесь.
Теперь единственный кусок кода на бэкенде, который вам нужен, это:
import { Configuration, OpenAIApi } from 'openai'; const configuration = new Configuration({ apiKey: process.env.OPENAI_API_KEY, }); const openai = new OpenAIApi(configuration); const basePromptPrefix = "Write me a tweet about..."; const generateAction = async (req, res) => { // show your prompt console.log(`API: ${basePromptPrefix}${req.body.userInput}`) const baseCompletion = await openai.createCompletion({ model: 'text-davinci-003', prompt: `${basePromptPrefix}${req.body.userInput}`, temperature: 0.7, max_tokens: 250, }); const basePromptOutput = baseCompletion.data.choices.pop(); res.status(200).json({ output: basePromptOutput }); }; export default generateAction;
Вот что мы делаем:
Это фрагмент кода из приложения Next.js, поэтому на внешнем интерфейсе я могу просто вызвать свою новую конечную точку и передать ей приглашение пользователя в качестве параметра. Затем я могу сохранить результат в переменной и делать с ним все, что захочу. Это было не сложно, правда?
Надеюсь, эта статья вдохновила вас на создание чего-то потрясающего!
Если вы новичок и ищете больше пошагового руководства, я настоятельно рекомендую ознакомиться с этим замечательным бесплатным курсом от Buildspace. Удачи!
Это текст из личного блога, опубликованный с разрешения автора.
В благословенные офисные времена, когда не было большой войны и коронавируса, люди гораздо больше общались…
Вот две истории из собственного опыта, с тех пор, когда только начинал делать свою карьеру…
«Ты же программист». За свою жизнь я много раз слышал эту фразу. От всех. Кто…
Отличные новости! Если вы пропустили, GitHub Copilot — это уже не отдельный продукт, а набор…
Несколько месяцев назад мы с командой Promodo (агентство инвестировало в продукт более $100 000) запустили…
Пару дней назад прочитал сообщение о том, что хорошие курсы могут стать альтернативой классическому образованию.…