You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 91 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191
  1. <!doctype html>
  2. <html lang="en" class="no-js">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="viewport" content="width=device-width,initial-scale=1">
  6. <link rel="prev" href="..">
  7. <link rel="next" href="../Architecture/">
  8. <link rel="icon" href="../media/icon128.png">
  9. <meta name="generator" content="mkdocs-1.4.3, mkdocs-material-9.1.20">
  10. <title>Quick Start - LLamaSharp Documentation</title>
  11. <link rel="stylesheet" href="../assets/stylesheets/main.eebd395e.min.css">
  12. <link rel="stylesheet" href="../assets/stylesheets/palette.ecc896b0.min.css">
  13. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  14. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Fira+Sans:300,300i,400,400i,700,700i%7CFira+Mono:400,400i,700,700i&display=fallback">
  15. <style>:root{--md-text-font:"Fira Sans";--md-code-font:"Fira Mono"}</style>
  16. <link rel="stylesheet" href="../css/extra.css?v=14">
  17. <script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
  18. </head>
  19. <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="red">
  20. <script>var palette=__md_get("__palette");if(palette&&"object"==typeof palette.color)for(var key of Object.keys(palette.color))document.body.setAttribute("data-md-color-"+key,palette.color[key])</script>
  21. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  22. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  23. <label class="md-overlay" for="__drawer"></label>
  24. <div data-md-component="skip">
  25. <a href="#quick-start" class="md-skip">
  26. Skip to content
  27. </a>
  28. </div>
  29. <div data-md-component="announce">
  30. </div>
  31. <div data-md-color-scheme="default" data-md-component="outdated" hidden>
  32. </div>
  33. <header class="md-header md-header--shadow" data-md-component="header">
  34. <nav class="md-header__inner md-grid" aria-label="Header">
  35. <a href=".." title="LLamaSharp Documentation" class="md-header__button md-logo" aria-label="LLamaSharp Documentation" data-md-component="logo">
  36. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h5.5L13 3.5V9M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m9 16v-2H6v2h9m3-4v-2H6v2h12Z"/></svg>
  37. </a>
  38. <label class="md-header__button md-icon" for="__drawer">
  39. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
  40. </label>
  41. <div class="md-header__title" data-md-component="header-title">
  42. <div class="md-header__ellipsis">
  43. <div class="md-header__topic">
  44. <span class="md-ellipsis">
  45. LLamaSharp Documentation
  46. </span>
  47. </div>
  48. <div class="md-header__topic" data-md-component="header-topic">
  49. <span class="md-ellipsis">
  50. Quick Start
  51. </span>
  52. </div>
  53. </div>
  54. </div>
  55. <form class="md-header__option" data-md-component="palette">
  56. <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="white" data-md-color-accent="red" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_1">
  57. <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_2" hidden>
  58. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg>
  59. </label>
  60. <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="blue" data-md-color-accent="blue" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_2">
  61. <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
  62. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg>
  63. </label>
  64. </form>
  65. <label class="md-header__button md-icon" for="__search">
  66. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
  67. </label>
  68. <div class="md-search" data-md-component="search" role="dialog">
  69. <label class="md-search__overlay" for="__search"></label>
  70. <div class="md-search__inner" role="search">
  71. <form class="md-search__form" name="search">
  72. <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
  73. <label class="md-search__icon md-icon" for="__search">
  74. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
  75. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
  76. </label>
  77. <nav class="md-search__options" aria-label="Search">
  78. <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
  79. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
  80. </button>
  81. </nav>
  82. </form>
  83. <div class="md-search__output">
  84. <div class="md-search__scrollwrap" data-md-scrollfix>
  85. <div class="md-search-result" data-md-component="search-result">
  86. <div class="md-search-result__meta">
  87. Initializing search
  88. </div>
  89. <ol class="md-search-result__list" role="presentation"></ol>
  90. </div>
  91. </div>
  92. </div>
  93. </div>
  94. </div>
  95. </nav>
  96. </header>
  97. <div class="md-container" data-md-component="container">
  98. <main class="md-main" data-md-component="main">
  99. <div class="md-main__inner md-grid">
  100. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  101. <div class="md-sidebar__scrollwrap">
  102. <div class="md-sidebar__inner">
  103. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  104. <label class="md-nav__title" for="__drawer">
  105. <a href=".." title="LLamaSharp Documentation" class="md-nav__button md-logo" aria-label="LLamaSharp Documentation" data-md-component="logo">
  106. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h5.5L13 3.5V9M6 2h8l6 6v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4c0-1.11.89-2 2-2m9 16v-2H6v2h9m3-4v-2H6v2h12Z"/></svg>
  107. </a>
  108. LLamaSharp Documentation
  109. </label>
  110. <ul class="md-nav__list" data-md-scrollfix>
  111. <li class="md-nav__item">
  112. <a href=".." class="md-nav__link">
  113. Overview
  114. </a>
  115. </li>
  116. <li class="md-nav__item md-nav__item--active">
  117. <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
  118. <label class="md-nav__link md-nav__link--active" for="__toc">
  119. Quick Start
  120. <span class="md-nav__icon md-icon"></span>
  121. </label>
  122. <a href="./" class="md-nav__link md-nav__link--active">
  123. Quick Start
  124. </a>
  125. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  126. <label class="md-nav__title" for="__toc">
  127. <span class="md-nav__icon md-icon"></span>
  128. Table of contents
  129. </label>
  130. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  131. <li class="md-nav__item">
  132. <a href="#installation" class="md-nav__link">
  133. Installation
  134. </a>
  135. </li>
  136. <li class="md-nav__item">
  137. <a href="#model-preparation" class="md-nav__link">
  138. Model preparation
  139. </a>
  140. </li>
  141. <li class="md-nav__item">
  142. <a href="#example-of-llama-chat-session" class="md-nav__link">
  143. Example of LLaMA chat session
  144. </a>
  145. </li>
  146. <li class="md-nav__item">
  147. <a href="#examples-of-chatting-with-llava" class="md-nav__link">
  148. Examples of chatting with LLaVA
  149. </a>
  150. </li>
  151. </ul>
  152. </nav>
  153. </li>
  154. <li class="md-nav__item">
  155. <a href="../Architecture/" class="md-nav__link">
  156. Architecture
  157. </a>
  158. </li>
  159. <li class="md-nav__item">
  160. <a href="../FAQ/" class="md-nav__link">
  161. FAQ
  162. </a>
  163. </li>
  164. <li class="md-nav__item">
  165. <a href="../ContributingGuide/" class="md-nav__link">
  166. Contributing Guide
  167. </a>
  168. </li>
  169. <li class="md-nav__item md-nav__item--nested">
  170. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
  171. <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
  172. Tutorials
  173. <span class="md-nav__icon md-icon"></span>
  174. </label>
  175. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
  176. <label class="md-nav__title" for="__nav_6">
  177. <span class="md-nav__icon md-icon"></span>
  178. Tutorials
  179. </label>
  180. <ul class="md-nav__list" data-md-scrollfix>
  181. <li class="md-nav__item">
  182. <a href="../Tutorials/NativeLibraryConfig/" class="md-nav__link">
  183. Customize the native library loading
  184. </a>
  185. </li>
  186. <li class="md-nav__item">
  187. <a href="../Tutorials/Executors/" class="md-nav__link">
  188. Use executors
  189. </a>
  190. </li>
  191. <li class="md-nav__item">
  192. <a href="../Tutorials/ChatSession/" class="md-nav__link">
  193. Use ChatSession
  194. </a>
  195. </li>
  196. <li class="md-nav__item">
  197. <a href="../Tutorials/UnderstandLLamaContext/" class="md-nav__link">
  198. Understand LLamaContext
  199. </a>
  200. </li>
  201. <li class="md-nav__item">
  202. <a href="../Tutorials/GetEmbeddings/" class="md-nav__link">
  203. Get embeddings
  204. </a>
  205. </li>
  206. <li class="md-nav__item">
  207. <a href="../Tutorials/Quantization/" class="md-nav__link">
  208. Quantize the model
  209. </a>
  210. </li>
  211. </ul>
  212. </nav>
  213. </li>
  214. <li class="md-nav__item md-nav__item--nested">
  215. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
  216. <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
  217. Integrations
  218. <span class="md-nav__icon md-icon"></span>
  219. </label>
  220. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
  221. <label class="md-nav__title" for="__nav_7">
  222. <span class="md-nav__icon md-icon"></span>
  223. Integrations
  224. </label>
  225. <ul class="md-nav__list" data-md-scrollfix>
  226. <li class="md-nav__item">
  227. <a href="../Integrations/semantic-kernel/" class="md-nav__link">
  228. semantic-kernel integration
  229. </a>
  230. </li>
  231. <li class="md-nav__item">
  232. <a href="../Integrations/kernel-memory/" class="md-nav__link">
  233. kernel-memory integration
  234. </a>
  235. </li>
  236. <li class="md-nav__item">
  237. <a href="../Integrations/BotSharp.md" class="md-nav__link">
  238. BotSharp integration
  239. </a>
  240. </li>
  241. <li class="md-nav__item">
  242. <a href="../Integrations/Langchain.md" class="md-nav__link">
  243. Langchain integration
  244. </a>
  245. </li>
  246. </ul>
  247. </nav>
  248. </li>
  249. <li class="md-nav__item md-nav__item--nested">
  250. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
  251. <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
  252. Examples
  253. <span class="md-nav__icon md-icon"></span>
  254. </label>
  255. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
  256. <label class="md-nav__title" for="__nav_8">
  257. <span class="md-nav__icon md-icon"></span>
  258. Examples
  259. </label>
  260. <ul class="md-nav__list" data-md-scrollfix>
  261. <li class="md-nav__item">
  262. <a href="../Examples/BatchedExecutorFork/" class="md-nav__link">
  263. Bacthed executor - multi-output to one input
  264. </a>
  265. </li>
  266. <li class="md-nav__item">
  267. <a href="../Examples/BatchedExecutorGuidance/" class="md-nav__link">
  268. Batched executor - basic guidance
  269. </a>
  270. </li>
  271. <li class="md-nav__item">
  272. <a href="../Examples/BatchedExecutorRewind/" class="md-nav__link">
  273. Batched executor - rewinding to an earlier state
  274. </a>
  275. </li>
  276. <li class="md-nav__item">
  277. <a href="../Examples/ChatChineseGB2312/" class="md-nav__link">
  278. Chinese LLM - with GB2312 encoding
  279. </a>
  280. </li>
  281. <li class="md-nav__item">
  282. <a href="../Examples/ChatSessionStripRoleName/" class="md-nav__link">
  283. ChatSession - stripping role names
  284. </a>
  285. </li>
  286. <li class="md-nav__item">
  287. <a href="../Examples/ChatSessionWithHistory/" class="md-nav__link">
  288. ChatSession - with history
  289. </a>
  290. </li>
  291. <li class="md-nav__item">
  292. <a href="../Examples/ChatSessionWithRestart/" class="md-nav__link">
  293. ChatSession - restarting
  294. </a>
  295. </li>
  296. <li class="md-nav__item">
  297. <a href="../Examples/ChatSessionWithRoleName/" class="md-nav__link">
  298. ChatSession - Basic
  299. </a>
  300. </li>
  301. <li class="md-nav__item">
  302. <a href="../Examples/CodingAssistant/" class="md-nav__link">
  303. Coding assistant
  304. </a>
  305. </li>
  306. <li class="md-nav__item">
  307. <a href="../Examples/GetEmbeddings/" class="md-nav__link">
  308. Get embeddings
  309. </a>
  310. </li>
  311. <li class="md-nav__item">
  312. <a href="../Examples/GrammarJsonResponse/" class="md-nav__link">
  313. Grammar - json response
  314. </a>
  315. </li>
  316. <li class="md-nav__item">
  317. <a href="../Examples/InstructModeExecute/" class="md-nav__link">
  318. Instruct executor - basic
  319. </a>
  320. </li>
  321. <li class="md-nav__item">
  322. <a href="../Examples/InteractiveModeExecute/" class="md-nav__link">
  323. Interactive executor - basic
  324. </a>
  325. </li>
  326. <li class="md-nav__item">
  327. <a href="../Examples/KernelMemory/" class="md-nav__link">
  328. Kernel memory integration - basic
  329. </a>
  330. </li>
  331. <li class="md-nav__item">
  332. <a href="../Examples/KernelMemorySaveAndLoad/" class="md-nav__link">
  333. Kernel-memory - save & load
  334. </a>
  335. </li>
  336. <li class="md-nav__item">
  337. <a href="../Examples/LLavaInteractiveModeExecute/" class="md-nav__link">
  338. LLaVA - basic
  339. </a>
  340. </li>
  341. <li class="md-nav__item">
  342. <a href="../Examples/LoadAndSaveSession/" class="md-nav__link">
  343. ChatSession - load & save
  344. </a>
  345. </li>
  346. <li class="md-nav__item">
  347. <a href="../Examples/LoadAndSaveState/" class="md-nav__link">
  348. Executor - save/load state
  349. </a>
  350. </li>
  351. <li class="md-nav__item">
  352. <a href="../Examples/QuantizeModel/" class="md-nav__link">
  353. Quantization
  354. </a>
  355. </li>
  356. <li class="md-nav__item">
  357. <a href="../Examples/SemanticKernelChat/" class="md-nav__link">
  358. Semantic-kernel - chat
  359. </a>
  360. </li>
  361. <li class="md-nav__item">
  362. <a href="../Examples/SemanticKernelMemory/" class="md-nav__link">
  363. Semantic-kernel - with kernel-memory
  364. </a>
  365. </li>
  366. <li class="md-nav__item">
  367. <a href="../Examples/SemanticKernelPrompt/" class="md-nav__link">
  368. Semantic-kernel - basic
  369. </a>
  370. </li>
  371. <li class="md-nav__item">
  372. <a href="../Examples/StatelessModeExecute/" class="md-nav__link">
  373. Stateless executor
  374. </a>
  375. </li>
  376. <li class="md-nav__item">
  377. <a href="../Examples/TalkToYourself/" class="md-nav__link">
  378. Talk to yourself
  379. </a>
  380. </li>
  381. </ul>
  382. </nav>
  383. </li>
  384. <li class="md-nav__item md-nav__item--nested">
  385. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
  386. <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
  387. API Reference
  388. <span class="md-nav__icon md-icon"></span>
  389. </label>
  390. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
  391. <label class="md-nav__title" for="__nav_9">
  392. <span class="md-nav__icon md-icon"></span>
  393. API Reference
  394. </label>
  395. <ul class="md-nav__list" data-md-scrollfix>
  396. <li class="md-nav__item">
  397. <a href="../xmldocs/" class="md-nav__link">
  398. index
  399. </a>
  400. </li>
  401. <li class="md-nav__item">
  402. <a href="../xmldocs/llama.abstractions.adaptercollection/" class="md-nav__link">
  403. llama.abstractions.adaptercollection
  404. </a>
  405. </li>
  406. <li class="md-nav__item">
  407. <a href="../xmldocs/llama.abstractions.icontextparams/" class="md-nav__link">
  408. llama.abstractions.icontextparams
  409. </a>
  410. </li>
  411. <li class="md-nav__item">
  412. <a href="../xmldocs/llama.abstractions.ihistorytransform/" class="md-nav__link">
  413. llama.abstractions.ihistorytransform
  414. </a>
  415. </li>
  416. <li class="md-nav__item">
  417. <a href="../xmldocs/llama.abstractions.iinferenceparams/" class="md-nav__link">
  418. llama.abstractions.iinferenceparams
  419. </a>
  420. </li>
  421. <li class="md-nav__item">
  422. <a href="../xmldocs/llama.abstractions.illamaexecutor/" class="md-nav__link">
  423. llama.abstractions.illamaexecutor
  424. </a>
  425. </li>
  426. <li class="md-nav__item">
  427. <a href="../xmldocs/llama.abstractions.illamaparams/" class="md-nav__link">
  428. llama.abstractions.illamaparams
  429. </a>
  430. </li>
  431. <li class="md-nav__item">
  432. <a href="../xmldocs/llama.abstractions.imodelparams/" class="md-nav__link">
  433. llama.abstractions.imodelparams
  434. </a>
  435. </li>
  436. <li class="md-nav__item">
  437. <a href="../xmldocs/llama.abstractions.itextstreamtransform/" class="md-nav__link">
  438. llama.abstractions.itextstreamtransform
  439. </a>
  440. </li>
  441. <li class="md-nav__item">
  442. <a href="../xmldocs/llama.abstractions.itexttransform/" class="md-nav__link">
  443. llama.abstractions.itexttransform
  444. </a>
  445. </li>
  446. <li class="md-nav__item">
  447. <a href="../xmldocs/llama.abstractions.loraadapter/" class="md-nav__link">
  448. llama.abstractions.loraadapter
  449. </a>
  450. </li>
  451. <li class="md-nav__item">
  452. <a href="../xmldocs/llama.abstractions.metadataoverride/" class="md-nav__link">
  453. llama.abstractions.metadataoverride
  454. </a>
  455. </li>
  456. <li class="md-nav__item">
  457. <a href="../xmldocs/llama.abstractions.metadataoverrideconverter/" class="md-nav__link">
  458. llama.abstractions.metadataoverrideconverter
  459. </a>
  460. </li>
  461. <li class="md-nav__item">
  462. <a href="../xmldocs/llama.abstractions.tensorsplitscollection/" class="md-nav__link">
  463. llama.abstractions.tensorsplitscollection
  464. </a>
  465. </li>
  466. <li class="md-nav__item">
  467. <a href="../xmldocs/llama.abstractions.tensorsplitscollectionconverter/" class="md-nav__link">
  468. llama.abstractions.tensorsplitscollectionconverter
  469. </a>
  470. </li>
  471. <li class="md-nav__item">
  472. <a href="../xmldocs/llama.antipromptprocessor/" class="md-nav__link">
  473. llama.antipromptprocessor
  474. </a>
  475. </li>
  476. <li class="md-nav__item">
  477. <a href="../xmldocs/llama.batched.alreadypromptedconversationexception/" class="md-nav__link">
  478. llama.batched.alreadypromptedconversationexception
  479. </a>
  480. </li>
  481. <li class="md-nav__item">
  482. <a href="../xmldocs/llama.batched.batchedexecutor/" class="md-nav__link">
  483. llama.batched.batchedexecutor
  484. </a>
  485. </li>
  486. <li class="md-nav__item">
  487. <a href="../xmldocs/llama.batched.cannotforkwhilerequiresinferenceexception/" class="md-nav__link">
  488. llama.batched.cannotforkwhilerequiresinferenceexception
  489. </a>
  490. </li>
  491. <li class="md-nav__item">
  492. <a href="../xmldocs/llama.batched.cannotmodifywhilerequiresinferenceexception/" class="md-nav__link">
  493. llama.batched.cannotmodifywhilerequiresinferenceexception
  494. </a>
  495. </li>
  496. <li class="md-nav__item">
  497. <a href="../xmldocs/llama.batched.cannotsamplerequiresinferenceexception/" class="md-nav__link">
  498. llama.batched.cannotsamplerequiresinferenceexception
  499. </a>
  500. </li>
  501. <li class="md-nav__item">
  502. <a href="../xmldocs/llama.batched.cannotsamplerequirespromptexception/" class="md-nav__link">
  503. llama.batched.cannotsamplerequirespromptexception
  504. </a>
  505. </li>
  506. <li class="md-nav__item">
  507. <a href="../xmldocs/llama.batched.conversation/" class="md-nav__link">
  508. llama.batched.conversation
  509. </a>
  510. </li>
  511. <li class="md-nav__item">
  512. <a href="../xmldocs/llama.batched.conversationextensions/" class="md-nav__link">
  513. llama.batched.conversationextensions
  514. </a>
  515. </li>
  516. <li class="md-nav__item">
  517. <a href="../xmldocs/llama.batched.experimentalbatchedexecutorexception/" class="md-nav__link">
  518. llama.batched.experimentalbatchedexecutorexception
  519. </a>
  520. </li>
  521. <li class="md-nav__item">
  522. <a href="../xmldocs/llama.chatsession-1/" class="md-nav__link">
  523. llama.chatsession-1
  524. </a>
  525. </li>
  526. <li class="md-nav__item">
  527. <a href="../xmldocs/llama.chatsession/" class="md-nav__link">
  528. llama.chatsession
  529. </a>
  530. </li>
  531. <li class="md-nav__item">
  532. <a href="../xmldocs/llama.common.authorrole/" class="md-nav__link">
  533. llama.common.authorrole
  534. </a>
  535. </li>
  536. <li class="md-nav__item">
  537. <a href="../xmldocs/llama.common.chathistory/" class="md-nav__link">
  538. llama.common.chathistory
  539. </a>
  540. </li>
  541. <li class="md-nav__item">
  542. <a href="../xmldocs/llama.common.fixedsizequeue-1/" class="md-nav__link">
  543. llama.common.fixedsizequeue-1
  544. </a>
  545. </li>
  546. <li class="md-nav__item">
  547. <a href="../xmldocs/llama.common.inferenceparams/" class="md-nav__link">
  548. llama.common.inferenceparams
  549. </a>
  550. </li>
  551. <li class="md-nav__item">
  552. <a href="../xmldocs/llama.common.mirostattype/" class="md-nav__link">
  553. llama.common.mirostattype
  554. </a>
  555. </li>
  556. <li class="md-nav__item">
  557. <a href="../xmldocs/llama.common.modelparams/" class="md-nav__link">
  558. llama.common.modelparams
  559. </a>
  560. </li>
  561. <li class="md-nav__item">
  562. <a href="../xmldocs/llama.exceptions.grammarexpectedname/" class="md-nav__link">
  563. llama.exceptions.grammarexpectedname
  564. </a>
  565. </li>
  566. <li class="md-nav__item">
  567. <a href="../xmldocs/llama.exceptions.grammarexpectednext/" class="md-nav__link">
  568. llama.exceptions.grammarexpectednext
  569. </a>
  570. </li>
  571. <li class="md-nav__item">
  572. <a href="../xmldocs/llama.exceptions.grammarexpectedprevious/" class="md-nav__link">
  573. llama.exceptions.grammarexpectedprevious
  574. </a>
  575. </li>
  576. <li class="md-nav__item">
  577. <a href="../xmldocs/llama.exceptions.grammarformatexception/" class="md-nav__link">
  578. llama.exceptions.grammarformatexception
  579. </a>
  580. </li>
  581. <li class="md-nav__item">
  582. <a href="../xmldocs/llama.exceptions.grammarunexpectedcharaltelement/" class="md-nav__link">
  583. llama.exceptions.grammarunexpectedcharaltelement
  584. </a>
  585. </li>
  586. <li class="md-nav__item">
  587. <a href="../xmldocs/llama.exceptions.grammarunexpectedcharrngelement/" class="md-nav__link">
  588. llama.exceptions.grammarunexpectedcharrngelement
  589. </a>
  590. </li>
  591. <li class="md-nav__item">
  592. <a href="../xmldocs/llama.exceptions.grammarunexpectedendelement/" class="md-nav__link">
  593. llama.exceptions.grammarunexpectedendelement
  594. </a>
  595. </li>
  596. <li class="md-nav__item">
  597. <a href="../xmldocs/llama.exceptions.grammarunexpectedendofinput/" class="md-nav__link">
  598. llama.exceptions.grammarunexpectedendofinput
  599. </a>
  600. </li>
  601. <li class="md-nav__item">
  602. <a href="../xmldocs/llama.exceptions.grammarunexpectedhexcharscount/" class="md-nav__link">
  603. llama.exceptions.grammarunexpectedhexcharscount
  604. </a>
  605. </li>
  606. <li class="md-nav__item">
  607. <a href="../xmldocs/llama.exceptions.grammarunknownescapecharacter/" class="md-nav__link">
  608. llama.exceptions.grammarunknownescapecharacter
  609. </a>
  610. </li>
  611. <li class="md-nav__item">
  612. <a href="../xmldocs/llama.exceptions.llamadecodeerror/" class="md-nav__link">
  613. llama.exceptions.llamadecodeerror
  614. </a>
  615. </li>
  616. <li class="md-nav__item">
  617. <a href="../xmldocs/llama.exceptions.loadweightsfailedexception/" class="md-nav__link">
  618. llama.exceptions.loadweightsfailedexception
  619. </a>
  620. </li>
  621. <li class="md-nav__item">
  622. <a href="../xmldocs/llama.exceptions.runtimeerror/" class="md-nav__link">
  623. llama.exceptions.runtimeerror
  624. </a>
  625. </li>
  626. <li class="md-nav__item">
  627. <a href="../xmldocs/llama.extensions.icontextparamsextensions/" class="md-nav__link">
  628. llama.extensions.icontextparamsextensions
  629. </a>
  630. </li>
  631. <li class="md-nav__item">
  632. <a href="../xmldocs/llama.extensions.imodelparamsextensions/" class="md-nav__link">
  633. llama.extensions.imodelparamsextensions
  634. </a>
  635. </li>
  636. <li class="md-nav__item">
  637. <a href="../xmldocs/llama.grammars.grammar/" class="md-nav__link">
  638. llama.grammars.grammar
  639. </a>
  640. </li>
  641. <li class="md-nav__item">
  642. <a href="../xmldocs/llama.grammars.grammarrule/" class="md-nav__link">
  643. llama.grammars.grammarrule
  644. </a>
  645. </li>
  646. <li class="md-nav__item">
  647. <a href="../xmldocs/llama.ichatmodel/" class="md-nav__link">
  648. llama.ichatmodel
  649. </a>
  650. </li>
  651. <li class="md-nav__item">
  652. <a href="../xmldocs/llama.llamacache/" class="md-nav__link">
  653. llama.llamacache
  654. </a>
  655. </li>
  656. <li class="md-nav__item">
  657. <a href="../xmldocs/llama.llamaembedder/" class="md-nav__link">
  658. llama.llamaembedder
  659. </a>
  660. </li>
  661. <li class="md-nav__item">
  662. <a href="../xmldocs/llama.llamamodel/" class="md-nav__link">
  663. llama.llamamodel
  664. </a>
  665. </li>
  666. <li class="md-nav__item">
  667. <a href="../xmldocs/llama.llamamodelv1/" class="md-nav__link">
  668. llama.llamamodelv1
  669. </a>
  670. </li>
  671. <li class="md-nav__item">
  672. <a href="../xmldocs/llama.llamaparams/" class="md-nav__link">
  673. llama.llamaparams
  674. </a>
  675. </li>
  676. <li class="md-nav__item">
  677. <a href="../xmldocs/llama.llamaquantizer/" class="md-nav__link">
  678. llama.llamaquantizer
  679. </a>
  680. </li>
  681. <li class="md-nav__item">
  682. <a href="../xmldocs/llama.llamastate/" class="md-nav__link">
  683. llama.llamastate
  684. </a>
  685. </li>
  686. <li class="md-nav__item">
  687. <a href="../xmldocs/llama.llamatransforms/" class="md-nav__link">
  688. llama.llamatransforms
  689. </a>
  690. </li>
  691. <li class="md-nav__item">
  692. <a href="../xmldocs/llama.llavaweights/" class="md-nav__link">
  693. llama.llavaweights
  694. </a>
  695. </li>
  696. <li class="md-nav__item">
  697. <a href="../xmldocs/llama.native.decoderesult/" class="md-nav__link">
  698. llama.native.decoderesult
  699. </a>
  700. </li>
  701. <li class="md-nav__item">
  702. <a href="../xmldocs/llama.native.ggmltype/" class="md-nav__link">
  703. llama.native.ggmltype
  704. </a>
  705. </li>
  706. <li class="md-nav__item">
  707. <a href="../xmldocs/llama.native.gpusplitmode/" class="md-nav__link">
  708. llama.native.gpusplitmode
  709. </a>
  710. </li>
  711. <li class="md-nav__item">
  712. <a href="../xmldocs/llama.native.llamabatch/" class="md-nav__link">
  713. llama.native.llamabatch
  714. </a>
  715. </li>
  716. <li class="md-nav__item">
  717. <a href="../xmldocs/llama.native.llamabeamsstate/" class="md-nav__link">
  718. llama.native.llamabeamsstate
  719. </a>
  720. </li>
  721. <li class="md-nav__item">
  722. <a href="../xmldocs/llama.native.llamabeamview/" class="md-nav__link">
  723. llama.native.llamabeamview
  724. </a>
  725. </li>
  726. <li class="md-nav__item">
  727. <a href="../xmldocs/llama.native.llamachatmessage/" class="md-nav__link">
  728. llama.native.llamachatmessage
  729. </a>
  730. </li>
  731. <li class="md-nav__item">
  732. <a href="../xmldocs/llama.native.llamacontextparams/" class="md-nav__link">
  733. llama.native.llamacontextparams
  734. </a>
  735. </li>
  736. <li class="md-nav__item">
  737. <a href="../xmldocs/llama.native.llamaftype/" class="md-nav__link">
  738. llama.native.llamaftype
  739. </a>
  740. </li>
  741. <li class="md-nav__item">
  742. <a href="../xmldocs/llama.native.llamagrammarelement/" class="md-nav__link">
  743. llama.native.llamagrammarelement
  744. </a>
  745. </li>
  746. <li class="md-nav__item">
  747. <a href="../xmldocs/llama.native.llamagrammarelementtype/" class="md-nav__link">
  748. llama.native.llamagrammarelementtype
  749. </a>
  750. </li>
  751. <li class="md-nav__item">
  752. <a href="../xmldocs/llama.native.llamakvcacheview/" class="md-nav__link">
  753. llama.native.llamakvcacheview
  754. </a>
  755. </li>
  756. <li class="md-nav__item">
  757. <a href="../xmldocs/llama.native.llamakvcacheviewcell/" class="md-nav__link">
  758. llama.native.llamakvcacheviewcell
  759. </a>
  760. </li>
  761. <li class="md-nav__item">
  762. <a href="../xmldocs/llama.native.llamakvcacheviewsafehandle/" class="md-nav__link">
  763. llama.native.llamakvcacheviewsafehandle
  764. </a>
  765. </li>
  766. <li class="md-nav__item">
  767. <a href="../xmldocs/llama.native.llamaloglevel/" class="md-nav__link">
  768. llama.native.llamaloglevel
  769. </a>
  770. </li>
  771. <li class="md-nav__item">
  772. <a href="../xmldocs/llama.native.llamamodelkvoverridetype/" class="md-nav__link">
  773. llama.native.llamamodelkvoverridetype
  774. </a>
  775. </li>
  776. <li class="md-nav__item">
  777. <a href="../xmldocs/llama.native.llamamodelmetadataoverride/" class="md-nav__link">
  778. llama.native.llamamodelmetadataoverride
  779. </a>
  780. </li>
  781. <li class="md-nav__item">
  782. <a href="../xmldocs/llama.native.llamamodelparams/" class="md-nav__link">
  783. llama.native.llamamodelparams
  784. </a>
  785. </li>
  786. <li class="md-nav__item">
  787. <a href="../xmldocs/llama.native.llamamodelquantizeparams/" class="md-nav__link">
  788. llama.native.llamamodelquantizeparams
  789. </a>
  790. </li>
  791. <li class="md-nav__item">
  792. <a href="../xmldocs/llama.native.llamanativebatch/" class="md-nav__link">
  793. llama.native.llamanativebatch
  794. </a>
  795. </li>
  796. <li class="md-nav__item">
  797. <a href="../xmldocs/llama.native.llamapoolingtype/" class="md-nav__link">
  798. llama.native.llamapoolingtype
  799. </a>
  800. </li>
  801. <li class="md-nav__item">
  802. <a href="../xmldocs/llama.native.llamapos/" class="md-nav__link">
  803. llama.native.llamapos
  804. </a>
  805. </li>
  806. <li class="md-nav__item">
  807. <a href="../xmldocs/llama.native.llamaropetype/" class="md-nav__link">
  808. llama.native.llamaropetype
  809. </a>
  810. </li>
  811. <li class="md-nav__item">
  812. <a href="../xmldocs/llama.native.llamaseqid/" class="md-nav__link">
  813. llama.native.llamaseqid
  814. </a>
  815. </li>
  816. <li class="md-nav__item">
  817. <a href="../xmldocs/llama.native.llamatoken/" class="md-nav__link">
  818. llama.native.llamatoken
  819. </a>
  820. </li>
  821. <li class="md-nav__item">
  822. <a href="../xmldocs/llama.native.llamatokendata/" class="md-nav__link">
  823. llama.native.llamatokendata
  824. </a>
  825. </li>
  826. <li class="md-nav__item">
  827. <a href="../xmldocs/llama.native.llamatokendataarray/" class="md-nav__link">
  828. llama.native.llamatokendataarray
  829. </a>
  830. </li>
  831. <li class="md-nav__item">
  832. <a href="../xmldocs/llama.native.llamatokendataarraynative/" class="md-nav__link">
  833. llama.native.llamatokendataarraynative
  834. </a>
  835. </li>
  836. <li class="md-nav__item">
  837. <a href="../xmldocs/llama.native.llamatokentype/" class="md-nav__link">
  838. llama.native.llamatokentype
  839. </a>
  840. </li>
  841. <li class="md-nav__item">
  842. <a href="../xmldocs/llama.native.llamavocabtype/" class="md-nav__link">
  843. llama.native.llamavocabtype
  844. </a>
  845. </li>
  846. <li class="md-nav__item">
  847. <a href="../xmldocs/llama.native.llavaimageembed/" class="md-nav__link">
  848. llama.native.llavaimageembed
  849. </a>
  850. </li>
  851. <li class="md-nav__item">
  852. <a href="../xmldocs/llama.native.nativeapi/" class="md-nav__link">
  853. llama.native.nativeapi
  854. </a>
  855. </li>
  856. <li class="md-nav__item">
  857. <a href="../xmldocs/llama.native.nativelibraryconfig/" class="md-nav__link">
  858. llama.native.nativelibraryconfig
  859. </a>
  860. </li>
  861. <li class="md-nav__item">
  862. <a href="../xmldocs/llama.native.ropescalingtype/" class="md-nav__link">
  863. llama.native.ropescalingtype
  864. </a>
  865. </li>
  866. <li class="md-nav__item">
  867. <a href="../xmldocs/llama.native.safellamacontexthandle/" class="md-nav__link">
  868. llama.native.safellamacontexthandle
  869. </a>
  870. </li>
  871. <li class="md-nav__item">
  872. <a href="../xmldocs/llama.native.safellamagrammarhandle/" class="md-nav__link">
  873. llama.native.safellamagrammarhandle
  874. </a>
  875. </li>
  876. <li class="md-nav__item">
  877. <a href="../xmldocs/llama.native.safellamahandlebase/" class="md-nav__link">
  878. llama.native.safellamahandlebase
  879. </a>
  880. </li>
  881. <li class="md-nav__item">
  882. <a href="../xmldocs/llama.native.safellamamodelhandle/" class="md-nav__link">
  883. llama.native.safellamamodelhandle
  884. </a>
  885. </li>
  886. <li class="md-nav__item">
  887. <a href="../xmldocs/llama.native.safellavaimageembedhandle/" class="md-nav__link">
  888. llama.native.safellavaimageembedhandle
  889. </a>
  890. </li>
  891. <li class="md-nav__item">
  892. <a href="../xmldocs/llama.native.safellavamodelhandle/" class="md-nav__link">
  893. llama.native.safellavamodelhandle
  894. </a>
  895. </li>
  896. <li class="md-nav__item">
  897. <a href="../xmldocs/llama.quantizer/" class="md-nav__link">
  898. llama.quantizer
  899. </a>
  900. </li>
  901. <li class="md-nav__item">
  902. <a href="../xmldocs/llama.sampling.basesamplingpipeline/" class="md-nav__link">
  903. llama.sampling.basesamplingpipeline
  904. </a>
  905. </li>
  906. <li class="md-nav__item">
  907. <a href="../xmldocs/llama.sampling.defaultsamplingpipeline/" class="md-nav__link">
  908. llama.sampling.defaultsamplingpipeline
  909. </a>
  910. </li>
  911. <li class="md-nav__item">
  912. <a href="../xmldocs/llama.sampling.greedysamplingpipeline/" class="md-nav__link">
  913. llama.sampling.greedysamplingpipeline
  914. </a>
  915. </li>
  916. <li class="md-nav__item">
  917. <a href="../xmldocs/llama.sampling.isamplingpipeline/" class="md-nav__link">
  918. llama.sampling.isamplingpipeline
  919. </a>
  920. </li>
  921. <li class="md-nav__item">
  922. <a href="../xmldocs/llama.sampling.isamplingpipelineextensions/" class="md-nav__link">
  923. llama.sampling.isamplingpipelineextensions
  924. </a>
  925. </li>
  926. <li class="md-nav__item">
  927. <a href="../xmldocs/llama.sampling.mirostate2samplingpipeline/" class="md-nav__link">
  928. llama.sampling.mirostate2samplingpipeline
  929. </a>
  930. </li>
  931. <li class="md-nav__item">
  932. <a href="../xmldocs/llama.sampling.mirostatesamplingpipeline/" class="md-nav__link">
  933. llama.sampling.mirostatesamplingpipeline
  934. </a>
  935. </li>
  936. <li class="md-nav__item">
  937. <a href="../xmldocs/llama.sessionstate/" class="md-nav__link">
  938. llama.sessionstate
  939. </a>
  940. </li>
  941. <li class="md-nav__item">
  942. <a href="../xmldocs/llama.streamingtokendecoder/" class="md-nav__link">
  943. llama.streamingtokendecoder
  944. </a>
  945. </li>
  946. <li class="md-nav__item">
  947. <a href="../xmldocs/llama.types.chatcompletion/" class="md-nav__link">
  948. llama.types.chatcompletion
  949. </a>
  950. </li>
  951. <li class="md-nav__item">
  952. <a href="../xmldocs/llama.types.chatcompletionchoice/" class="md-nav__link">
  953. llama.types.chatcompletionchoice
  954. </a>
  955. </li>
  956. <li class="md-nav__item">
  957. <a href="../xmldocs/llama.types.chatcompletionchunk/" class="md-nav__link">
  958. llama.types.chatcompletionchunk
  959. </a>
  960. </li>
  961. <li class="md-nav__item">
  962. <a href="../xmldocs/llama.types.chatcompletionchunkchoice/" class="md-nav__link">
  963. llama.types.chatcompletionchunkchoice
  964. </a>
  965. </li>
  966. <li class="md-nav__item">
  967. <a href="../xmldocs/llama.types.chatcompletionchunkdelta/" class="md-nav__link">
  968. llama.types.chatcompletionchunkdelta
  969. </a>
  970. </li>
  971. <li class="md-nav__item">
  972. <a href="../xmldocs/llama.types.chatcompletionmessage/" class="md-nav__link">
  973. llama.types.chatcompletionmessage
  974. </a>
  975. </li>
  976. <li class="md-nav__item">
  977. <a href="../xmldocs/llama.types.chatmessagerecord/" class="md-nav__link">
  978. llama.types.chatmessagerecord
  979. </a>
  980. </li>
  981. <li class="md-nav__item">
  982. <a href="../xmldocs/llama.types.chatrole/" class="md-nav__link">
  983. llama.types.chatrole
  984. </a>
  985. </li>
  986. <li class="md-nav__item">
  987. <a href="../xmldocs/llama.types.completion/" class="md-nav__link">
  988. llama.types.completion
  989. </a>
  990. </li>
  991. <li class="md-nav__item">
  992. <a href="../xmldocs/llama.types.completionchoice/" class="md-nav__link">
  993. llama.types.completionchoice
  994. </a>
  995. </li>
  996. <li class="md-nav__item">
  997. <a href="../xmldocs/llama.types.completionchunk/" class="md-nav__link">
  998. llama.types.completionchunk
  999. </a>
  1000. </li>
  1001. <li class="md-nav__item">
  1002. <a href="../xmldocs/llama.types.completionlogprobs/" class="md-nav__link">
  1003. llama.types.completionlogprobs
  1004. </a>
  1005. </li>
  1006. <li class="md-nav__item">
  1007. <a href="../xmldocs/llama.types.completionusage/" class="md-nav__link">
  1008. llama.types.completionusage
  1009. </a>
  1010. </li>
  1011. <li class="md-nav__item">
  1012. <a href="../xmldocs/llama.types.embedding/" class="md-nav__link">
  1013. llama.types.embedding
  1014. </a>
  1015. </li>
  1016. <li class="md-nav__item">
  1017. <a href="../xmldocs/llama.types.embeddingdata/" class="md-nav__link">
  1018. llama.types.embeddingdata
  1019. </a>
  1020. </li>
  1021. <li class="md-nav__item">
  1022. <a href="../xmldocs/llama.types.embeddingusage/" class="md-nav__link">
  1023. llama.types.embeddingusage
  1024. </a>
  1025. </li>
  1026. <li class="md-nav__item">
  1027. <a href="../xmldocs/logger/" class="md-nav__link">
  1028. logger
  1029. </a>
  1030. </li>
  1031. </ul>
  1032. </nav>
  1033. </li>
  1034. </ul>
  1035. </nav>
  1036. </div>
  1037. </div>
  1038. </div>
  1039. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  1040. <div class="md-sidebar__scrollwrap">
  1041. <div class="md-sidebar__inner">
  1042. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  1043. <label class="md-nav__title" for="__toc">
  1044. <span class="md-nav__icon md-icon"></span>
  1045. Table of contents
  1046. </label>
  1047. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  1048. <li class="md-nav__item">
  1049. <a href="#installation" class="md-nav__link">
  1050. Installation
  1051. </a>
  1052. </li>
  1053. <li class="md-nav__item">
  1054. <a href="#model-preparation" class="md-nav__link">
  1055. Model preparation
  1056. </a>
  1057. </li>
  1058. <li class="md-nav__item">
  1059. <a href="#example-of-llama-chat-session" class="md-nav__link">
  1060. Example of LLaMA chat session
  1061. </a>
  1062. </li>
  1063. <li class="md-nav__item">
  1064. <a href="#examples-of-chatting-with-llava" class="md-nav__link">
  1065. Examples of chatting with LLaVA
  1066. </a>
  1067. </li>
  1068. </ul>
  1069. </nav>
  1070. </div>
  1071. </div>
  1072. </div>
  1073. <div class="md-content" data-md-component="content">
  1074. <article class="md-content__inner md-typeset">
  1075. <h1 id="quick-start">Quick start<a class="headerlink" href="#quick-start" title="Permanent link"></a></h1>
  1076. <h2 id="installation">Installation<a class="headerlink" href="#installation" title="Permanent link"></a></h2>
  1077. <p>To gain high performance, LLamaSharp interacts with a native library compiled from c++, which is called <code>backend</code>. We provide backend packages for Windows, Linux and MAC with CPU, Cuda, Metal and OpenCL. You <strong>don't</strong> need to handle anything about c++ but just install the backend packages.</p>
  1078. <p>If no published backend match your device, please open an issue to let us know. If compiling c++ code is not difficult for you, you could also follow <a href="../ContributingGuide/">this guide</a> to compile a backend and run LLamaSharp with it.</p>
  1079. <ol>
  1080. <li>Install <a href="https://www.nuget.org/packages/LLamaSharp">LLamaSharp</a> package on NuGet:</li>
  1081. </ol>
  1082. <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal">1</span></pre></div></td><td class="code"><div><pre><span></span><code>PM&gt; Install-Package LLamaSharp
  1083. </code></pre></div></td></tr></table></div>
  1084. <ol>
  1085. <li>
  1086. <p>Install one or more of these backends, or use self-compiled backend.</p>
  1087. </li>
  1088. <li>
  1089. <p><a href="https://www.nuget.org/packages/LLamaSharp.Backend.Cpu"><code>LLamaSharp.Backend.Cpu</code></a>: Pure CPU for Windows &amp; Linux &amp; MAC. Metal (GPU) support for MAC.</p>
  1090. </li>
  1091. <li><a href="https://www.nuget.org/packages/LLamaSharp.Backend.Cuda11"><code>LLamaSharp.Backend.Cuda11</code></a>: CUDA11 for Windows &amp; Linux.</li>
  1092. <li><a href="https://www.nuget.org/packages/LLamaSharp.Backend.Cuda12"><code>LLamaSharp.Backend.Cuda12</code></a>: CUDA 12 for Windows &amp; Linux.</li>
  1093. <li>
  1094. <p><a href="https://www.nuget.org/packages/LLamaSharp.Backend.OpenCL"><code>LLamaSharp.Backend.OpenCL</code></a>: OpenCL for Windows &amp; Linux.</p>
  1095. </li>
  1096. <li>
  1097. <p>(optional) For <a href="https://github.com/microsoft/semantic-kernel">Microsoft semantic-kernel</a> integration, install the <a href="https://www.nuget.org/packages/LLamaSharp.semantic-kernel">LLamaSharp.semantic-kernel</a> package.</p>
  1098. </li>
  1099. <li>(optional) To enable RAG support, install the <a href="https://www.nuget.org/packages/LLamaSharp.kernel-memory">LLamaSharp.kernel-memory</a> package (this package only supports <code>net6.0</code> or higher yet), which is based on <a href="https://github.com/microsoft/kernel-memory">Microsoft kernel-memory</a> integration.</li>
  1100. </ol>
  1101. <h2 id="model-preparation">Model preparation<a class="headerlink" href="#model-preparation" title="Permanent link"></a></h2>
  1102. <p>There are two popular format of model file of LLM now, which are PyTorch format (.pth) and Huggingface format (.bin). LLamaSharp uses <code>GGUF</code> format file, which could be converted from these two formats. To get <code>GGUF</code> file, there are two options:</p>
  1103. <ol>
  1104. <li>
  1105. <p>Search model name + 'gguf' in <a href="https://huggingface.co">Huggingface</a>, you will find lots of model files that have already been converted to GGUF format. Please take care of the publishing time of them because some old ones could only work with old version of LLamaSharp.</p>
  1106. </li>
  1107. <li>
  1108. <p>Convert PyTorch or Huggingface format to GGUF format yourself. Please follow the instructions of <a href="https://github.com/ggerganov/llama.cpp?tab=readme-ov-file#prepare-and-quantize">this part of llama.cpp readme</a> to convert them with the python scripts.</p>
  1109. </li>
  1110. </ol>
  1111. <p>Generally, we recommend downloading models with quantization rather than fp16, because it significantly reduce the required memory size while only slightly impact on its generation quality.</p>
  1112. <h2 id="example-of-llama-chat-session">Example of LLaMA chat session<a class="headerlink" href="#example-of-llama-chat-session" title="Permanent link"></a></h2>
  1113. <p>Here is a simple example to chat with bot based on LLM in LLamaSharp. Please replace the model path with yours.</p>
  1114. <p><img alt="llama_demo" src="../media/console_demo.gif" /></p>
  1115. <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
  1116. <span class="normal"> 2</span>
  1117. <span class="normal"> 3</span>
  1118. <span class="normal"> 4</span>
  1119. <span class="normal"> 5</span>
  1120. <span class="normal"> 6</span>
  1121. <span class="normal"> 7</span>
  1122. <span class="normal"> 8</span>
  1123. <span class="normal"> 9</span>
  1124. <span class="normal">10</span>
  1125. <span class="normal">11</span>
  1126. <span class="normal">12</span>
  1127. <span class="normal">13</span>
  1128. <span class="normal">14</span>
  1129. <span class="normal">15</span>
  1130. <span class="normal">16</span>
  1131. <span class="normal">17</span>
  1132. <span class="normal">18</span>
  1133. <span class="normal">19</span>
  1134. <span class="normal">20</span>
  1135. <span class="normal">21</span>
  1136. <span class="normal">22</span>
  1137. <span class="normal">23</span>
  1138. <span class="normal">24</span>
  1139. <span class="normal">25</span>
  1140. <span class="normal">26</span>
  1141. <span class="normal">27</span>
  1142. <span class="normal">28</span>
  1143. <span class="normal">29</span>
  1144. <span class="normal">30</span>
  1145. <span class="normal">31</span>
  1146. <span class="normal">32</span>
  1147. <span class="normal">33</span>
  1148. <span class="normal">34</span>
  1149. <span class="normal">35</span>
  1150. <span class="normal">36</span>
  1151. <span class="normal">37</span>
  1152. <span class="normal">38</span>
  1153. <span class="normal">39</span>
  1154. <span class="normal">40</span>
  1155. <span class="normal">41</span>
  1156. <span class="normal">42</span>
  1157. <span class="normal">43</span>
  1158. <span class="normal">44</span>
  1159. <span class="normal">45</span>
  1160. <span class="normal">46</span>
  1161. <span class="normal">47</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">using</span><span class="w"> </span><span class="nn">LLama.Common</span><span class="p">;</span>
  1162. <span class="k">using</span><span class="w"> </span><span class="nn">LLama</span><span class="p">;</span>
  1163. <span class="kt">string</span><span class="w"> </span><span class="n">modelPath</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">@&quot;&lt;Your Model Path&gt;&quot;</span><span class="p">;</span><span class="w"> </span><span class="c1">// change it to your own model path.</span>
  1164. <span class="kt">var</span><span class="w"> </span><span class="n">parameters</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ModelParams</span><span class="p">(</span><span class="n">modelPath</span><span class="p">)</span>
  1165. <span class="p">{</span>
  1166. <span class="w"> </span><span class="n">ContextSize</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">1024</span><span class="p">,</span><span class="w"> </span><span class="c1">// The longest length of chat as memory.</span>
  1167. <span class="w"> </span><span class="n">GpuLayerCount</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">5</span><span class="w"> </span><span class="c1">// How many layers to offload to GPU. Please adjust it according to your GPU memory.</span>
  1168. <span class="p">};</span>
  1169. <span class="k">using</span><span class="w"> </span><span class="nn">var</span><span class="w"> </span><span class="n">model</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">LLamaWeights</span><span class="p">.</span><span class="n">LoadFromFile</span><span class="p">(</span><span class="n">parameters</span><span class="p">);</span>
  1170. <span class="k">using</span><span class="w"> </span><span class="nn">var</span><span class="w"> </span><span class="n">context</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">model</span><span class="p">.</span><span class="n">CreateContext</span><span class="p">(</span><span class="n">parameters</span><span class="p">);</span>
  1171. <span class="kt">var</span><span class="w"> </span><span class="n">executor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">InteractiveExecutor</span><span class="p">(</span><span class="n">context</span><span class="p">);</span>
  1172. <span class="c1">// Add chat histories as prompt to tell AI how to act.</span>
  1173. <span class="kt">var</span><span class="w"> </span><span class="n">chatHistory</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ChatHistory</span><span class="p">();</span>
  1174. <span class="n">chatHistory</span><span class="p">.</span><span class="n">AddMessage</span><span class="p">(</span><span class="n">AuthorRole</span><span class="p">.</span><span class="n">System</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Transcript of a dialog, where the User interacts with an Assistant named Bob. Bob is helpful, kind, honest, good at writing, and never fails to answer the User&#39;s requests immediately and with precision.&quot;</span><span class="p">);</span>
  1175. <span class="n">chatHistory</span><span class="p">.</span><span class="n">AddMessage</span><span class="p">(</span><span class="n">AuthorRole</span><span class="p">.</span><span class="n">User</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Hello, Bob.&quot;</span><span class="p">);</span>
  1176. <span class="n">chatHistory</span><span class="p">.</span><span class="n">AddMessage</span><span class="p">(</span><span class="n">AuthorRole</span><span class="p">.</span><span class="n">Assistant</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Hello. How may I help you today?&quot;</span><span class="p">);</span>
  1177. <span class="n">ChatSession</span><span class="w"> </span><span class="n">session</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="p">(</span><span class="n">executor</span><span class="p">,</span><span class="w"> </span><span class="n">chatHistory</span><span class="p">);</span>
  1178. <span class="n">InferenceParams</span><span class="w"> </span><span class="n">inferenceParams</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">InferenceParams</span><span class="p">()</span>
  1179. <span class="p">{</span>
  1180. <span class="w"> </span><span class="n">MaxTokens</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">256</span><span class="p">,</span><span class="w"> </span><span class="c1">// No more than 256 tokens should appear in answer. Remove it if antiprompt is enough for control.</span>
  1181. <span class="w"> </span><span class="n">AntiPrompts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">List</span><span class="o">&lt;</span><span class="kt">string</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s">&quot;User:&quot;</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="c1">// Stop generation once antiprompts appear.</span>
  1182. <span class="p">};</span>
  1183. <span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">Yellow</span><span class="p">;</span>
  1184. <span class="n">Console</span><span class="p">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&quot;The chat session has started.\nUser: &quot;</span><span class="p">);</span>
  1185. <span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">Green</span><span class="p">;</span>
  1186. <span class="kt">string</span><span class="w"> </span><span class="n">userInput</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ReadLine</span><span class="p">()</span><span class="w"> </span><span class="o">??</span><span class="w"> </span><span class="s">&quot;&quot;</span><span class="p">;</span>
  1187. <span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">userInput</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="s">&quot;exit&quot;</span><span class="p">)</span>
  1188. <span class="p">{</span>
  1189. <span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nf">foreach</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="c1">// Generate the response streamingly.</span>
  1190. <span class="w"> </span><span class="kt">var</span><span class="w"> </span><span class="n">text</span>
  1191. <span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">session</span><span class="p">.</span><span class="n">ChatAsync</span><span class="p">(</span>
  1192. <span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ChatHistory</span><span class="p">.</span><span class="n">Message</span><span class="p">(</span><span class="n">AuthorRole</span><span class="p">.</span><span class="n">User</span><span class="p">,</span><span class="w"> </span><span class="n">userInput</span><span class="p">),</span>
  1193. <span class="w"> </span><span class="n">inferenceParams</span><span class="p">))</span>
  1194. <span class="w"> </span><span class="p">{</span>
  1195. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">White</span><span class="p">;</span>
  1196. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">Write</span><span class="p">(</span><span class="n">text</span><span class="p">);</span>
  1197. <span class="w"> </span><span class="p">}</span>
  1198. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">Green</span><span class="p">;</span>
  1199. <span class="w"> </span><span class="n">userInput</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ReadLine</span><span class="p">()</span><span class="w"> </span><span class="o">??</span><span class="w"> </span><span class="s">&quot;&quot;</span><span class="p">;</span>
  1200. <span class="p">}</span>
  1201. </code></pre></div></td></tr></table></div>
  1202. <h2 id="examples-of-chatting-with-llava">Examples of chatting with LLaVA<a class="headerlink" href="#examples-of-chatting-with-llava" title="Permanent link"></a></h2>
  1203. <p>This example shows chatting with LLaVA to ask it to describe the picture.
  1204. <img alt="llava_demo" src="../media/llava_demo.gif" /></p>
  1205. <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
  1206. <span class="normal"> 2</span>
  1207. <span class="normal"> 3</span>
  1208. <span class="normal"> 4</span>
  1209. <span class="normal"> 5</span>
  1210. <span class="normal"> 6</span>
  1211. <span class="normal"> 7</span>
  1212. <span class="normal"> 8</span>
  1213. <span class="normal"> 9</span>
  1214. <span class="normal">10</span>
  1215. <span class="normal">11</span>
  1216. <span class="normal">12</span>
  1217. <span class="normal">13</span>
  1218. <span class="normal">14</span>
  1219. <span class="normal">15</span>
  1220. <span class="normal">16</span>
  1221. <span class="normal">17</span>
  1222. <span class="normal">18</span>
  1223. <span class="normal">19</span>
  1224. <span class="normal">20</span>
  1225. <span class="normal">21</span>
  1226. <span class="normal">22</span>
  1227. <span class="normal">23</span>
  1228. <span class="normal">24</span>
  1229. <span class="normal">25</span>
  1230. <span class="normal">26</span>
  1231. <span class="normal">27</span>
  1232. <span class="normal">28</span>
  1233. <span class="normal">29</span>
  1234. <span class="normal">30</span>
  1235. <span class="normal">31</span>
  1236. <span class="normal">32</span>
  1237. <span class="normal">33</span>
  1238. <span class="normal">34</span>
  1239. <span class="normal">35</span>
  1240. <span class="normal">36</span>
  1241. <span class="normal">37</span>
  1242. <span class="normal">38</span>
  1243. <span class="normal">39</span>
  1244. <span class="normal">40</span>
  1245. <span class="normal">41</span>
  1246. <span class="normal">42</span>
  1247. <span class="normal">43</span>
  1248. <span class="normal">44</span>
  1249. <span class="normal">45</span>
  1250. <span class="normal">46</span>
  1251. <span class="normal">47</span>
  1252. <span class="normal">48</span>
  1253. <span class="normal">49</span>
  1254. <span class="normal">50</span>
  1255. <span class="normal">51</span>
  1256. <span class="normal">52</span>
  1257. <span class="normal">53</span>
  1258. <span class="normal">54</span>
  1259. <span class="normal">55</span>
  1260. <span class="normal">56</span>
  1261. <span class="normal">57</span>
  1262. <span class="normal">58</span>
  1263. <span class="normal">59</span>
  1264. <span class="normal">60</span>
  1265. <span class="normal">61</span>
  1266. <span class="normal">62</span>
  1267. <span class="normal">63</span>
  1268. <span class="normal">64</span>
  1269. <span class="normal">65</span>
  1270. <span class="normal">66</span>
  1271. <span class="normal">67</span>
  1272. <span class="normal">68</span>
  1273. <span class="normal">69</span>
  1274. <span class="normal">70</span>
  1275. <span class="normal">71</span>
  1276. <span class="normal">72</span>
  1277. <span class="normal">73</span>
  1278. <span class="normal">74</span>
  1279. <span class="normal">75</span>
  1280. <span class="normal">76</span>
  1281. <span class="normal">77</span>
  1282. <span class="normal">78</span>
  1283. <span class="normal">79</span>
  1284. <span class="normal">80</span>
  1285. <span class="normal">81</span>
  1286. <span class="normal">82</span>
  1287. <span class="normal">83</span>
  1288. <span class="normal">84</span>
  1289. <span class="normal">85</span>
  1290. <span class="normal">86</span>
  1291. <span class="normal">87</span>
  1292. <span class="normal">88</span>
  1293. <span class="normal">89</span>
  1294. <span class="normal">90</span>
  1295. <span class="normal">91</span>
  1296. <span class="normal">92</span>
  1297. <span class="normal">93</span>
  1298. <span class="normal">94</span>
  1299. <span class="normal">95</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">using</span><span class="w"> </span><span class="nn">System.Text.RegularExpressions</span><span class="p">;</span>
  1300. <span class="k">using</span><span class="w"> </span><span class="nn">LLama</span><span class="p">;</span>
  1301. <span class="k">using</span><span class="w"> </span><span class="nn">LLama.Common</span><span class="p">;</span>
  1302. <span class="kt">string</span><span class="w"> </span><span class="n">multiModalProj</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">@&quot;&lt;Your multi-modal proj file path&gt;&quot;</span><span class="p">;</span>
  1303. <span class="kt">string</span><span class="w"> </span><span class="n">modelPath</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">@&quot;&lt;Your LLaVA model file path&gt;&quot;</span><span class="p">;</span>
  1304. <span class="kt">string</span><span class="w"> </span><span class="n">modelImage</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">@&quot;&lt;Your image path&gt;&quot;</span><span class="p">;</span>
  1305. <span class="k">const</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">maxTokens</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">1024</span><span class="p">;</span><span class="w"> </span><span class="c1">// The max tokens that could be generated.</span>
  1306. <span class="kt">var</span><span class="w"> </span><span class="n">prompt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s">$&quot;{{{modelImage}}}\nUSER:\nProvide a full description of the image.\nASSISTANT:\n&quot;</span><span class="p">;</span>
  1307. <span class="kt">var</span><span class="w"> </span><span class="n">parameters</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">ModelParams</span><span class="p">(</span><span class="n">modelPath</span><span class="p">)</span>
  1308. <span class="p">{</span>
  1309. <span class="w"> </span><span class="n">ContextSize</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">4096</span><span class="p">,</span>
  1310. <span class="w"> </span><span class="n">Seed</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">1337</span><span class="p">,</span>
  1311. <span class="p">};</span>
  1312. <span class="k">using</span><span class="w"> </span><span class="nn">var</span><span class="w"> </span><span class="n">model</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">LLamaWeights</span><span class="p">.</span><span class="n">LoadFromFile</span><span class="p">(</span><span class="n">parameters</span><span class="p">);</span>
  1313. <span class="k">using</span><span class="w"> </span><span class="nn">var</span><span class="w"> </span><span class="n">context</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">model</span><span class="p">.</span><span class="n">CreateContext</span><span class="p">(</span><span class="n">parameters</span><span class="p">);</span>
  1314. <span class="c1">// Llava Init</span>
  1315. <span class="k">using</span><span class="w"> </span><span class="nn">var</span><span class="w"> </span><span class="n">clipModel</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">LLavaWeights</span><span class="p">.</span><span class="n">LoadFromFile</span><span class="p">(</span><span class="n">multiModalProj</span><span class="p">);</span>
  1316. <span class="kt">var</span><span class="w"> </span><span class="n">ex</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">InteractiveExecutor</span><span class="p">(</span><span class="n">context</span><span class="p">,</span><span class="w"> </span><span class="n">clipModel</span><span class="p">);</span>
  1317. <span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">Yellow</span><span class="p">;</span>
  1318. <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span><span class="s">&quot;The executor has been enabled. In this example, the prompt is printed, the maximum tokens is set to {0} and the context size is {1}.&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">maxTokens</span><span class="p">,</span><span class="w"> </span><span class="n">parameters</span><span class="p">.</span><span class="n">ContextSize</span><span class="p">);</span>
  1319. <span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span><span class="s">&quot;To send an image, enter its filename in curly braces, like this {c:/image.jpg}.&quot;</span><span class="p">);</span>
  1320. <span class="kt">var</span><span class="w"> </span><span class="n">inferenceParams</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">InferenceParams</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">Temperature</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">0.1f</span><span class="p">,</span><span class="w"> </span><span class="n">AntiPrompts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">List</span><span class="o">&lt;</span><span class="kt">string</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s">&quot;\nUSER:&quot;</span><span class="w"> </span><span class="p">},</span><span class="w"> </span><span class="n">MaxTokens</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">maxTokens</span><span class="w"> </span><span class="p">};</span>
  1321. <span class="k">do</span>
  1322. <span class="p">{</span>
  1323. <span class="w"> </span><span class="c1">// Evaluate if we have images</span>
  1324. <span class="w"> </span><span class="c1">//</span>
  1325. <span class="w"> </span><span class="kt">var</span><span class="w"> </span><span class="n">imageMatches</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Regex</span><span class="p">.</span><span class="n">Matches</span><span class="p">(</span><span class="n">prompt</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;{([^}]*)}&quot;</span><span class="p">).</span><span class="n">Select</span><span class="p">(</span><span class="n">m</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">m</span><span class="p">.</span><span class="n">Value</span><span class="p">);</span>
  1326. <span class="w"> </span><span class="kt">var</span><span class="w"> </span><span class="n">imageCount</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">imageMatches</span><span class="p">.</span><span class="n">Count</span><span class="p">();</span>
  1327. <span class="w"> </span><span class="kt">var</span><span class="w"> </span><span class="n">hasImages</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">imageCount</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="m">0</span><span class="p">;</span>
  1328. <span class="w"> </span><span class="kt">byte</span><span class="p">[][]</span><span class="w"> </span><span class="n">imageBytes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">null</span><span class="p">;</span>
  1329. <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">hasImages</span><span class="p">)</span>
  1330. <span class="w"> </span><span class="p">{</span>
  1331. <span class="w"> </span><span class="kt">var</span><span class="w"> </span><span class="n">imagePathsWithCurlyBraces</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Regex</span><span class="p">.</span><span class="n">Matches</span><span class="p">(</span><span class="n">prompt</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;{([^}]*)}&quot;</span><span class="p">).</span><span class="n">Select</span><span class="p">(</span><span class="n">m</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">m</span><span class="p">.</span><span class="n">Value</span><span class="p">);</span>
  1332. <span class="w"> </span><span class="kt">var</span><span class="w"> </span><span class="n">imagePaths</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Regex</span><span class="p">.</span><span class="n">Matches</span><span class="p">(</span><span class="n">prompt</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;{([^}]*)}&quot;</span><span class="p">).</span><span class="n">Select</span><span class="p">(</span><span class="n">m</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">m</span><span class="p">.</span><span class="n">Groups</span><span class="p">[</span><span class="m">1</span><span class="p">].</span><span class="n">Value</span><span class="p">);</span>
  1333. <span class="w"> </span><span class="k">try</span>
  1334. <span class="w"> </span><span class="p">{</span>
  1335. <span class="w"> </span><span class="n">imageBytes</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">imagePaths</span><span class="p">.</span><span class="n">Select</span><span class="p">(</span><span class="n">File</span><span class="p">.</span><span class="n">ReadAllBytes</span><span class="p">).</span><span class="n">ToArray</span><span class="p">();</span>
  1336. <span class="w"> </span><span class="p">}</span>
  1337. <span class="w"> </span><span class="k">catch</span><span class="w"> </span><span class="p">(</span><span class="n">IOException</span><span class="w"> </span><span class="n">exception</span><span class="p">)</span>
  1338. <span class="w"> </span><span class="p">{</span>
  1339. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">Red</span><span class="p">;</span>
  1340. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">Write</span><span class="p">(</span>
  1341. <span class="w"> </span><span class="s">$&quot;Could not load your {(imageCount == 1 ? &quot;</span><span class="n">image</span><span class="s">&quot; : &quot;</span><span class="n">images</span><span class="s">&quot;)}:&quot;</span><span class="p">);</span>
  1342. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">Write</span><span class="p">(</span><span class="s">$&quot;{exception.Message}&quot;</span><span class="p">);</span>
  1343. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">Yellow</span><span class="p">;</span>
  1344. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">(</span><span class="s">&quot;Please try again.&quot;</span><span class="p">);</span>
  1345. <span class="w"> </span><span class="k">break</span><span class="p">;</span>
  1346. <span class="w"> </span><span class="p">}</span>
  1347. <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="m">0</span><span class="p">;</span>
  1348. <span class="w"> </span><span class="k">foreach</span><span class="w"> </span><span class="p">(</span><span class="kt">var</span><span class="w"> </span><span class="n">path</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">imagePathsWithCurlyBraces</span><span class="p">)</span>
  1349. <span class="w"> </span><span class="p">{</span>
  1350. <span class="w"> </span><span class="c1">// First image replace to tag &lt;image, the rest of the images delete the tag</span>
  1351. <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">index</span><span class="o">++</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="m">0</span><span class="p">)</span>
  1352. <span class="w"> </span><span class="n">prompt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prompt</span><span class="p">.</span><span class="n">Replace</span><span class="p">(</span><span class="n">path</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;&lt;image&gt;&quot;</span><span class="p">);</span>
  1353. <span class="w"> </span><span class="k">else</span>
  1354. <span class="w"> </span><span class="n">prompt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">prompt</span><span class="p">.</span><span class="n">Replace</span><span class="p">(</span><span class="n">path</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;&quot;</span><span class="p">);</span>
  1355. <span class="w"> </span><span class="p">}</span>
  1356. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">();</span>
  1357. <span class="w"> </span><span class="c1">// Initilize Images in executor</span>
  1358. <span class="w"> </span><span class="c1">//</span>
  1359. <span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">ImagePaths</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">imagePaths</span><span class="p">.</span><span class="n">ToList</span><span class="p">();</span>
  1360. <span class="w"> </span><span class="p">}</span>
  1361. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">White</span><span class="p">;</span>
  1362. <span class="w"> </span><span class="k">await</span><span class="w"> </span><span class="nf">foreach</span><span class="w"> </span><span class="p">(</span><span class="kt">var</span><span class="w"> </span><span class="n">text</span><span class="w"> </span><span class="k">in</span><span class="w"> </span><span class="n">ex</span><span class="p">.</span><span class="n">InferAsync</span><span class="p">(</span><span class="n">prompt</span><span class="p">,</span><span class="w"> </span><span class="n">inferenceParams</span><span class="p">))</span>
  1363. <span class="w"> </span><span class="p">{</span>
  1364. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">Write</span><span class="p">(</span><span class="n">text</span><span class="p">);</span>
  1365. <span class="w"> </span><span class="p">}</span>
  1366. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">Write</span><span class="p">(</span><span class="s">&quot; &quot;</span><span class="p">);</span>
  1367. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ForegroundColor</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ConsoleColor</span><span class="p">.</span><span class="n">Green</span><span class="p">;</span>
  1368. <span class="w"> </span><span class="n">prompt</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">ReadLine</span><span class="p">();</span>
  1369. <span class="w"> </span><span class="n">Console</span><span class="p">.</span><span class="n">WriteLine</span><span class="p">();</span>
  1370. <span class="w"> </span><span class="c1">// let the user finish with exit</span>
  1371. <span class="w"> </span><span class="c1">//</span>
  1372. <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">prompt</span><span class="p">.</span><span class="n">Equals</span><span class="p">(</span><span class="s">&quot;/exit&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">StringComparison</span><span class="p">.</span><span class="n">OrdinalIgnoreCase</span><span class="p">))</span>
  1373. <span class="w"> </span><span class="k">break</span><span class="p">;</span>
  1374. <span class="p">}</span>
  1375. <span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="k">true</span><span class="p">);</span>
  1376. </code></pre></div></td></tr></table></div>
  1377. <p><em>For more examples, please refer to <a href="./LLama.Examples">LLamaSharp.Examples</a>.</em></p>
  1378. </article>
  1379. </div>
  1380. </div>
  1381. </main>
  1382. <footer class="md-footer">
  1383. <div class="md-footer-meta md-typeset">
  1384. <div class="md-footer-meta__inner md-grid">
  1385. <div class="md-copyright">
  1386. Made with
  1387. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  1388. Material for MkDocs
  1389. </a>
  1390. </div>
  1391. </div>
  1392. </div>
  1393. </footer>
  1394. </div>
  1395. <div class="md-dialog" data-md-component="dialog">
  1396. <div class="md-dialog__inner md-typeset"></div>
  1397. </div>
  1398. <script id="__config" type="application/json">{"base": "..", "features": ["content.action.edit", "navigation.instant"], "search": "../assets/javascripts/workers/search.74e28a9f.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": {"provider": "mike"}}</script>
  1399. <script src="../assets/javascripts/bundle.220ee61c.min.js"></script>
  1400. </body>
  1401. </html>

C#/.NET上易用的LLM高性能推理框架,支持LLaMA和LLaVA系列模型。

Contributors (1)