Резюме, исходный код, готовый к использованию, и пример чат-бота, с которым можно сразу поиграть.
Отличные новости для разработчиков из 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 , чтобы получить доступ ко всем его историям (партнерские ссылки платформы, за которые я получаю небольшой доход бесплатно для вас) и подписаться, чтобы получать мои новые истории по электронной почте. Чтобы проконсультироваться по поводу небольших вакансий, посетите мою страницу услуг здесь. Вы можете связаться со мной здесь.