0: Здравствуйте. При работе с ллм моделями вы все чаще и чаще можете слышать такое понятие, как рак или рак система. В этом видео я постараюсь объяснить и на примерах показать, что такое рак система, как она
1: Работает и как правильно работать с текстами для получения наилучшего результата. Но для начала давайте определимся, что же такое рег система. Ну вообще, рег ретривел, ретривел агмент дженерейшен и меня
2: В комментах ругают за моё произношение, поэтому ретриве менти дженерейшен это дополненная генерация поиска, какую же проблему она решает, перейдём в код в этом видео я буду показывать примеры на python.
3: Да, знаю, многие подписались на меня по моим роликам по н 8 н. Но я думаю, что эта информация будет полезна и вам допустим, мы по api работаем с ллм моделью, в моём случае это мистраль, и давайте попросим её рассказать.
4: О нашем магазине в городе Киров, ооо ромашка. Делаем запрос и видим ответ, что у модели нет актуальной информации о графике работы конкретной организации. Ну и она предлагает нам различные варианты, где
5: Мы эту информацию можем получить, ну, в принципе, честно, не соврала, но ллм модель не то чтобы не знает о нашей организации, она даже не знает более фундаментальные вопросы. Если мы спросим, кто сейчас президент сша, то ответ будет более чем интерес.
6: И здесь модель не врёт и честно говорит нам, что данная модель обучена на данных октября 23 года, и то, что произошло после октября 23 года, она не знает и не может знать Ровно, как она и не знает о рабо.
7: Вашего бизнеса, ну или о вас. Так как же нам сделать так, чтобы модель все-таки имела какое-то представление о Нужных нам данных и работала с ними как раз-таки здесь и используется рег система, мы
8: Можем помочь модели, передав в наш промт те данные, на основании которых она должна подготавливать ответ. Вот пример такого запроса. У нас есть систем промт, где мы задаём model. Роль продавца консультанта. Она должна отвечать только на
9: Основании представленного контекста, то есть появляется у нас некий контекст, в который мы будем передавать нужную нам информацию. И здесь инструкция, что нужно передать сам контекст. Выглядит вот так. Режим работы с 8 до 20
10: Showroom на улице ленина, пункт выдачи на улице Пушкина. Ну и вопрос все тот же самый. Расскажи график работы ооо ромашка в городе Киров. В инструкции это дело описано, у него есть контекст и вопрос сам запрос к модели выглядит абсолютно.
11: Так же попробуем запустить и видим, что ответ уже совершенно другой. Модель уже знает про нас, про наш бизнес и рассказывает, что режим работы такой-то, и даже подсказывает, что нас может заинтересовать. Рассказывает про
12: Шоурум и пункт выдачи. Далее задаёт вопрос. В целом рег реализован. Вся суть рег я уже показал. И, в принципе, если в рамках ваших запросов объём информации небольшой, ну,
13: Действительно, например, режим работы, там, график доставки и так далее. Ну, то есть объём информации не превышает, ну, на мой взгляд, 1000 символов, то в целом можно так все и оставить. Описываете промт, указываете
14: Текст просто переменный, даже его передаёте сюда прям вот сюда и с этим и работаете. Никакая дополнительная система вам не нужна, но все-таки, скорее всего, у вас есть большой объём информации. Возможно, это магазин, где есть сотни.
15: Тысяч наименований товаров и про каждый нужно рассказать. Возможно, это какой-то продукт. И там большое количество вопросов может быть возникнуть по этому продукту. Ну я не знаю, либо же вы сдаёте в аренду квартиру, где вы в описа
16: Они должны предусмотреть ответы на все вопросы, которые могут возникнуть. Поэтому вам нужна уже непосредственно рег система, как она строится. Как вы уже поняли, наша задача передать некий контекст в систем промт, этот контекст.
17: Нам откуда-то нужно взять, мы же не можем поместить всю нашу базу данных, там 1000 строк прям в контекст. Ну это просто запутает ллм модель и результат будет не очень хороший. Мы должны передавать только то, что нужно, ну, приходит на ум.
18: Строить некую систему, где у нас будет информация храниться и извлекаться исходя из собственно самого вопроса. Если мы здесь спрашиваем про график работы, то именно график работы, как поисковый запрос должен пойти в базу на осно.
19: Этого поискового запроса, выдать нам информацию о режиме работы и передать в контекст. И, конечно же, мы здесь можем использовать любые базы, ну тот же самый постгрес, например, с поиском по шаблону, но это очень сложная и заведомо провальная
20: Стратегия, потому что уже все придумано, а именно векторные базы данных. Что же такое векторные базы данных? И в принципе, что такое вектор, попробую объяснить максимально просто. И да, кто знаком с темой, могут сказать, что я слишком сильно упростил
21: Но не кидайте в меня помидорами, пытаюсь объяснить максимально доступно. Предположим, что у нас есть несколько предложений привет, как дела, как делать прикорм и как приготовить кашу и каким-то образом нам нужно сравнивать
22: Эти предложения. Ну 1, что приходит на ум, это каким-то образом оцифровать данные буквы. Ну так как это русский алфавит, мы можем сделать оцифровку таким образом, к каждой букве, представить её номерное за
23: Значение в алфавите. Ну, например, привет. Это 17, 18, 10, 3, 6, 20. А на пробел поставить 0. И теперь наши предложения, они превратились в некий набор чисел. Вот мы можем их посмотреть. Далее эти числа мы можем уже
24: Между собой сравнивать. И вот, например, у нас есть привет при есть и в прикорме при есть и в слове приготовить тоже самое и дела и делать, как и-ка. И очевидно, если мы
25: Сравниваем все эти 3 фразы, то 1 фраза имеет больше общего именно что со 2 фразой здесь совпадений явно больше, чем в 3 фразе ну, если посмотреть, то при таком подходе.
26: Слова привет, прикорм и приготовить у нас совпадают, хотя в них заложен совершенно иной смысл, поэтому обычным простым сравнением некого кодового представления буквы или фразы дело не ограничивается при r.
27: Используется именно что вектор. Что же такое вектор? Вот мы разобрали наше слово предложение. Ну либо вообще весь документ я показываю на примере слова и буква п. Она не просто имеет значение. Семнад.
28: Да, как в алфавите. Ну, понятное дело, что не 17. Опять-таки, повторюсь, что здесь я максимально упростил, и это работает сильно сложнее, чем я показываю. И не просто 17, да, у него значение, а эта буква, она находится в неком.
29: Пространстве и пространство её нужно высчитать, ну, примерно как координаты джипиэс, что она не просто находится здесь, а она находится на каком-то удалении от р, на каком-то удалении от и и на каком-то удалении от пробела, либо же
30: От следующей, ну, уже здесь, г, да, например, будет либо уже от следующей буквы и длины удалений букв. Ну, по большому счёту, координаты это и есть векторное представление. То есть мы собираем не просто значение некоторое, а
31: Именно вот этот вот порядок слов. Ну, если мы приводим к вектору только буквы, там, конечно, будут только буквы, да, если мы приводим целые выражения и фразы, то они таким же образом будут выстраиваться в некий вектор, в некую последовательность. И мы
32: Можем замерять длины до тех или иных кусочков. В итоге п. У нас превращается не в просто в 17, а в набор чисел. Набор длин до тех или иных букв. И, естественно, вот эта п она будет
33: Сильно отличаться от этой или от этой, а далее. Так как мы имеем значение этих векторов, мы их можем сравнить. Методов сравнения векторов существует большое количество, но самым популярным является косинусный исход.
34: Которая показывает, насколько вектора схожи между собой. Давайте посмотрим, как выглядит этот самый вектор. Я здесь описал какие-то числа, номера букв в алфавите. Естественно, это выглядит не так, а намного сложнее. Ну давайте все тоже самое слово. Привет.
35: Привет и пробел. И посмотрим. И вот таким образом выглядит слово привет с использованием трек модели. Видите, какой большой словарь с большим количеством чисел, с плавающей точкой. Ну а точнее там 1024.
36: Значение. Данный вектор был создан процессом эмбеддинга с помощью открытой модели от Сбера. Давайте рассмотрим, что это за модель. Это открытая модель. Она свободно распространяется, выложена на Хагин фейс.
37: И также может и вызываться через Хагин фейс интерфейс. Она представляет собой модель для работы с русским языком и с поддержкой неких инструкций. Почему именно эта модель, а не, например, не эмбеддинг, модель от
38: Чата gpt эмбеддинг модели чата gpt, конечно, тоже хороша, но исходя из исследований для работы с русским языком, эта модель является наилучшей, но оно и понятно я тестировал различные мульти.
39: Язычные модели, да, если у вас текст смешанный, то смело используйте чат gpt. Но если вы хотите добиться наилучшего результата, то предлагается именно эта модель, причём она может быть развёрнута и локально, у меня как раз здесь
40: 2 варианта это локальное её представление. Я её просто скачал при 1 скачивании вам нужно будет указать авторизацию на Хагин фейс. Ну а после скачивания, после 1 запуска вы можете её запускать уже без
41: Авторизации напомню, она абсолютно бесплатна и работает на локальной машине. Есть ещё и представление по api, где мы также можем работать с этой моделью, но уже по api запросу модель на вход принимает некий текст.
42: В виде импута, ну либо здесь в виде просто текста, а на выходе возвращает как раз-таки список с вектором, с которым мы уже дальше можем работать. А что делать с этим вектором? Ну, по большому счёту его нужно поместить куда-то.
43: Базу данных я в принципе видел в своей практике варианты, когда подобные вектора помещали и в базу данных редис, и просто в посгресс без какого-то вектор стор, но для работы с векторами существуют специализированные
44: Базы данных, их большое количество, это может быть и супае, это может быть и Монго диби вектор стор, но 1 из профессиональных решений является векторная база данных квадрант, она также
45: И доступная, но помимо этого, на своём сайте они предоставляют бесплатные лимиты в виде 1 гигабайта хранения данных бесплатно, так что её можно использовать и в облаке, в том числе я её развернул локально в до
46: И производил различные тесты для теста я решил взять telegram канал и из этого telegram канала вытащить посты, так как в моём telegram канале не так много постов, результат бы получился неинтересным.
47: Поэтому я взял 1 знаменитого инфобизнесмена, который своей рекламой заполонил всю мою ленту на YouTube, и я решил ну, пусть хоть какую-то пользу принесёт я взял полностью telegram канал, вытащил все сообщения.
48: Проработал с текстом этих сообщений и от эмбедим их давайте посмотрим, 1 делом вычитываем. Джейсон. Кстати, откуда взялся этот json? Любой пользователь telegram может скачать любой telegram канал себе на компьютер.
49: Просто выкачав историю всех постов и сохранив их в формате json и вы получите нечто подобное, далее смотрим количество сообщений, всего, вытаскиваем количество сообщений, вытаскиваем месседж айди.
50: Оно нам понадобится. И далее работаем с текстом, ну так как текст в сообщениях в telegram представлен вот таким вот блоком это такой словарь, где указаны куски текста, мы их собираем в единый текст, а потом.
51: Сливаем их в единую строку. После этого нам нужно поместить этот текст в базу квадрант сама по себе база квадрант, она представляет собой набор неких коллекций. Ну, грубо говоря, это как бы таблицы, но так как это все-таки
52: Векторная база данных и там нет ни иерархии, ничего по большому счёту, и записи то там нет, то это именно что коллекции для создания коллекций используется функция create collections, которая принимает в себя подключение
53: К базе данных. Далее создаётся коллекция с именем коллекции и конфигурация для векторов. Данная конфигурация принимает в себя 2 параметра. Это по какому принципу будет происходить поиск? Ну как
54: Как раз-таки косинусное сходство и есть некий сайсс, то есть размерность этой коллекции что такое размерность, размерность, это какое количество значений вектора будет в 1 векторе, как я e показывал выше данные.
55: Модель отдаёт векторы в размере 1024 элемента. Есть эмбеддинг модели, которые отдают вектор меньше или больше вообще. Это очень важный момент, если мы готовим данные к векторизации, а потом векторизуем
56: То в процессе мы и должны использовать эту модель, то есть мы не можем создать векторы 1 моделью, а искать их другой. Поэтому раз мы выбрали 1 модель её e используем и вот этот vector size он передаётся.
57: В вектор параметр хорошо, коллекция создана, далее в эту коллекцию мы добавляем данные, я описал это в методе add point, давайте рассмотрим и его также на клиенте вызываем метод апсерт указы.
58: Collection name и добавляем некий поинт по большому счёту, это та самая запись в базу данных, но так как это векторная база данных, это не какая-то строка, это не raw, это именно что point.
59: То есть точка вот в этом вот векторном пространстве, поэтому она называется и point сам по себе point на вход принимает 3 параметра, это id собственно сам вектор, ну как работает vector мы уже определились, мы передаём туда.
60: Текст, получаем словарь с данными и кладём его в значение вектор и некий пайлоу. Что нам класть в пайлоу? Ну, по большому счёту, можете класть туда все, что угодно. Пайлоу представляет собой джейсон формат и
61: По большому счёту, вы можете положить туда хоть целое сообщение, хоть любой контент, все, что хотите, но по логике вещей вы должны класть туда данные, относящиеся непосредственно к самому вектору. И да, важный момент при сравнении этих
62: Самых поинтов при поиске информации будут сравниваться именно что вектора, то есть у нас будет 1 вектор и 2 вектор, и мы будем искать между ними как раз-таки косинусное сходство, и pilot он не будет учитываться, но при этом сам
63: Вектор мы обратно в текст превратить уже не сможем, и именно поэтому мы должны будем вычитывать этот самый контент из пайлоу. А в моём случае пай лоуд выглядит таким образом, есть некий контент как раз-таки туда.
64: Попадает текст, и есть некая метадата, куда я помещаю, ну, собственно метадату метадата. У меня 1 это message id, ну, данного канала. Почему именно в таком варианте это связано с тем, что обычно поиск по
65: Базам данных и в принципе, база данных квадрант, она используется при работе с ллм моделями и при вычитке данных из базы данных ллм модели нужен именно что такой формат, где у нас есть контент и есть метадата.
66: Да, здесь это не указано и такой формат не указан, но нужно указывать именно так. Хорошо добавили теперь. Ну, я сейчас запускать этот код не буду. Я его уже запускал, у меня уже данные есть данные уже.
67: Писано и понятное дело, что я это уже дело уже запускал, было собрано 3668 точек. Давайте посмотрим, как выглядят эти самые точки. Вот у нас есть здесь некий id, здесь есть тот самый текст, который мы передаём. Вектор.
68: И, собственно, длина этого самого вектора можем посмотреть вот найти, например, похожие даже здесь это дело возможно и можем здесь вычитать ту или иную информацию, но давайте попробуем вычитать это с помощью python для этого у меня оформлено
69: Функция find text и попробуем что-нибудь найти. Данная функция принимает в себя коллекшн нейм и делает поиск с указанием коллекшн нейм. Далее тот текст, который мы ищем, но ищем мы, естественно, ближайший текст. Она
70: Его превращает векторное представление. Ну, в этом случае уже po апи. И именно что вектор является значением квери, значением того, что мы и ищем, а на выходе мы в результате получаем количество точек, где мы
71: Можем посмотреть их схожесть как раз-таки вот этот вот point скоуп это и будет схожестью и можем вычитать пайлоу. Давайте попробуем возьмём модель no clear эмбеддинг это та модель, которую я и
72: Брал с функцией, которая была описана выше. Давайте сделаем запрос и смотрим на результаты. Запрос был точки роста бизнеса. Ну так как это инфобизнесмен, спрашиваем мы его о бизнесе. 1 вариант это сходство.
73: 0 65. И здесь видим ответ. Далее следующая точка уже идёт по нисходящей тоже 0 65, но уже меньше подходящая. Ну и так далее. Можете поставить на паузу результат посмотреть самостоя.
74: Попало или не попало, но в целом, да, здесь, наверное, вау, эффекта не получится, но что-то более менее связное то он отдал, мы что-то дополучили. Давайте попробуем ещё этот вопрос и здесь уже, да.
75: Сильно лучше, вроде как даже по теме опять-таки можете сами оценить и посмотреть. Вообще наверное действительно вау эффекта не получится, потому что когда я тестировал мультиязычные модели, а точнее чат gpt small версии на
76: Вопросы о маркетинговой стратегии, точки роста бизнеса. Как заработать 1000000 и так далее. Он мне выдавал, конечно, абсолютную чушь и, например, на запрос заработать 1000000. Он мне выдал Мальдивы, здесь более менее даже
77: Нормально, хотя тоже в выдаче попадается какой-то несвязный бред. Вообще, с чем это связано? Вот как бы такой неудовлетворительный результат. А связано это с тем, что, да, точки мы добавили, мы собрали, взяли текст, сделали его эмбеддинг.
78: Но с текстом мы не поработали, мы его взяли сырым тамбеллини и отправили, и на выходе получили. Ну вот результат, который получили, как же делать правильно, есть несколько путей. 1 путь это простая очистка текста.
79: И более глубокая, если у нас большое количество информации, ну, или информация такая вот шуточная, да, условно говоря, потому что в реальности я то не буду нигде это использовать. Я взял, чтобы показать вам в качестве примера, поэтому здесь достаточно убрать лишний
80: Пробелы специальные символы и привести все к нижнему регистру так, чтобы все буквы у нас были в нужном 1 регистре и не было пробелов по хорошему ещё очистить эмодзи, так как это все-таки посты в теле.
81: Канале. Там очень много эмодзи, которые тоже могут мешать давать те самые шумы и мешать бедину. 2 путь, который тоже подойдёт. Это очищение текста с помощью ллм модели. Ну вот например рассмотрим
82: Prompt ты эксперт по подготовке текстов, данных для создания векторных представлений, то есть мы ему задаём роль, далее удаляем все лишние элементы html, теги, специальные символы и так далее приведи сокращение.
83: Полной форме тоже важно. У нас не должно быть никих сокращений. Удали стоп слова, конечно же, если у нас идёт запрос от пользователя, а запрос, может быть добрый день. А подскажите, пожалуйста, как работает ваш
84: Магазин. Понятное дело, что вот фразы добрый день, там, подскажите, пожалуйста, это все лишние слова, лишние фразы, и это эмбедить не нужно. Это для эмбеддинга является мусорными словами, и от них нужно избавляться. Также нужно указать явные связи и
85: Конечно же, в тексте не должно быть указаний в никуда, да, то есть мы не можем говорить, что у нас все работает быстро, да, мы должны указать, где, что и как конкретно, иначе семантика будет опознана неверно в целом, да.
86: Prompt может являться не только инструкцией для ллм модели, а в том числе и для вас. На мой взгляд, он отработал средненько, я смотрел и сравнивал, что текст до очистки с ллм моделью и после ну где?
87: В 20 процентах он, конечно, генерировал чушь и сам генерировал этот самый мусор, и поэтому в идеале, конечно же, лучше подготавливать тексты руками, очищать, приводить к нормальной форме, удалять лиш.
88: И так далее. Но если текста много, либо он не особо важен, то можно и воспользоваться данным промтом. Ну, здесь все просто мы задаём ему прон, задаём ему текст и, result, этот записываем это вот 2 путь после этого.
89: Результаты будут сильно лучше, но в этом примере были telegram посты, и они, конечно, не особо большие, там, в принципе максимум 1500 символов, хотя это тоже много, и лучше бы их тоже разбивать. Проблема эмбеддинга в то,
90: Что у нас текст, который мы передаём на эмбеддинг, он может быть большой, ну, допустим, там 1500 символов, а запрос от пользователя всего лишь там 3, 4 слова и, естественно, вектор 3, 4 слов и вектор 1500 Сим.
91: По размерности он будет одинаковый и, конечно же, в таком случае будет сложно найти нужную нам информацию, поэтому существует наиболее лучший и Удачный подход. Это разбиение текстов на чанки, да, мы применяем
92: Все тоже самое. Также очищаем текст, приводим его к нижнему регистру, очищаем его с помощью ллм модели, а лучше руками. Если у вас небольшое количество текста, поработайте с ним руками. Не надо полагаться на
93: Моделях в этом случае, а дальше разбиваем текст на чанки. Что такое чанки? Так как работа с эмбеддингов она не нова. Все уже придумано до нас. В библиотеке ланчен есть такой инструмент, как текст.
94: Который разбивает наш большой текст на различные кусочки, он принимает в себя текст. Далее мы указываем размер этого кусочка и каково должно быть перекрытие и указываем сепараторы. Ну то есть
95: Разделители, где мы должны делить этот самый текст. В ответ он возвращает список с текстом, но опять-таки он делит его не просто по 300 символов, а он возьмёт, конечно, где-то больше, где-то меньше, плюс добавит ещё по 50.
96: Символов перекрытия таким образом, чтобы не терялся контекст. И уже вот эти маленькие кусочки в 300 символов, они, конечно же, сильно ближе по размеру к задаваемому вопросу от пользователя. Ну навряд ли пользователь распишет
97: Вам вопрос на 1500 символов, скорее всего, там будет, ну максимум 1 или 2 предложения, из которого половина ещё и будет мусор. Поэтому подход с Чинкова ием текста выдаёт прям очень хороший результат. После этого мы
98: Проходимся по всем чанкам и загружаем каждый чанк на эмбеддинг, но при этом в контекст мы помещаем весь наш текст целиком, то есть, допустим, из 1500.
99: Символов у нас получилось. Ну, пускай будет 5 Чанков. Мы эти 5 Чанков отдельным образом передаём в эмбеддинг, а в пайлоте в контексте мы храним полную нашу информацию, полный текст и в таком слу.
100: Как бы будет происходить поиск, ну, чуть ли не по предложениям, ну, по предложениям делить тоже плохо. Все-таки они должны быть именно что чанками, да, вот этими кусками по предложениям делить тоже плохо, но тем самым мы вытащив, ну,
101: Нужную информацию, найдя нужную информацию в базе, мы её вытаскиваем, а в лм моделям передаём уже полностью текст без потери контекста и, ну, основной мысли, да, поэтому чанки нужно использовать. Ну, естественно, если вы переводите
102: В векторное представление, там целую книгу, то целую книгу, конечно же, в контекст передавать не нужно. Здесь нужно нечто другое. Может быть как-то абзац передавать, либо главу, если глава небольшая, но, конечно, не целую книгу в контент нужно передавать.
103: Ну, на примере с telegram каналом, я думаю, вы поняли часть предложений мы передаём в эмбеддинг, но в контексте храним полную информацию. Ну и давайте посмотрим на на результаты самой хорошей модели, которая и очищена.
104: Из чанками запустим и вы сами сможете оценить вопрос маркетинговой стратегии магазина. Максимум результат быстро. Ну это именно вот так как бы будет выглядеть. И здесь видим, да, быстрый рост новых продаж, 1 прорыв в продажах. Вот какие-то квы пошли, то есть уже
105: Что-то более менее вменяемое, да, то есть какая-то даже стратегия тут вырисовывается. Я правда не знаю, что это такое. Ни кэв не лука лайк, я не маркетолог. Ну видимо что-то полезное. Результаты, результаты продавцов, ну что-то даже более менее.
106: Опять-таки, оцените сами, но мне результат нравится сильно больше. Тут вроде как даже что-то интересное. И, наверное, лл. Модель, куда мы это будем передавать? Наверное, поймёт. Давайте зададим 2 вопрос. Точки роста бизнеса. Рост бизнеса это тесты у каждого бизнеса ест.
107: Ключевые педали для роста и прибыли, в принципе, да, в принципе, да, из этого, наверное, поста можно сделать какой-то ответ. Разобрался в вопросе зарплат. Здесь что-то про зарплаты, ну, наверное, тоже про рост компания не может расти быстро. У владельца нет видения своей жизни. Ну, в целом, да.
108: Понятное дело, что контент я подобрал вот максимально такой, поэтому мы и получаем такие ответы. Ну давайте спросим, как заработать 1000000. Все-таки получится ли у меня с помощью эмбеддинга понять, могу ли я заработать 1000000 или нет. Надо было добавить, заработать 1000000 быстро. Так, ну здесь он 1.
109: 1 000 000 ₽ чистой прибыли это какой-то продукт с какой-то маржинальностью надо сделать продажи. Ну понятное дело, чтобы заработать 1000000, надо сделать продажи, но в целом, да, в целом неплохо. В целом неплохо. Даже на основании этого можно передать. То есть, если мы, например, делаем какой-то генера,
110: Контента, да, на основании чужого контента мы сделали эмбеддинг чужого telegram канала и просто в чат бот. Не знаю, присылаем да, сделай пост о том, как заработать 1000000 и он нам на основании вот
111: Умных мыслей. Ну, не знаю, насколько они умные, но на основании вот этих вот умных мыслей мы можем получить некую информацию, даже ещё и стилистику, может быть, даже можем как-то скопировать. То есть, в принципе, это работает. И результатом в целом я доволен. Понятное дело, что у меня был такой шуточный
112: Пример относительно, но если вы хотите передать в лм модель именно свои данные, то, конечно же, с ними нужно работать, их нужно очищать. Вот, кстати, здесь проникли эмодзи в том числе, да, здесь даже вот эмодзи не отображается.
113: И, естественно, это влияет на работу эмбеддинга, и это является мусором. Но в целом вы можете это использовать, и это отлично работает, но вы могли заметить, что у меня помимо здесь то, что это
114: Чищенный с чанками, есть ещё и prefix что такое prefix префикс есть не во всех эмбеддинг моделях, та же самая модель от openai, она не использует никакие префиксы, это некие инструкции и модель от Сбер.
115: Она использует эти префиксы и у нас, и при добавлении документа в эмбеддинг. Когда мы загружаем, мы указываем префикс, серч документ, а на вычитку, когда мы его вычитываем и пытаемся найти, мы указываем серч.
116: Квери. И это, на мой взгляд, действительно повышает качество этого самого эмбеддинга. Вообще это не обязательно. Это просто совет, да, как использовать в целом. Если это не использовать, оно тоже будет работать. Но я протестировал различ.
117: Варианты вы видите да, у меня есть no префикс клир, но префикс ноу клир, то есть у меня неочищенные, неочищенные и с префиксом чистые, потом с чанками и с префиксом, но неочищенные да, я тестировал.
118: Абсолютно по разному. Все эти тесты показывать не особо хочу просто, чтобы, ну и так видео уже получается долгим. Но я думаю, что вы и так могли убедиться, что в целом это работает и работает довольно-таки хорошо. Ну, ещё
119: Важный момент, если мы в обычном нашем режиме, у нас получалось 1357 точек, то вот с разделением на чанки, а количество информации оставалось все тем же самым, то точек уже получилось 5493. То есть
120: У нас модель отмеила весь наш текст, весь наш объём информации, объём информации не менялся, и при этом поинтов сильно больше, и поиск по этим поинтам становится сильно точнее в целом по работе с
121: Моделями у меня все, надеюсь вам стало более менее понятно. Если непонятно, то пишите и задавайте свои вопросы, можете здесь в комментариях, можете писать мне в группу в telegram, у нас там есть чат и можете задавать
122: Свои вопросы по настройке этой системы, по работе с эмбеддинг моделями. Ну а в следующих видео мы, конечно же, настроим всю эту систему, но уже в