9

GPT-3.5/4 - обучение на своих данных. Для так себе программистов

Решил попробовать обучить GPT на своих данных. Основное всё гуглится и есть в следующих статьях:

https://toadmin.ru/как-обучить-ии-чат-бота-с-пользователь/

https://beebom.com/how-train-ai-chatbot-custom-knowledge-base-chatgpt-api/

https://habr.com/ru/articles/704600/

Однако во время настройки у меня возникло несколько проблем. Напишу, как я их решил (для тех, кто идёт строго по шагам инструкции и мало в этом всём разбирается).

- Далее возникла проблема при обучении на русском тексте.

- Далее проблема с заканчивающимся триалом на опен-аи

Итак:

1. Вообще, зачем я всё это затеял.

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

2. Если идём по статьям выше, то при запуске питоновского файла пойдут ошибки. Ряд ошибок разобран в комментариях статей, но я свои решил сразу, удалив самый последний питон и поставив конкретную версию со скрина статьи: 3.11.2. Заходим по ссылке и находим внизу интересующее. Например, Windows installer (64-bit).

https://www.python.org/downloads/release/python-3112/

3. В англоязычной версии статьи упоминается конкретная версия gpt_index. Её и устанавливаем.

pip install gpt_index==0.4.24

4. В приведённых статьях в написанном коде при каждом его запуске формируется указанный там файл index.json.

При создании файла, если я правильно понял, проходит дофига запросов к OPEN.AI.

Если вы не меняли данные и после закрытия скрипта просто хотите запустить его же заново, закомментируйте в питоновской коде строчку: "index = construct_index("docs")":

# index = construct_index("docs")

Б) Как показали опыты, если формировать данные на основе txt файлов в UTF-8, index.json хоть и формируется, но ГПТ его не воспринимает. Всё проходит гладко, но чат не в курсе загруженных данных. Хз, почему. Пробовал играть с кодировками - не помогло. Если тот же index.json формируется на основе pdf файлов, ГПТ его понимает. Хотя в обоих случаях конечный файл содержит данные в юникоде.

Если кто-то знает, как это исправить, напишите, пожалуйста. Я ответа не нашёл.

В общем, все файлы потребовалось перегнать в PDF.

Итак.

- Есть ряд статей в интернете. Вы их скачали вручную или написали для этого скрипт. Получили папку с html-файлами.

- Мне по моей изначальной задаче требовалось распарсить эти данные, убрать из них комментарии и прочий шум.

Сначала установите node-js. Затем выполните "npm install pdfkit" для установки пакета работы с pdf.

Назовите файл типа "parse.js" и запустите его из консоли: "node parse.js:". После запуска он перегонит файлы из html в pdf.

const fileSystem = require('fs');

const PDFDocument = require('pdfkit');

async function checkFile(index) {

console.log(files[index]);

if (index>=files.length) {

return;

}

if (files[index].split(".")[1] != "html") {

checkFile(index+1);

return;

}

fileSystem.readFile('./docshtml/'+files[index], 'utf8' ,(err,data) =>{

if(err){

console.error(err);

return;

}

// Здесь обрабатываем и отрезаем в файле всё лишнее. Например, переносы строк оставить, но убрать все html теги:

data = data.split('<br />').join('\n');

data = data.replace(/<[^>]*>?/gm, '');

function createInvoice() {

let doc = new PDFDocument({ margin: 50 });

generateHeader(doc);

doc.end();

doc.pipe(fileSystem.createWriteStream('./docs/'+files[index].split(".")[0] +'.pdf'));

checkFile(index+1);

}

function generateHeader(doc) {

doc

.fillColor("#444444")

.fontSize(14)

.font("./arial.ttf")

.text(data, 110, 57)

.fontSize(10)

.moveDown();

}

createInvoice();

return;

} );

}

var files = fileSystem.readdirSync('./docshtml/');

console.log(files);

checkFile(0);

return;

Одна из проблем, с которой я столкнулся, PDF не хотел формировать текст с русским языком. Поэтому в коде и пришлось указать конкретный шрифт - arial.ttf.

Сначала нужно его скачать из интернетов и разместить в той же корневой директории проекта.

Скачать можно, например, здесь (гуглите - да нагуглите):

https://allshrift.ru/font/arial/

Профит.

Наконец-то всё заработало.

Следуя инструкции из статей выше, запускаем питоновский скрипт и ура - ГПТ понимает и помнит данные, загруженные из директории docs.

В) Триальный баланс OPEN.AI быстро заканчивается.

Раза три у меня получилось по изначальной инструкции сгенерить новые почтовые аккаунты, но в какой-то момент GOOGLE отказался регать новые почты без телефона. И перестал принимать номера телефонов, купленные на указанных в статьях выше ресурсах.

Также столкнулся с тем, что OPEN-AI не хочет принимать подозрительные почтовые адреса.

Как решить эту проблему, пока не знаю.

Если кто знает, напишите, пожалуйста.

1) Знает ли кто-то нормальные почтовые ящики, которые быстро и легко регать?

2) Может быть, кто-то знает сервисы по покупке иностранных номеров лучше, чем указан в статьях выше?

3) Может быть, кто-то знает, как платить OPEN.AI и нормально с ним работать? Сейчас оплатить можно только "upgrade" за 20 баксов, но он никак не поможет с баблом на АПИ-запросы. Для нормальной оплаты, нужны реквизиты организации в США.

Г) Есть ещё одна проблема, с которой столкнулся. Ответы на русском языке по АПИ возвращаются обрезанные примерно на пятистах символах. Обрезаются посреди предложения и никакие инструкции, типа "продолжи" или "ты не закончил, продолжи с момента" - не работают.

Вариант "тебе задали вопрос: 'XXX', Был ответ: 'YYY', продолжи его" - кое-как работает, но ГПТ начинается заговариваться и повторяться.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества