стуб ЛламаИндек: Лако проширите своје ЛЛМ апликације прилагођеним подацима - Уните.АИ
Повежите се са нама

Вештачка интелигенција

ЛламаИндек: Лако проширите своје ЛЛМ апликације прилагођеним подацима

mm
Ажурирано on
ЛламаИндек

Модели великих језика (ЛЛМ) као што је ОпенАИ ГПТ серија су обучени на различитим јавно доступним подацима, демонстрирајући изванредне могућности у генерисању текста, резимирању, одговарању на питања и планирању. Упркос њиховој свестраности, често постављано питање се врти око беспрекорне интеграције ових модела са прилагођеним, приватним или власничким подацима.

Предузећа и појединци су преплављени јединственим и прилагођеним подацима, често смештеним у различитим апликацијама као што су Нотион, Слацк и Салесфорце, или ускладиштени у личним датотекама. Да би се ЛЛМ искористили за ове специфичне податке, предложено је неколико методологија и експериментисано са њима.

Фино подешавање представља један такав приступ, састоји се од прилагођавања тежина модела да би се укључило знање из одређених скупова података. Међутим, овај процес није без изазова. Захтева значајан напор у припреми података, заједно са тешком процедуром оптимизације, која захтева одређени ниво стручности у машинском учењу. Штавише, финансијске импликације могу бити значајне, посебно када се ради о великим скуповима података.

Учење у контексту појавило се као алтернатива, дајући приоритет креирању улазних података и упутстава да се ЛЛМ-у обезбеди неопходан контекст за генерисање тачних излазних резултата. Овај приступ ублажава потребу за опсежном преквалификацијом модела, нудећи ефикаснија и приступачнија средства за интеграцију приватних података.

Али недостатак овога је његово ослањање на вештину и стручност корисника промпт инжењеринг. Поред тога, учење у контексту можда није увек тако прецизно или поуздано као фино подешавање, посебно када се ради са високо специјализованим или техничким подацима. Претходна обука модела за широк спектар интернет текста не гарантује разумевање специфичног жаргона или контекста, што може довести до нетачних или ирелевантних резултата. Ово је посебно проблематично када су приватни подаци из нишног домена или индустрије.

Штавише, количина контекста која се може обезбедити у једном промпту је ограничена, а перформансе ЛЛМ-а могу деградирати како се сложеност задатка повећава. Ту је и изазов приватности и безбедности података, јер информације наведене у упиту могу потенцијално бити осетљиве или поверљиве.

Док заједница истражује ове технике, алати попут ЛламаИндек сада привлаче пажњу.

Ллама Индек

Ллама Индек

Почело је од Јерри Лиу, бивши научник за истраживање Убера. Док је експериментисао са ГПТ-3 прошле јесени, Лиу је приметио ограничења модела у погледу руковања приватним подацима, као што су личне датотеке. Ово запажање довело је до покретања пројекта отвореног кода ЛламаИндек.

Иницијатива је привукла инвеститоре, обезбеђујући $ КСНУМКС милиона у недавној рунди финансирања.

ЛламаИндек олакшава проширење ЛЛМ-ова са прилагођеним подацима, премошћујући јаз између унапред обучених модела и прилагођених случајева коришћења података. Путем ЛламаИндек-а, корисници могу да искористе сопствене податке помоћу ЛЛМ-а, откључавајући генерисање знања и размишљање са персонализованим увидима.

Корисници могу неприметно да обезбеде ЛЛМ сопствене податке, подстичући окружење у коме су генерисање знања и расуђивање дубоко персонализовани и проницљиви. ЛламаИндек се бави ограничењима учења у контексту обезбеђујући једноставнију и безбеднију платформу за интеракцију података, обезбеђујући да чак и они са ограниченом стручношћу у машинском учењу могу да искористе пуни потенцијал ЛЛМ-а са својим приватним подацима.

Концепти високог нивоа и неки увиди

1. Проширена генерација преузимања (РАГ):

ЛламаИндек РАГ

ЛламаИндек РАГ

РАГ је двоструки процес дизајниран да повеже ЛЛМ са прилагођеним подацима, чиме се повећава капацитет модела да пружи прецизније и информисаније одговоре. Процес се састоји од:

  • Фаза индексирања: Ово је припремна фаза у којој се постављају основе за стварање базе знања.
ЛламаИндек ИНДЕКСЕС

ЛламаИндек Индекинг

  • Фаза упита: Овде се база знања претражује у потрази за релевантним контекстом како би се помогло ЛЛМ-има да одговоре на упите.
ЛламаИндек КУЕРИ СТАГЕ

ЛламаИндек Куери Стаге

