Многоязычный сервис перевода SMS, созданный с помощью Hapi, Nodejs и Javascript
Привет! Я создал этот замечательный сервис, который делает отправку массовых SMS-сообщений очень простой! Но это еще не все — он выходит за рамки обычного и позволяет вам переводить ваши сообщения на любой язык, который вы хотите. Как это круто?
Я интегрировал мощные функции OpenAI и Termii, чтобы ваши сообщения были точно переведены и доставлены вовремя. Больше не нужно беспокоиться о языковых барьерах или упускать возможность привлечь внимание своей аудитории!
Предпосылки
Прежде чем начать, убедитесь, что у вас установлены Node.js и npm в качестве предварительных условий. Если у вас их еще нет, вы можете скачать и установить их с официального сайта Node.js.
Этот сервис использует возможности OpenAI и Termii для обеспечения плавного перевода и эффективной доставки SMS-сообщений.
Настройки
- Установите Node.js и npm в вашей системе.
- Клонируйте этот репозиторий на свой локальный компьютер.
- Перейдите в каталог проекта и установите необходимые зависимости с помощью npm install.
- Создайте файл .env в корневом каталоге и добавьте необходимые переменные среды:
const Hapi = require("@hapi/hapi");
const axios = require("axios");
const dotenv = require("dotenv");
dotenv.config();
Пакет и инструменты
Эта документация предлагает исчерпывающий обзор внешнего API, используемого в проекте.
OPENAI:
OpenAI — это специализированная исследовательская лаборатория искусственного интеллекта, занимающаяся разработкой безопасного и полезного искусственного интеллекта общего назначения (AGI). Чтобы воспользоваться их услугами, вы можете посетить их официальный сайт и получить доступ к документации по этой ссылке. Создав учетную запись на их платформе, вы получите доступ к ключу API, который необходим для использования их возможностей искусственного интеллекта в ваших приложениях.
OpenAI был легко интегрирован в приложение, что позволило пользователям легко переводить сообщения с одного исходного языка на нужный язык назначения. Эта мощная интеграция добавила ценную функцию преобразования языка в наше приложение, повысив его универсальность и удобство использования.
async function translateText(text, source_language, destination_language) {
const apiKey = process.env.OPENAI_KEY;
const apiUrl = "https://api.openai.com/v1/chat/completions";
const data = {
model: "gpt-3.5-turbo",
messages: [
{
role: "system",
content: "You are a helpful assistant that translates text.",
},
{
role: "user",
content: `Translate the following '${source_language}' text to '${destination_language}': ${text}`,
},
],
max_tokens: 150,
n: 1,
stop: null,
temperature: 0.5,
};
try {
// Make the request with a delay of 2 seconds
await new Promise((resolve) => setTimeout(resolve, 2000));
const response = await axios.post(apiUrl, data, {
headers: {
Authorization: `Bearer ${apiKey}`,
"Content-Type": "application/json",
},
});
const translation = response.data.choices[0].message.content.trim();
return translation;
} catch (error) {
console.error("Error:", error.message);
throw error;
}
}
TERMII:
Termii — это платформа, которая помогает различным компаниям отправлять оповещения. Это помогает другим предприятиям аутентифицировать личности пользователей и транзакции с помощью одноразовых паролей (OTP).
Вы можете посетить их официальный сайт и получить доступ к документации по этой ссылке: (https://developers.termii.com). Создав учетную запись на их платформе, вы получите доступ к ключу API, который подключается к приложениям.
После того, как сообщение было преобразовано с помощью openAI, мы включили API-интерфейс Termii в наше приложение, чтобы доставить сообщение получателю.
AXIOS:
Axios сыграл решающую роль в нашем приложении, позволив нам легко взаимодействовать с внешними API. Его удобный API, дизайн на основе обещаний и надежные возможности обработки ошибок упростили процесс получения и обработки данных из разных источников. Выступая в качестве надежного моста, Axios обеспечил бесперебойную связь и значительно улучшил общую производительность нашего приложения.
.env.example
Переменная среды предлагает все необходимые данные, связанные с конфигурацией.