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

Отличные новости для разработчиков из OpenAI

OpenAI вчера выпустила конечные точки API для Whisper, своего механизма распознавания речи, и для GPT-3.5-turbo, который, как объясняется на их веб-сайте, является фактической языковой моделью, лежащей в основе знаменитого ЧатGPT:



На странице выше также приведены сведения о том, как вызывать новые API и обо всех связанных параметрах. И это также объясняет, что он не только лучше подходит для операций в чате, чем обычный GPT-3.5, такой как Davinci, но и потребляет гораздо меньше ресурсов; значит быстрее и дешевле!

В этой короткой статье я покажу вам, как вызвать API GPT-3.5-turbo непосредственно через JavaScript, что позволит вам использовать мозг ChatGPT непосредственно на любой веб-странице, которую вы разрабатываете!

Код

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

Вот:

var processinput = function(textin){
 fetch( `https://api.openai.com/v1/chat/completions`,
 {
   body: JSON.stringify({
     “model”: “gpt-3.5-turbo”,
       “messages”: [
         {role: “system”, content: “You are the chatbot of a website called moleculARweb, which provides educational material for chemistry using commodity augmented reality. You answer questions about the website, about chemistry, science, etc.”},
         {role: “user”, content: “What is the formula of acetic acid?”},
         {role: “assistant”, content: “The formula of acetic acid is CH3COOH”},
         {role: “user”, content: textin}
       ],
       “temperature”: 0.3,
       “max_tokens”: 2000
     }), 
     method: “POST”,
     headers: {
     “content-type”: “application/json”,
     Authorization: “Bearer “ + apikey,
   }
 }).then((response) => {
   console.log(response) //If you want to check the full response
   if (response.ok) {
     response.json().then((json) => {
       console.log(json);  //If you want to check the response as JSON
       console.log(json.choices[0].message.content) //HERE'S THE CHATBOT'S RESPONSE
     });
   }
 });
}

Объяснение кода и различий с вызовом предыдущих моделей GPT

Интерфейс

Как и в предыдущих сообщениях, где я объяснял, как вызывать API GPT-3 в JavaScript (например, здесь, здесь и здесь), я использую вызов fetch() который отправляет ключ API и тексты в движок через POST. Итак, ядро ​​похоже на то, что вы можете видеть здесь:



Но в приведенном выше примере для gpt-3.5-turbo видно, что эти тексты должны быть отформатированы особым образом, отличным от того, который используется в обычных вызовах GPT-3. Вы должны создать массив сообщений, содержащих информацию о «личности» чат-бота (роль «система») и примеры сообщений, которыми обмениваются пользователь и бот ( роль «пользователь» и «помощник»).

конечная точка API

Конечная точка немного отличается. Теперь он находится по адресу https://api.openai.com/v1/chat/completions.

Лог вероятностей

Похоже, что конечная точка для gpt-3.5-turbo не возвращает логарифмические вероятности для каждого токена (или, может быть, я просто не смог их получить). Это было интересно как средство измерения уверенности в ответах чат-бота:



Это может быть серьезной проблемой. К счастью, я сделал несколько быстрых тестов, и кажется, что gpt-3.5-turbo галлюцинирует меньше, чем обычный gpt-3.5. Тем не менее, это необходимо протестировать в целом, особенно для чувствительных приложений.

Рабочий пример

Я создал чат-бота, которому было поручено отвечать конкретно о себе и обо мне, что, конечно, включает в себя информацию, которую я должен был предоставить специально, потому что OpenAI не знает меня!

Опробовать чат-бота можно прямо здесь — ключ API не нужен. На этот раз дело во мне! (он остановится после 10 вопросов, чтобы снизить потребление токенов)



И вот вы видите это в действии. Проверьте сами, насколько быстро API отвечает, а также насколько хороши его ответы. Почти как ChatGPT, с тем преимуществом, что он знает вещи, о которых не знает обычный ChatGPT, потому что они не были в их учебных материалах!

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





www.lucianoabriata.com Пишу и снимаю обо всем, что лежит в сфере моих широких интересов: природа, наука, технологии, программирование и т. д. Стать участником Medium , чтобы получить доступ ко всем его историям (партнерские ссылки платформы, за которые я получаю небольшой доход бесплатно для вас) и подписаться, чтобы получать мои новые истории по электронной почте. Чтобы проконсультироваться по поводу небольших вакансий, посетите мою страницу услуг здесь. Вы можете связаться со мной здесь.