Перейти к содержанию
С 1 января 2024 года клиент Steam будет поддерживать только Windows 10 и более поздние версии.

Vanilla Chatgpt


Ryancoolround

Рекомендуемые сообщения

  • Администратор

Vanilla Chatgpt

Просмотр файла

Минимальный клиент ChatGPT с ванильным Javascript, работающий с локального или любого веб-хоста.

Это решение направлено на программирование полностью функционального клиента ChatGPT, используя только необработанный HTML/CSS/JavaScript с минимальными усилиями программирования, с целью изучения минимальных требований для использования функций ChatGPT без необходимости сервера, фреймворка или дополнительных ресурсов.

Эта программа обеспечивает базовые функции разговора с некоторыми расширениями для содержания разговора

  1. Изысканное выражение
  2. Простое копирование блока кода и содержимого
  3. Экспорт беседы в Markdown
  4. Распознавание голоса и устный ответ

Это доступно в виде одного HTML-файла, который можно запустить прямо из локальной папки или установить на свой сайт.

Демо: https://pingshan-tech.com/demo/ps-chatgpt.html

Screenshot 2023-04-27 103301.jpg

Архив содержит две версии Vanilla Chatgpt с библиотекой Javascript для API chatGPT.

  • index.html - Это однофайловая версия Vanilla Chatgpt. никаких зависимостей.
  • vanilla-chatgpt.html - это минимальная версия, которая использует casual-markdown.js и vanilla-chatgpt.js.
  • vanilla-chatgpt.js - Это библиотека js, которая может быть использована для вашего клиента chatGPT.

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

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

vanilla-chatgpt.js - Это многократно используемый код со следующими функциями:

chat.stream(prompt) - отправляет сообщение в режиме потока.
chat.send(prompt) - отправляет сообщение в обычном режиме.
chat.onmessage(text) - срабатывает при получении сообщения.
chat.oncomplete(text) - срабатывает при завершении сообщения.
chat.controller.abort() - прерывает процесс fetch()
chat.export() - экспортирует беседу в Markdown файл
chat.history[] - хранит историю беседы
chat.apiKey хранит OPENAI_API_KEY, пожалуйста, присвойте его перед вызовом вышеуказанных функций.

OPENAI_API_KEY:

  • Когда страница загружается в первый раз, программа запросит OPENAI_API_KEY. - Это безопасно, потому что ключ хранится в локальной памяти браузера с помощью следующего сценария
// Запрос ключа API, если он не найден в localStorage
window.onload = function () {
  chat.apiKey = localStorage.getItem('OPENAI_API_KEY');
  if (!chat.apiKey || chat.apiKey.length < 10 ) {
     chat.apiKey = prompt("Please input Secret API key (will store in local.storage)", "sk-");
     localStorage.setItem('OPENAI_API_KEY', chat.apiKey)
  }
}

При следующей загрузке страницы API ключ будет получен из локального хранилища. Чтобы удалить ключ API из локального хранилища, просто нажмите кнопку [Выход].

Если вы не хотите вводить ключ каждый раз, вы также можете жестко закодировать ключ API следующим образом:

window.onload = function () {
  chat.apiKey = 'sk-???????????';
}  

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

 


 

А ну ка пыль сдуй отсюда!

Ссылка на комментарий
Поделиться на другие сайты



×
×
  • Создать...