Индексирање путовања са ЛламаИндек-ом:

  • Дата Цоннецторс: Размишљајте о конекторима података као о пасошу ваших података за ЛламаИндек. Они помажу у увозу података из различитих извора и формата, инкапсулирајући их у поједностављену репрезентацију „Документа“. Конектори података се могу наћи у ЛламаХуб-у, спремишту отвореног кода испуњеном учитавачима података. Ови утоваривачи су направљени за лаку интеграцију, омогућавајући плуг-анд-плаи искуство са било којом ЛламаИндек апликацијом.
Ллама хуб

ЛламаИндек чвориште (хттпс://лламахуб.аи/)

  • Документи / Чворови: Документ је попут генеричког кофера који може да садржи различите типове података — било да је то ПДФ, АПИ излаз или уноси у базу података. Са друге стране, чвор је исечак или „комад“ из документа, обогаћен метаподацима и односима са другим чворовима, обезбеђујући чврсту основу за касније проналажење прецизних података.
  • Индекси података: Објављивање уноса података, ЛламаИндек помаже у индексирању ових података у формат који се може преузети. Иза кулиса, сецира необрађене документе у посредне репрезентације, израчунава уграђивање вектора и изводи метаподатке. Међу индексима, 'ВецторСтореИндек' је често најбољи избор.

Типови индекса у ЛламаИндек-у: кључ за организоване податке

ЛламаИндек нуди различите типове индекса, сваки за различите потребе и случајеве употребе. У основи ових индекса леже „чворови“ као што је горе наведено. Хајде да покушамо да разумемо ЛламаИндек индексе са њиховом механиком и применом.

1. Листа индекса:

  • Механизам: Индекс листе поравнава чворове секвенцијално као листа. Након раздвајања улазних података у чворове, они су распоређени на линеарни начин, спремни да буду упитани било узастопно или путем кључних речи или уграђивања.
  • Предност: Овај тип индекса сија када је потребно узастопно испитивање. ЛламаИндек обезбеђује коришћење свих ваших улазних података, чак и ако превазилазе ограничење токена ЛЛМ-а, паметним упитом за текст из сваког чвора и пречишћавањем одговора док се креће низ листу.

2. Вецтор Сторе Индек:

  • Механизам: Овде се чворови трансформишу у векторске уградње, ускладиштене или локално или у специјализованој векторској бази података као што је Милвус. Када се постави упит, дохваћа топ_к најсличнијих чворова, каналишући их у синтисајзер одговора.
  • Предност: Ако ваш ток посла зависи од поређења текста ради семантичке сличности путем векторске претраге, овај индекс се може користити.

3. Трее Индек:

  • Механизам: У индексу стабла, улазни подаци еволуирају у структуру стабла, изграђену одоздо према горе од чворова листа (оригинални делови података). Родитељски чворови се појављују као резимеи лисних чворова, направљених помоћу ГПТ-а. Током упита, индекс стабла може да прелази од коренског чвора до лисних чворова или да конструише одговоре директно од изабраних лисних чворова.
  • Предност: Са индексом стабла, испитивање дугих делова текста постаје ефикасније, а издвајање информација из различитих сегмената текста је поједностављено.

4. Индекс кључних речи:

  • Механизам: Мапа кључних речи до чворова чини језгро Индекса кључних речи. Када се постави упит, кључне речи се извлаче из упита, а само мапирани чворови се стављају у центар пажње.
  • Предност: Када имате јасне корисничке упите, може се користити Индекс кључних речи. На пример, прегледавање здравствених докумената постаје ефикасније када се прецизирају само документи који се односе на ЦОВИД-19.

Инсталирање ЛламаИндек-а

Инсталирање ЛламаИндек-а је једноставан процес. Можете одабрати да га инсталирате директно из Пип-а или из извора. (Уверите се да имате Питхон инсталиран у вашем систему или можете да користите Гоогле Цолаб)

1. Инсталација са Пипа:

  • Извршите следећу команду:
    pip install llama-index
  • белешке: Током инсталације, ЛламаИндек може да преузима и складишти локалне датотеке за одређене пакете као што су НЛТК и ХуггингФаце. Да бисте одредили директоријум за ове датотеке, користите променљиву окружења „ЛЛАМА_ИНДЕКС_ЦАЦХЕ_ДИР“.

2. Инсталација из извора:

  • Прво, клонирајте ЛламаИндек спремиште са ГитХуб-а:
    git clone https://github.com/jerryjliu/llama_index.git
  • Након клонирања, идите до директоријума пројекта.
  • Поезија ће вам требати за управљање зависностима пакета.
  • Сада креирајте виртуелно окружење користећи Поетри:
    poetry shell
  • На крају, инсталирајте основне захтеве пакета са:
    poetry install

Подешавање окружења за ЛламаИндек

1. ОпенАИ Сетуп:

  • ЛламаИндек подразумевано користи ОпенАИ gpt-3.5-turbo за генерисање текста и text-embedding-ada-002 за проналажење и уграђивање.
  • Да бисте користили ово подешавање, мораћете да имате OPENAI_API_KEY. Набавите га тако што ћете се регистровати на веб локацији ОпенАИ и креирати нови АПИ токен.
  • Имате флексибилност да прилагодите основни модел великог језика (ЛЛМ) према потребама вашег пројекта. У зависности од вашег ЛЛМ провајдера, можда ће вам требати додатни кључеви окружења и токени.

2. Подешавање локалног окружења:

  • Ако не желите да користите ОпенАИ, ЛламаИндек се аутоматски пребацује на локалне моделе – LlamaCPP llama2-chat-13B за генерисање текста, и BAAI/bge-small-en за проналажење и уграђивање.
  • Користити LlamaCPP, пратите приложени водич за инсталацију. Обавезно инсталирајте llama-cpp-python пакет, идеално састављен да подржи ваш ГПУ. Ово подешавање ће користити око 11.5 ГБ меморије преко ЦПУ-а и ГПУ-а.
  • За локалне уградње, извршите pip install sentence-transformers. Ово локално подешавање ће користити око 500 МБ меморије.

Са овим подешавањима, можете да прилагодите своје окружење или да искористите снагу ОпенАИ-а или да покренете моделе локално, у складу са захтевима и ресурсима вашег пројекта.

Једноставан случај употребе: испитивање веб страница помоћу ЛламаИндек-а и ОпенАИ-а

Ево једноставне Питхон скрипте која показује како можете да питате веб страницу за одређене увиде:

!pip install llama-index html2text
import os
from llama_index import VectorStoreIndex, SimpleWebPageReader
# Enter your OpenAI key below:
os.environ["OPENAI_API_KEY"] = ""
# URL you want to load into your vector store here:
url = "http://www.paulgraham.com/fr.html"
# Load the URL into documents (multiple documents possible)
documents = SimpleWebPageReader(html_to_text=True).load_data([url])
# Create vector store from documents
index = VectorStoreIndex.from_documents(documents)
# Create query engine so we can ask it questions:
query_engine = index.as_query_engine()
# Ask as many questions as you want against the loaded data:
response = query_engine.query("What are the 3 best advise by Paul to raise money?")
print(response)
The three best pieces of advice by Paul to raise money are:
1. Start with a low number when initially raising money. This allows for flexibility and increases the chances of raising more funds in the long run.
2. Aim to be profitable if possible. Having a plan to reach profitability without relying on additional funding makes the startup more attractive to investors.
3. Don't optimize for valuation. While valuation is important, it is not the most crucial factor in fundraising. Focus on getting the necessary funds and finding good investors instead.
Бележница са индексом Гоогле Цолаб Ллама

Бележница са индексом Гоогле Цолаб Ллама

Са овом скриптом, направили сте моћну алатку за издвајање одређених информација са веб странице једноставним постављањем питања. Ово је само увид у оно што се може постићи помоћу ЛламаИндек-а и ОпенАИ-а када се испитују веб подаци.

ЛламаИндек вс Лангцхаин: Бирање на основу вашег циља

Ваш избор између ЛламаИндек и Лангцһаин зависиће од циља вашег пројекта. Ако желите да развијете интелигентни алат за претрагу, ЛламаИндек је солидан избор, који се истиче као паметни механизам за складиштење података за проналажење података. Са друге стране, ако желите да креирате систем као што је ЦхатГПТ са могућностима додатака, Лангцхаин је ваш избор. Не само да олакшава вишеструке инстанце ЦхатГПТ-а и ЛламаИндек-а, већ и проширује функционалност дозвољавајући изградњу агената за више задатака. На пример, са Лангцхаин-ом можете креирати агенте који могу да извршавају Питхон код док истовремено обављају Гоогле претрагу. Укратко, док се ЛламаИндек истиче у руковању подацима, Лангцхаин оркестрира више алата за испоруку холистичког решења.

ЛламаИндек Лого Артворк креиран помоћу Мидјоурнеи

ЛламаИндек Лого Артворк креиран помоћу Мидјоурнеи

Провео сам последњих пет година урањајући се у фасцинантан свет машинског учења и дубоког учења. Моја страст и стручност довели су ме до тога да допринесем преко 50 различитих пројеката софтверског инжењеринга, са посебним фокусом на АИ/МЛ. Моја стална радозналост ме је такође привукла ка обради природног језика, пољу које желим даље да истражујем.