Пошаговое руководство по созданию приложения Node.js, которое генерирует код, изображения и текстовые ответы.

Будем честны.

Искусственный интеллект (ИИ) коренным образом меняет методы работы предприятий и услуги, которые они предоставляют своим клиентам.

Это одна из самых востребованных технологий в бизнес-секторе из-за ее способности быстро и правильно анализировать огромные объемы данных, открывая новые возможности для автоматизации, персонализации и прогнозной аналитики.

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

Вот где это руководство может помочь.

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

Итак, если вы готовы, давайте начнем.

Создание учетной записи OpenAI: ваш ключ к доступу к расширенным возможностям ИИ

Если вы использовали ChatGPT, возможно, у вас уже есть учетная запись OpenAI. Если нет, вы можете создать его, нажав здесь. Перейдя по этой ссылке, вы увидите кнопку Регистрация в правом верхнем углу страницы.

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

Здесь вы увидите, что OpenAI зачислила на ваш счет 18 долларов, что дает вам возможность опробовать их API без каких-либо значительных затрат.

Хотя OpenAI API является платным сервисом, первоначальной бесплатной пробной версии достаточно, чтобы начать работу с платформой.

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

Наконец, для создания приложения Node.js необходимо сгенерировать секретный ключ. Итак, перейдите на вкладку «Ключи API» и нажмите кнопку «Создать новый секретный ключ».

Вы получите свой секретный ключ. Скопируйте этот ключ, так как он будет использоваться в нашем приложении Node.js.

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

Создание приложения Node.js

Я начну с основ и перейду к более сложным темам.

В частности, я создам приложение Node.js, которое генерирует код, изображения и текстовые ответы.

Поскольку JavaScript широко используется для веб-разработки, я буду использовать Node.js для создания приложения, ориентированного на ИИ. Хотя код будет простым, он будет полностью функциональным и всеобъемлющим.

Давайте начнем.

  1. Создание приложения Node.js

Для начала убедитесь, что у вас установлен Node.js (вместе с VS Code) и вы знакомы с ним. После того, как вы выполните эти предварительные условия, откройте свой терминал и создайте папку с именем «openai» в выбранном вами каталоге.

mkdir openai

Теперь откройте папку «openai» в предпочитаемом вами редакторе кода (например, VS Code).

cd openai && code .

Открыв папку, откройте встроенный терминал в VS Code и создайте новый файл package.json в папке с помощью приведенной ниже команды.

npm init -y

Этот файл позволит нам установить необходимые зависимости.

После создания файла перейдите к установке необходимых зависимостей с помощью этой команды.

npm i dotenv openai

Наконец, создайте файл index.js и добавьте следующую строку в объект «скрипты» в файле package.json: «start»: «node index.js». Это позволит вам запустить программу с помощью команды «npm start».

Вот пример того, как должен выглядеть обновленный файл package.json:

{
  "name": "openai",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "dotenv": "^16.0.3",
    "openai": "^3.2.1"
  }
}

2. Использование возможностей OpenAI

Ранее мы установили openai в качестве зависимости в нашем приложении Node.js. Этот пакет npm упрощает процесс работы с OpenAI API.

Мы также установили dotenv, что позволяет нам хранить наш секретный ключ в отдельном файле .env.

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

OPENAI_API_KEY=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

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

Имея это в виду, давайте начнем процесс.

Во-первых, мы начнем с простого примера, предоставленного npm-пакетом OpenAI.

const dotenv = require('dotenv');
dotenv.config();
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
    apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);
(async () => {
    const response = await (await openai.listModels()).data.data;
    console.log(response);
})();

Здесь мы просто перечисляем все модели, которые предоставляет OpenAI API.

После выполнения команды «npm start» приложение отобразит список доступных моделей ChatGPT.

Вывод будет примерно таким:

{
    id: 'code-davinci-edit-001',
    object: 'model',
    created: 1649880484,
    owned_by: 'openai',
    permission: [ [Object] ],
    root: 'code-davinci-edit-001',
    parent: null
  },
  {
    id: 'text-davinci-001',
    object: 'model',
    created: 1649364042,
    owned_by: 'openai',
    permission: [ [Object] ],
    root: 'text-davinci-001',
    parent: null
  },
....
 {
    id: 'code-search-ada-text-001',
    object: 'model',
    created: 1651172507,
    owned_by: 'openai-dev',
    permission: [ [Object] ],
    root: 'code-search-ada-text-001',
    parent: null
  },
 ....

Конечно, вы можете поэкспериментировать с ним и изучить дополнительную информацию.

3. Завершение текста и завершение кода

Теперь давайте напишем простой код, используя модель «text-davinci-003», которая генерирует завершение текста на основе заданной подсказки, используя API OpenAI.

const dotenv = require('dotenv');
dotenv.config();
const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
    apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);

(async () => {
    const completion = await openai.createCompletion({
        model: "text-davinci-003",
        prompt: "Hello, how are you?",
    });
    console.log(completion.data.choices[0].text);
})();

Здесь мы передаем модель, которую используем, вместе с подсказкой.

Когда вы выполняете код, он будет генерировать следующий ответ:

I’m doing well, thank you. How about you?

Точно так же вы можете изменить подсказку в зависимости от того, что вам нужно.

В качестве примера я использовал подсказку «Можете ли вы написать простой код Hello World на Python?» в следующем коде:

const dotenv = require('dotenv');
dotenv.config();
const { Configuration, OpenAIApi } = require("openai");

const configuration = new Configuration({
    apiKey: process.env.OPENAI_API_KEY,
});
const openai = new OpenAIApi(configuration);

(async () => {
    const completion = await openai.createCompletion({
        model: "text-davinci-003",
        prompt: "Can you write a simple hello world python code?",
    });
    console.log(completion.data.choices[0].text);
})();

Код выведет ожидаемый результат.

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

const dotenv = require('dotenv');
dotenv.config();

const { Configuration, OpenAIApi } = require('openai');
const readline = require('readline');

const openAi = new OpenAIApi(
    new Configuration({
        apiKey: process.env.OPENAI_API_KEY,
    })
);

const userInterface = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
});

userInterface.prompt();
userInterface.on('line', async (input) => {
    const response = await openAi.createChatCompletion({
        model: 'gpt-3.5-turbo',
        messages: [{ role: 'user', content: input }],
    });
    console.log(response.data.choices[0].message.content);
    userInterface.prompt();
});

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

Стоит отметить, что мы использовали другую модель под названием «gpt-3.5-turbo», которая может генерировать практически все, что вы хотите.

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

4. Создание изображения

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

Следующий код демонстрирует, как это сделать:

const dotenv = require('dotenv');
dotenv.config();

const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
    apiKey: process.env.OPENAI_API_KEY,
});

const openai = new OpenAIApi(configuration);

async function createImage() {
    try {
        const response = await openai.createImage({
            prompt: "A cute baby sea otter",
            n: 2,
            size: "1024x1024",
        });
        console.log(response.data);
    } catch (error) {
        console.log(error);
    }
}

createImage();

Вот два изображения, так как значение n установлено равным 2.

{
  created: 1680000483,
  data: [
    {
      url: 'https://oaidalleapiprodscus.blob.core.windows.net/123456789'
    },
    {
      url: 'https://oaidalleapiprodscus.blob.core.windows.net/987654321'
    }
  ]
}

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

Не стесняйтесь изменять подсказку в соответствии с вашими потребностями.

Надеюсь, вам понравится.

Вот так — спасибо.

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





Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 💰 Бесплатный курс собеседования по программированию ⇒ Просмотреть курс
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу