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 38 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711
  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="../Tricks/">
  7. <link rel="next" href="../LLamaModel/parameters/">
  8. <link rel="icon" href="../assets/images/favicon.png">
  9. <meta name="generator" content="mkdocs-1.4.3, mkdocs-material-9.1.16">
  10. <title>Contributing Guide - LLamaSharp Documentation</title>
  11. <link rel="stylesheet" href="../assets/stylesheets/main.26e3688c.min.css">
  12. <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
  13. <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
  14. <style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
  15. <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>
  16. </head>
  17. <body dir="ltr">
  18. <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>
  19. <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
  20. <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
  21. <label class="md-overlay" for="__drawer"></label>
  22. <div data-md-component="skip">
  23. <a href="#llamasharp-contributing-guide" class="md-skip">
  24. Skip to content
  25. </a>
  26. </div>
  27. <div data-md-component="announce">
  28. </div>
  29. <div data-md-color-scheme="default" data-md-component="outdated" hidden>
  30. </div>
  31. <header class="md-header md-header--shadow" data-md-component="header">
  32. <nav class="md-header__inner md-grid" aria-label="Header">
  33. <a href=".." title="LLamaSharp Documentation" class="md-header__button md-logo" aria-label="LLamaSharp Documentation" data-md-component="logo">
  34. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 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 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
  35. </a>
  36. <label class="md-header__button md-icon" for="__drawer">
  37. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
  38. </label>
  39. <div class="md-header__title" data-md-component="header-title">
  40. <div class="md-header__ellipsis">
  41. <div class="md-header__topic">
  42. <span class="md-ellipsis">
  43. LLamaSharp Documentation
  44. </span>
  45. </div>
  46. <div class="md-header__topic" data-md-component="header-topic">
  47. <span class="md-ellipsis">
  48. Contributing Guide
  49. </span>
  50. </div>
  51. </div>
  52. </div>
  53. <label class="md-header__button md-icon" for="__search">
  54. <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>
  55. </label>
  56. <div class="md-search" data-md-component="search" role="dialog">
  57. <label class="md-search__overlay" for="__search"></label>
  58. <div class="md-search__inner" role="search">
  59. <form class="md-search__form" name="search">
  60. <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>
  61. <label class="md-search__icon md-icon" for="__search">
  62. <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>
  63. <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>
  64. </label>
  65. <nav class="md-search__options" aria-label="Search">
  66. <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
  67. <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>
  68. </button>
  69. </nav>
  70. </form>
  71. <div class="md-search__output">
  72. <div class="md-search__scrollwrap" data-md-scrollfix>
  73. <div class="md-search-result" data-md-component="search-result">
  74. <div class="md-search-result__meta">
  75. Initializing search
  76. </div>
  77. <ol class="md-search-result__list" role="presentation"></ol>
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. </nav>
  84. </header>
  85. <div class="md-container" data-md-component="container">
  86. <main class="md-main" data-md-component="main">
  87. <div class="md-main__inner md-grid">
  88. <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
  89. <div class="md-sidebar__scrollwrap">
  90. <div class="md-sidebar__inner">
  91. <nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
  92. <label class="md-nav__title" for="__drawer">
  93. <a href=".." title="LLamaSharp Documentation" class="md-nav__button md-logo" aria-label="LLamaSharp Documentation" data-md-component="logo">
  94. <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 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 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
  95. </a>
  96. LLamaSharp Documentation
  97. </label>
  98. <ul class="md-nav__list" data-md-scrollfix>
  99. <li class="md-nav__item">
  100. <a href=".." class="md-nav__link">
  101. Overview
  102. </a>
  103. </li>
  104. <li class="md-nav__item">
  105. <a href="../GetStarted/" class="md-nav__link">
  106. Get Started
  107. </a>
  108. </li>
  109. <li class="md-nav__item">
  110. <a href="../Architecher/" class="md-nav__link">
  111. Architecher
  112. </a>
  113. </li>
  114. <li class="md-nav__item">
  115. <a href="../Tricks/" class="md-nav__link">
  116. Tricks for FAQ
  117. </a>
  118. </li>
  119. <li class="md-nav__item md-nav__item--active">
  120. <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
  121. <label class="md-nav__link md-nav__link--active" for="__toc">
  122. Contributing Guide
  123. <span class="md-nav__icon md-icon"></span>
  124. </label>
  125. <a href="./" class="md-nav__link md-nav__link--active">
  126. Contributing Guide
  127. </a>
  128. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  129. <label class="md-nav__title" for="__toc">
  130. <span class="md-nav__icon md-icon"></span>
  131. Table of contents
  132. </label>
  133. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  134. <li class="md-nav__item">
  135. <a href="#compile-the-native-library-from-source" class="md-nav__link">
  136. Compile the native library from source
  137. </a>
  138. </li>
  139. <li class="md-nav__item">
  140. <a href="#add-a-new-feature-to-llamasharp" class="md-nav__link">
  141. Add a new feature to LLamaSharp
  142. </a>
  143. </li>
  144. <li class="md-nav__item">
  145. <a href="#find-the-problem-and-fix-the-bug" class="md-nav__link">
  146. Find the problem and fix the BUG
  147. </a>
  148. </li>
  149. <li class="md-nav__item">
  150. <a href="#add-integrations" class="md-nav__link">
  151. Add integrations
  152. </a>
  153. </li>
  154. <li class="md-nav__item">
  155. <a href="#add-examples" class="md-nav__link">
  156. Add examples
  157. </a>
  158. </li>
  159. <li class="md-nav__item">
  160. <a href="#add-documents" class="md-nav__link">
  161. Add documents
  162. </a>
  163. </li>
  164. </ul>
  165. </nav>
  166. </li>
  167. <li class="md-nav__item md-nav__item--nested">
  168. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
  169. <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
  170. LLamaModel
  171. <span class="md-nav__icon md-icon"></span>
  172. </label>
  173. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
  174. <label class="md-nav__title" for="__nav_6">
  175. <span class="md-nav__icon md-icon"></span>
  176. LLamaModel
  177. </label>
  178. <ul class="md-nav__list" data-md-scrollfix>
  179. <li class="md-nav__item">
  180. <a href="../LLamaModel/parameters/" class="md-nav__link">
  181. Model Parameters
  182. </a>
  183. </li>
  184. <li class="md-nav__item">
  185. <a href="../LLamaModel/tokenization/" class="md-nav__link">
  186. Tokenization
  187. </a>
  188. </li>
  189. <li class="md-nav__item">
  190. <a href="../LLamaModel/embeddings/" class="md-nav__link">
  191. Get Embeddings
  192. </a>
  193. </li>
  194. <li class="md-nav__item">
  195. <a href="../LLamaModel/quantization/" class="md-nav__link">
  196. Quantization
  197. </a>
  198. </li>
  199. <li class="md-nav__item">
  200. <a href="../LLamaModel/save-load-state/" class="md-nav__link">
  201. Save/Load State
  202. </a>
  203. </li>
  204. </ul>
  205. </nav>
  206. </li>
  207. <li class="md-nav__item md-nav__item--nested">
  208. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_7" >
  209. <label class="md-nav__link" for="__nav_7" id="__nav_7_label" tabindex="0">
  210. LLamaExecutors
  211. <span class="md-nav__icon md-icon"></span>
  212. </label>
  213. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_7_label" aria-expanded="false">
  214. <label class="md-nav__title" for="__nav_7">
  215. <span class="md-nav__icon md-icon"></span>
  216. LLamaExecutors
  217. </label>
  218. <ul class="md-nav__list" data-md-scrollfix>
  219. <li class="md-nav__item">
  220. <a href="../LLamaExecutors/parameters/" class="md-nav__link">
  221. Inference Parameters
  222. </a>
  223. </li>
  224. <li class="md-nav__item">
  225. <a href="../LLamaExecutors/text-to-text-apis/" class="md-nav__link">
  226. Text-to-Text APIs
  227. </a>
  228. </li>
  229. <li class="md-nav__item">
  230. <a href="../LLamaExecutors/save-load-state/" class="md-nav__link">
  231. Save/Load State
  232. </a>
  233. </li>
  234. <li class="md-nav__item">
  235. <a href="../LLamaExecutors/differences/" class="md-nav__link">
  236. Differences of Executors
  237. </a>
  238. </li>
  239. </ul>
  240. </nav>
  241. </li>
  242. <li class="md-nav__item md-nav__item--nested">
  243. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_8" >
  244. <label class="md-nav__link" for="__nav_8" id="__nav_8_label" tabindex="0">
  245. ChatSession
  246. <span class="md-nav__icon md-icon"></span>
  247. </label>
  248. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_8_label" aria-expanded="false">
  249. <label class="md-nav__title" for="__nav_8">
  250. <span class="md-nav__icon md-icon"></span>
  251. ChatSession
  252. </label>
  253. <ul class="md-nav__list" data-md-scrollfix>
  254. <li class="md-nav__item">
  255. <a href="../ChatSession/basic-usages/" class="md-nav__link">
  256. Basic Usages
  257. </a>
  258. </li>
  259. <li class="md-nav__item">
  260. <a href="../ChatSession/transforms/" class="md-nav__link">
  261. Transoforms
  262. </a>
  263. </li>
  264. <li class="md-nav__item">
  265. <a href="../ChatSession/save-load-session/" class="md-nav__link">
  266. Save/Load Session
  267. </a>
  268. </li>
  269. </ul>
  270. </nav>
  271. </li>
  272. <li class="md-nav__item md-nav__item--nested">
  273. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_9" >
  274. <label class="md-nav__link" for="__nav_9" id="__nav_9_label" tabindex="0">
  275. Non-English Usages
  276. <span class="md-nav__icon md-icon"></span>
  277. </label>
  278. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_9_label" aria-expanded="false">
  279. <label class="md-nav__title" for="__nav_9">
  280. <span class="md-nav__icon md-icon"></span>
  281. Non-English Usages
  282. </label>
  283. <ul class="md-nav__list" data-md-scrollfix>
  284. <li class="md-nav__item">
  285. <a href="../NonEnglishUsage/Chinese/" class="md-nav__link">
  286. Chinese
  287. </a>
  288. </li>
  289. </ul>
  290. </nav>
  291. </li>
  292. <li class="md-nav__item md-nav__item--nested">
  293. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_10" >
  294. <label class="md-nav__link" for="__nav_10" id="__nav_10_label" tabindex="0">
  295. High-level Applications
  296. <span class="md-nav__icon md-icon"></span>
  297. </label>
  298. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_10_label" aria-expanded="false">
  299. <label class="md-nav__title" for="__nav_10">
  300. <span class="md-nav__icon md-icon"></span>
  301. High-level Applications
  302. </label>
  303. <ul class="md-nav__list" data-md-scrollfix>
  304. <li class="md-nav__item">
  305. <a href="../HighLevelApps/bot-sharp/" class="md-nav__link">
  306. BotSharp
  307. </a>
  308. </li>
  309. </ul>
  310. </nav>
  311. </li>
  312. <li class="md-nav__item md-nav__item--nested">
  313. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_11" >
  314. <label class="md-nav__link" for="__nav_11" id="__nav_11_label" tabindex="0">
  315. More
  316. <span class="md-nav__icon md-icon"></span>
  317. </label>
  318. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_11_label" aria-expanded="false">
  319. <label class="md-nav__title" for="__nav_11">
  320. <span class="md-nav__icon md-icon"></span>
  321. More
  322. </label>
  323. <ul class="md-nav__list" data-md-scrollfix>
  324. <li class="md-nav__item">
  325. <a href="../More/log/" class="md-nav__link">
  326. Logger
  327. </a>
  328. </li>
  329. </ul>
  330. </nav>
  331. </li>
  332. <li class="md-nav__item md-nav__item--nested">
  333. <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_12" >
  334. <label class="md-nav__link" for="__nav_12" id="__nav_12_label" tabindex="0">
  335. API Reference
  336. <span class="md-nav__icon md-icon"></span>
  337. </label>
  338. <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_12_label" aria-expanded="false">
  339. <label class="md-nav__title" for="__nav_12">
  340. <span class="md-nav__icon md-icon"></span>
  341. API Reference
  342. </label>
  343. <ul class="md-nav__list" data-md-scrollfix>
  344. <li class="md-nav__item">
  345. <a href="../xmldocs/" class="md-nav__link">
  346. index
  347. </a>
  348. </li>
  349. <li class="md-nav__item">
  350. <a href="../xmldocs/llama.abstractions.ihistorytransform/" class="md-nav__link">
  351. llama.abstractions.ihistorytransform
  352. </a>
  353. </li>
  354. <li class="md-nav__item">
  355. <a href="../xmldocs/llama.abstractions.illamaexecutor/" class="md-nav__link">
  356. llama.abstractions.illamaexecutor
  357. </a>
  358. </li>
  359. <li class="md-nav__item">
  360. <a href="../xmldocs/llama.abstractions.itextstreamtransform/" class="md-nav__link">
  361. llama.abstractions.itextstreamtransform
  362. </a>
  363. </li>
  364. <li class="md-nav__item">
  365. <a href="../xmldocs/llama.abstractions.itexttransform/" class="md-nav__link">
  366. llama.abstractions.itexttransform
  367. </a>
  368. </li>
  369. <li class="md-nav__item">
  370. <a href="../xmldocs/llama.chatsession/" class="md-nav__link">
  371. llama.chatsession
  372. </a>
  373. </li>
  374. <li class="md-nav__item">
  375. <a href="../xmldocs/llama.common.authorrole/" class="md-nav__link">
  376. llama.common.authorrole
  377. </a>
  378. </li>
  379. <li class="md-nav__item">
  380. <a href="../xmldocs/llama.common.chathistory/" class="md-nav__link">
  381. llama.common.chathistory
  382. </a>
  383. </li>
  384. <li class="md-nav__item">
  385. <a href="../xmldocs/llama.common.fixedsizequeue-1/" class="md-nav__link">
  386. llama.common.fixedsizequeue-1
  387. </a>
  388. </li>
  389. <li class="md-nav__item">
  390. <a href="../xmldocs/llama.common.illamalogger/" class="md-nav__link">
  391. llama.common.illamalogger
  392. </a>
  393. </li>
  394. <li class="md-nav__item">
  395. <a href="../xmldocs/llama.common.inferenceparams/" class="md-nav__link">
  396. llama.common.inferenceparams
  397. </a>
  398. </li>
  399. <li class="md-nav__item">
  400. <a href="../xmldocs/llama.common.llamadefaultlogger/" class="md-nav__link">
  401. llama.common.llamadefaultlogger
  402. </a>
  403. </li>
  404. <li class="md-nav__item">
  405. <a href="../xmldocs/llama.common.mirostatetype/" class="md-nav__link">
  406. llama.common.mirostatetype
  407. </a>
  408. </li>
  409. <li class="md-nav__item">
  410. <a href="../xmldocs/llama.common.modelparams/" class="md-nav__link">
  411. llama.common.modelparams
  412. </a>
  413. </li>
  414. <li class="md-nav__item">
  415. <a href="../xmldocs/llama.exceptions.runtimeerror/" class="md-nav__link">
  416. llama.exceptions.runtimeerror
  417. </a>
  418. </li>
  419. <li class="md-nav__item">
  420. <a href="../xmldocs/llama.extensions.dictionaryextension/" class="md-nav__link">
  421. llama.extensions.dictionaryextension
  422. </a>
  423. </li>
  424. <li class="md-nav__item">
  425. <a href="../xmldocs/llama.instructexecutor/" class="md-nav__link">
  426. llama.instructexecutor
  427. </a>
  428. </li>
  429. <li class="md-nav__item">
  430. <a href="../xmldocs/llama.interactiveexecutor/" class="md-nav__link">
  431. llama.interactiveexecutor
  432. </a>
  433. </li>
  434. <li class="md-nav__item">
  435. <a href="../xmldocs/llama.llamaembedder/" class="md-nav__link">
  436. llama.llamaembedder
  437. </a>
  438. </li>
  439. <li class="md-nav__item">
  440. <a href="../xmldocs/llama.llamamodel/" class="md-nav__link">
  441. llama.llamamodel
  442. </a>
  443. </li>
  444. <li class="md-nav__item">
  445. <a href="../xmldocs/llama.llamaquantizer/" class="md-nav__link">
  446. llama.llamaquantizer
  447. </a>
  448. </li>
  449. <li class="md-nav__item">
  450. <a href="../xmldocs/llama.llamatransforms/" class="md-nav__link">
  451. llama.llamatransforms
  452. </a>
  453. </li>
  454. <li class="md-nav__item">
  455. <a href="../xmldocs/llama.native.llamacontextparams/" class="md-nav__link">
  456. llama.native.llamacontextparams
  457. </a>
  458. </li>
  459. <li class="md-nav__item">
  460. <a href="../xmldocs/llama.native.llamaftype/" class="md-nav__link">
  461. llama.native.llamaftype
  462. </a>
  463. </li>
  464. <li class="md-nav__item">
  465. <a href="../xmldocs/llama.native.llamatokendata/" class="md-nav__link">
  466. llama.native.llamatokendata
  467. </a>
  468. </li>
  469. <li class="md-nav__item">
  470. <a href="../xmldocs/llama.native.llamatokendataarray/" class="md-nav__link">
  471. llama.native.llamatokendataarray
  472. </a>
  473. </li>
  474. <li class="md-nav__item">
  475. <a href="../xmldocs/llama.native.llamatokendataarraynative/" class="md-nav__link">
  476. llama.native.llamatokendataarraynative
  477. </a>
  478. </li>
  479. <li class="md-nav__item">
  480. <a href="../xmldocs/llama.native.nativeapi/" class="md-nav__link">
  481. llama.native.nativeapi
  482. </a>
  483. </li>
  484. <li class="md-nav__item">
  485. <a href="../xmldocs/llama.native.safellamacontexthandle/" class="md-nav__link">
  486. llama.native.safellamacontexthandle
  487. </a>
  488. </li>
  489. <li class="md-nav__item">
  490. <a href="../xmldocs/llama.native.safellamahandlebase/" class="md-nav__link">
  491. llama.native.safellamahandlebase
  492. </a>
  493. </li>
  494. <li class="md-nav__item">
  495. <a href="../xmldocs/llama.oldversion.chatcompletion/" class="md-nav__link">
  496. llama.oldversion.chatcompletion
  497. </a>
  498. </li>
  499. <li class="md-nav__item">
  500. <a href="../xmldocs/llama.oldversion.chatcompletionchoice/" class="md-nav__link">
  501. llama.oldversion.chatcompletionchoice
  502. </a>
  503. </li>
  504. <li class="md-nav__item">
  505. <a href="../xmldocs/llama.oldversion.chatcompletionchunk/" class="md-nav__link">
  506. llama.oldversion.chatcompletionchunk
  507. </a>
  508. </li>
  509. <li class="md-nav__item">
  510. <a href="../xmldocs/llama.oldversion.chatcompletionchunkchoice/" class="md-nav__link">
  511. llama.oldversion.chatcompletionchunkchoice
  512. </a>
  513. </li>
  514. <li class="md-nav__item">
  515. <a href="../xmldocs/llama.oldversion.chatcompletionchunkdelta/" class="md-nav__link">
  516. llama.oldversion.chatcompletionchunkdelta
  517. </a>
  518. </li>
  519. <li class="md-nav__item">
  520. <a href="../xmldocs/llama.oldversion.chatcompletionmessage/" class="md-nav__link">
  521. llama.oldversion.chatcompletionmessage
  522. </a>
  523. </li>
  524. <li class="md-nav__item">
  525. <a href="../xmldocs/llama.oldversion.chatmessagerecord/" class="md-nav__link">
  526. llama.oldversion.chatmessagerecord
  527. </a>
  528. </li>
  529. <li class="md-nav__item">
  530. <a href="../xmldocs/llama.oldversion.chatrole/" class="md-nav__link">
  531. llama.oldversion.chatrole
  532. </a>
  533. </li>
  534. <li class="md-nav__item">
  535. <a href="../xmldocs/llama.oldversion.chatsession-1/" class="md-nav__link">
  536. llama.oldversion.chatsession-1
  537. </a>
  538. </li>
  539. <li class="md-nav__item">
  540. <a href="../xmldocs/llama.oldversion.completion/" class="md-nav__link">
  541. llama.oldversion.completion
  542. </a>
  543. </li>
  544. <li class="md-nav__item">
  545. <a href="../xmldocs/llama.oldversion.completionchoice/" class="md-nav__link">
  546. llama.oldversion.completionchoice
  547. </a>
  548. </li>
  549. <li class="md-nav__item">
  550. <a href="../xmldocs/llama.oldversion.completionchunk/" class="md-nav__link">
  551. llama.oldversion.completionchunk
  552. </a>
  553. </li>
  554. <li class="md-nav__item">
  555. <a href="../xmldocs/llama.oldversion.completionlogprobs/" class="md-nav__link">
  556. llama.oldversion.completionlogprobs
  557. </a>
  558. </li>
  559. <li class="md-nav__item">
  560. <a href="../xmldocs/llama.oldversion.completionusage/" class="md-nav__link">
  561. llama.oldversion.completionusage
  562. </a>
  563. </li>
  564. <li class="md-nav__item">
  565. <a href="../xmldocs/llama.oldversion.embedding/" class="md-nav__link">
  566. llama.oldversion.embedding
  567. </a>
  568. </li>
  569. <li class="md-nav__item">
  570. <a href="../xmldocs/llama.oldversion.embeddingdata/" class="md-nav__link">
  571. llama.oldversion.embeddingdata
  572. </a>
  573. </li>
  574. <li class="md-nav__item">
  575. <a href="../xmldocs/llama.oldversion.embeddingusage/" class="md-nav__link">
  576. llama.oldversion.embeddingusage
  577. </a>
  578. </li>
  579. <li class="md-nav__item">
  580. <a href="../xmldocs/llama.oldversion.ichatmodel/" class="md-nav__link">
  581. llama.oldversion.ichatmodel
  582. </a>
  583. </li>
  584. <li class="md-nav__item">
  585. <a href="../xmldocs/llama.oldversion.llamaembedder/" class="md-nav__link">
  586. llama.oldversion.llamaembedder
  587. </a>
  588. </li>
  589. <li class="md-nav__item">
  590. <a href="../xmldocs/llama.oldversion.llamamodel/" class="md-nav__link">
  591. llama.oldversion.llamamodel
  592. </a>
  593. </li>
  594. <li class="md-nav__item">
  595. <a href="../xmldocs/llama.oldversion.llamaparams/" class="md-nav__link">
  596. llama.oldversion.llamaparams
  597. </a>
  598. </li>
  599. <li class="md-nav__item">
  600. <a href="../xmldocs/llama.resettablellamamodel/" class="md-nav__link">
  601. llama.resettablellamamodel
  602. </a>
  603. </li>
  604. <li class="md-nav__item">
  605. <a href="../xmldocs/llama.statefulexecutorbase/" class="md-nav__link">
  606. llama.statefulexecutorbase
  607. </a>
  608. </li>
  609. <li class="md-nav__item">
  610. <a href="../xmldocs/llama.statelessexecutor/" class="md-nav__link">
  611. llama.statelessexecutor
  612. </a>
  613. </li>
  614. </ul>
  615. </nav>
  616. </li>
  617. </ul>
  618. </nav>
  619. </div>
  620. </div>
  621. </div>
  622. <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
  623. <div class="md-sidebar__scrollwrap">
  624. <div class="md-sidebar__inner">
  625. <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
  626. <label class="md-nav__title" for="__toc">
  627. <span class="md-nav__icon md-icon"></span>
  628. Table of contents
  629. </label>
  630. <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
  631. <li class="md-nav__item">
  632. <a href="#compile-the-native-library-from-source" class="md-nav__link">
  633. Compile the native library from source
  634. </a>
  635. </li>
  636. <li class="md-nav__item">
  637. <a href="#add-a-new-feature-to-llamasharp" class="md-nav__link">
  638. Add a new feature to LLamaSharp
  639. </a>
  640. </li>
  641. <li class="md-nav__item">
  642. <a href="#find-the-problem-and-fix-the-bug" class="md-nav__link">
  643. Find the problem and fix the BUG
  644. </a>
  645. </li>
  646. <li class="md-nav__item">
  647. <a href="#add-integrations" class="md-nav__link">
  648. Add integrations
  649. </a>
  650. </li>
  651. <li class="md-nav__item">
  652. <a href="#add-examples" class="md-nav__link">
  653. Add examples
  654. </a>
  655. </li>
  656. <li class="md-nav__item">
  657. <a href="#add-documents" class="md-nav__link">
  658. Add documents
  659. </a>
  660. </li>
  661. </ul>
  662. </nav>
  663. </div>
  664. </div>
  665. </div>
  666. <div class="md-content" data-md-component="content">
  667. <article class="md-content__inner md-typeset">
  668. <h1 id="llamasharp-contributing-guide">LLamaSharp Contributing Guide</h1>
  669. <p>Hi, welcome to develop LLamaSharp with us together! We are always open for every contributor and any format of contributions! If you want to maintain this library actively together, please contact us to get the write access after some PRs. (Email: AsakusaRinne@gmail.com)</p>
  670. <p>In this page, we'd like to introduce how to make contributions here easily. 😊</p>
  671. <h2 id="compile-the-native-library-from-source">Compile the native library from source</h2>
  672. <p>Firstly, please clone the <a href="https://github.com/ggerganov/llama.cpp">llama.cpp</a> repository and following the instructions in <a href="https://github.com/ggerganov/llama.cpp#build">llama.cpp readme</a> to configure your local environment.</p>
  673. <p>If you want to support cublas in the compilation, please make sure that you've installed the cuda.</p>
  674. <p>When building from source, please add <code>-DBUILD_SHARED_LIBS=ON</code> to the cmake instruction. For example, when building with cublas but without openblas, use the following instruction:</p>
  675. <pre><code class="language-bash">cmake .. -DLLAMA_CUBLAS=ON -DBUILD_SHARED_LIBS=ON
  676. </code></pre>
  677. <p>After running <code>cmake --build . --config Release</code>, you could find the <code>llama.dll</code>, <code>llama.so</code> or <code>llama.dylib</code> in your build directory. After pasting it to <code>LLamaSharp/LLama/runtimes</code> and renaming it to <code>libllama.dll</code>, <code>libllama.so</code> or <code>libllama.dylib</code>, you can use it as the native library in LLamaSharp.</p>
  678. <h2 id="add-a-new-feature-to-llamasharp">Add a new feature to LLamaSharp</h2>
  679. <p>After refactoring the framework in <code>v0.4.0</code>, LLamaSharp will try to maintain the backward compatibility. However, in the following cases, break change is okay:</p>
  680. <ol>
  681. <li>Due to some break changes in <a href="https://github.com/ggerganov/llama.cpp">llama.cpp</a>, making a break change will help to maintain the good abstraction and friendly user APIs.</li>
  682. <li>A very improtant feature cannot be implemented unless refactoring some parts.</li>
  683. <li>After some discussions, an agreement was reached that making the break change is reasonable.</li>
  684. </ol>
  685. <p>If a new feature could be added without introducing any break change, please <strong>open a PR</strong> rather than open an issue first. We will never refuse the PR but help to improve it, unless it's malicious.</p>
  686. <p>When adding the feature, please take care of the namespace and the naming convention. For example, if you are adding an integration for WPF, please put the code under namespace <code>LLama.WPF</code> or <code>LLama.Integration.WPF</code> instead of putting it under the root namespace. The naming convention of LLamaSharp follows the pascal naming convention, but in some parts that are invisible to users, you can do whatever you want.</p>
  687. <h2 id="find-the-problem-and-fix-the-bug">Find the problem and fix the BUG</h2>
  688. <p>If the issue is related to the LLM internal behaviors, such as endless generating the response, the best way to find the problem is to do comparison test between llama.cpp and LLamaSharp.</p>
  689. <p>You could use exactly the same prompt, the same model and the same parameters to run the inference in llama.cpp and LLamaSharp respectively to see if it's really a problem caused by the implementation in LLamaSharp.</p>
  690. <p>If the experiment showed that it worked well in llama.cpp but didn't in LLamaSharp, a the search for the problem could be started. While the reason of the problem could be various, the best way I think is to add log-print in the code of llama.cpp and use it in LLamaSharp after compilation. Thus, when running LLamaSharp, you could see what happened in the native library.</p>
  691. <p>After finding out the reason, a painful but happy process comes. When working on the BUG fix, there's only one rule to follow, that is keeping the examples working well. If the modification fixed the BUG but impact on other functions, it would not be a good fix.</p>
  692. <p>During the BUG fix process, please don't hesitate to discuss together when you stuck on something.</p>
  693. <h2 id="add-integrations">Add integrations</h2>
  694. <p>All kinds of integration are welcomed here! Currently the following integrations are under work or on our schedule:</p>
  695. <ol>
  696. <li>BotSharp</li>
  697. <li>semantic-kernel</li>
  698. <li>Unity</li>
  699. </ol>
  700. <p>Besides, for some other integrations, like <code>ASP.NET core</code>, <code>SQL</code>, <code>Blazor</code> and so on, we'll appreciate it if you could help with that. If the time is limited for you, providing an example for it also means a lot!</p>
  701. <h2 id="add-examples">Add examples</h2>
  702. <p>There're mainly two ways to add an example:</p>
  703. <ol>
  704. <li>Add the example to <code>LLama.Examples</code> of the repository.</li>
  705. <li>Put the example in another repositpry and add the link to the readme or docs of LLamaSharp.</li>
  706. </ol>
  707. <h2 id="add-documents">Add documents</h2>
  708. <p>LLamaSharp uses <a href="https://github.com/mkdocs/mkdocs">mkdocs</a> to build the documantation, please follow the tutorial of mkdocs to add or modify documents in LLamaSharp.</p>
  709. </article>
  710. </div>
  711. </div>
  712. </main>
  713. <footer class="md-footer">
  714. <div class="md-footer-meta md-typeset">
  715. <div class="md-footer-meta__inner md-grid">
  716. <div class="md-copyright">
  717. Made with
  718. <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
  719. Material for MkDocs
  720. </a>
  721. </div>
  722. </div>
  723. </div>
  724. </footer>
  725. </div>
  726. <div class="md-dialog" data-md-component="dialog">
  727. <div class="md-dialog__inner md-typeset"></div>
  728. </div>
  729. <script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.208ed371.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>
  730. <script src="../assets/javascripts/bundle.a51614de.min.js"></script>
  731. </body>
  732. </html>

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