Как да създадете частен ChatGPT, който взаимодейства с вашите локални документи
ChatGPT е удобен инструмент, но има и своите компромиси. Например, изисква изпращане на данни през интернет, което може да бъде проблем, особено ако работите с конфиденциални документи. Освен това изисква постоянна интернет връзка, което може да бъде проблем в райони с лоша свързаност. За щастие, има алтернатива. Можете да стартирате свой собствен локален голям езиков модел (LLM), който ви дава контрол над вашите данни и поверителност.
Структура на частния LLM
Нека започнем с общия изглед на компонентите, които са ви необходими, за да създадете локален езиков модел, който може да взаимодейства с вашите документи. Вашият локален LLM ще има подобна структура, но всичко ще бъде съхранявано и изпълнявано на вашия собствен компютър:
- Отворен LLM: Това са малки отворени алтернативи на ChatGPT, които могат да бъдат стартирани на вашия локален компютър. Някои популярни примери включват Dolly, Vicuna, GPT4All и llama.cpp. Тези модели са обучени върху големи количества текст и могат да генерират висококачествени отговори на потребителски подканвания.
- Модел за вграждане: Моделът за вграждане се използва за преобразуване на текстови данни в числов формат, който може да бъде лесно сравнен с други текстови данни. Това обикновено се постига чрез техника, наречена вграждане на думи или изречения, които представят текста като плътни вектори във високоразмерно пространство. Тези вграждания могат да се използват за намиране на документи, които са свързани с потребителската подкана.Блиотеката SentenceTransformers съдържа богато разнообразие от предварително обучени модели за вграждане.
- Векторна база данни: Векторната база данни е предназначена за съхранение и извличане на вграждания. Тя може да съхранява съдържанието на вашите документи във формат, който може да бъде лесно сравнен с потребителската подкана. Faiss е библиотека, която можете да използвате за добавяне на сравнения на векторна подобност върху други хранилища за данни. Но съществуват и няколко отворени векторни бази данни, които можете да инсталирате на вашия компютър, включително Qdrant, Weaviate и Milvus.
- Документи за знания: Колекция от документи, които съдържат знанията, които вашият LLM ще използва за отговор на вашите въпроси. Тези документи зависят от вашето приложение. Например, това може да бъде колекция от PDF или текстови документи, които съдържат вашите лични блог постове.
- Потребителски интерфейс: Потребителският интерфейс ще приема потребителски подканвания и ще показва изхода на модела. Това може да бъде прост команден интерфейс (CLI) или по-сложно уеб приложение като Streamlit. Потребителският интерфейс ще изпрати потребителската подкана към приложението и ще върне отговора на модела на потребителя.
Работен процес на частния LLM
Преди да можете да използвате вашия локален LLM, трябва да направите няколко подготовки:
- Създайте списък с документи, които искате да използвате като база от знания
- Разделете големите документи на по-малки части (около 500 думи)
- Създайте вграждане за всяка част от документа
- Създайте векторна база данни, която съхранява всички вграждания на документите
Ако добавите документи към вашата база от знания в бъдеще, ще трябва да актуализирате векторната си база данни.
Сега, когато нашата база от знания и векторна база данни са готови, можем да прегледаме работния процес на частния LLM:
- Потребителят въвежда подкана в потребителския интерфейс.
- Приложението използва модела за вграждане, за да създаде вграждане от потребителската подкана и го изпраща към векторната база данни.
- Векторната база данни връща списък с документи, които са релевантни за подканата, на базата на подобието на техните вграждания с потребителската подкана.
- Приложението създава нова подкана с първоначалната потребителска подкана и извлечените документи като контекст и го изпраща към локалния LLM.
- LLM произвежда резултата заедно с цитати от контекстните документи. Резултатът се показва в потребителския интерфейс заедно с източниците.
PrivateGPT
Чрез използване на локален езиков модел и векторна база данни, можете да поддържате контрол над вашите данни и да гарантирате поверителност, като все пак имате достъп до мощни възможности за обработка на езика. Процесът може да изисква някои технически умения, но има много ресурси онлайн, които могат да ви помогнат да започнете.
Едно решение е PrivateGPT, проект, хостван в GitHub, който събира всички гореспоменати компоненти в лесен за инсталиране пакет. PrivateGPT включва езиков модел, модел за вграждане, база данни за вграждане на документи и команден интерфейс. Той поддържа няколко типа документи, включително обикновен текст (.txt), разделени със запетая стойности (.csv), Word (.docx и .doc), PDF, Markdown (.md), HTML, Epub и имейл файлове (.eml и .msg).
За да използвате PrivateGPT, ще ви трябва Python инсталиран на вашия компютър. Можете да започнете, като клонирате хранилището PrivateGPT на вашия компютър и инсталирате изискванията:
Bash:
git clone https://github.com/imartinez/privateGPT.git cd privateGPT/ pip install -r requirements.txt
След това трябва да изтеглите предварително обучен езиков модел на вашия компютър. Създайте папка “models” в директорията PrivateGPT и преместете файла на модела в тази папка. PrivateGPT е конфигуриран по подразбиране да работи с GPT4ALL-J (можете да го изтеглите от тук), но също поддържа llama.cpp. Това са и двата отворени LLM, които са обучени за следване на инструкции (като ChatGPT). Те са също така проектирани да работят на компютри с потребителска хардуерна конфигурация. Llama.cpp работи особено добре на Mac компютри с процесори M1.
Следващата стъпка е да създадете вашата база от знания. PrivateGPT има папка “source_documents”, където трябва да копирате всичките си документи. След това трябва да попълните вашата векторна база данни с вграждащите стойности на вашите документи. За щастие, проектът има скрипт, който изпълнява целия процес на разделяне на документите на части, създаване на вграждания и съхраняването им в векторната база данни:
Code:
python ingest.py
В зависимост от броя на документите, които имате, създаването на векторната база данни може да отнеме няколко минути. Веднъж когато подготовката е завършена, можете да стартирате модела със следната команда:
Code:
python privateGPT.py
И след това можете да започнете да разговаряте с вашия локален LLM без никакви условия. Той ще отговаря на вашите въпроси и ще предоставя до четири източника от вашата база от знания завсеки отговор. PrivateGPT е експериментален проект. Той не е бърз (може да отнеме 20-30 секунди за отговор) и не е оптимизиран за всеки тип хардуер. Инсталацията му може също да срещне грешки в зависимост от вашата операционна система и хардуер. Но той определено е предвестник на една от многото посоки, в които се движи областта, и на мощните приложения, които отворените LLM могат да отключат.
Заключение
Създаването на частен ChatGPT, който взаимодейства с вашите локални документи, е процес, който изисква някои технически умения, но възнаграждението е голямо. Вие получавате контрол над вашите данни и поверителност, като същевременно имате достъп до мощни възможности за обработка на езика. И с помощта на проекти като PrivateGPT, този процес става все по-достъпен.
Често задавани въпроси
- Какво е частен ChatGPT?Частният ChatGPT е локален голям езиков модел (LLM), който ви позволява да контролирате вашите данни и поверителност.
- Как мога да създам частен ChatGPT?Можете да създадете частен ChatGPT, като използвате отворен LLM, модел за вграждане, векторна база данни и колекция от документи за знания.
- Какво е PrivateGPT?PrivateGPT е проект, хостван в GitHub, който събира всички компоненти, необходими за създаване на частен ChatGPT, в лесен за инсталиране пакет.
- Как мога да използвам PrivateGPT?Можете да използвате PrivateGPT, като инсталирате Python на вашия компютър, клонирате хранилището PrivateGPT и следвате инструкциите за настройка.
- Какви документи мога да използвам с PrivateGPT?PrivateGPT поддържа няколко типа документи, включително обикновен текст (.txt), разделени със запетая стойности (.csv), Word (.docx и .doc), PDF, Markdown (.md), HTML, Epub и имейл файлове (.eml и .msg).
Тази статия е написана от Тони Ангелчовски и е публикувана ексклузивно във форума на DT Garage. Всички права са запазени. Забранено е всякакво копиране, разпространение или използване на тази статия без изричното писмено разрешение на автора.
Новата Граница на Изкуствения ИнтелектGemini, последното творение на Google DeepMind, представлява значителен напредък в развитието на изкуствения интелект. Разработен от основите…
AIAI НОВИНИ7 МИНУТИ ЧЕТЕНЕ Microsoft наскоро представи два специално проектирани чипа за подобряване на AI и облачните възможности. Azure Maia…