LLamaSharp 是一个跨平台库,可以在本地设备上运行 🦙LLaMA/LLaVA 模型(及其他模型)。基于 llama.cpp,LLamaSharp 在 CPU 和 GPU 上的推理效率都很高。借助更高级的 API 和 RAG 支持,使用 LLamaSharp 在应用程序中部署 LLMs(大型语言模型)变得非常方便。
请为该项目打星以示支持!🤗
📖文档
📌控制台演示
LLaMA | LLaVA |
🔗集成与示例
以下是针对一些库的集成,使开发应用程序变得更容易。对 semantic-kernel 和 kernel-memory 的集成在 LLamaSharp 仓库中开发,其他集成则在它们各自的仓库中开发。
- semantic-kernel: 一个 SDK,可以集成 LLMs,如 OpenAI、Azure OpenAI 和 Hugging Face。
- kernel-memory: 一个多模态 AI 服务,专注于通过定制的连续数据混合管道来高效索引数据集,并支持 RAG(检索增强生成)、合成记忆、提示工程和自定义语义记忆处理。
- BotSharp: 一个用于 AI 机器人平台构建的开源机器学习框架。
- Langchain: 一个开发基于语言模型的应用程序的框架。
以下示例展示了如何使用 LLamaSharp 构建应用程序。
- 官方控制台示例
- Unity 演示
- LLamaStack(包含 WPF 和 Web 演示)
- Blazor 演示(包含模型探索器)
- ASP.NET 演示
- LLamaWorker(支持 OAI 和功能调用的 ASP.NET Web API)
🚀快速入门
安装
为了获得高性能,LLamaSharp 与从 c++ 编译的本机库交互,这些称为 backends
。我们为 Windows、Linux 和 Mac 提供了 CPU、CUDA、Metal 和 OpenCL 的后端包。您不需要编译任何 c++,只需安装后端包即可。
如果没有发布的后端与您的设备匹配,请打开一个 issue 告诉我们。如果您能轻松编译 c++ 代码,您也可以按照本指南编译后端并运行 LLamaSharp。
- 在 NuGet 上安装 LLamaSharp 包:
加入[QQ群](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=sN9VVMwbWjs5L0ATpizKKxOcZdEPMrp8&authKey=RLDw41bLTrEyEgZZi%2FzT4pYk%2BwmEFgFcrhs8ZbkiVY7a4JFckzJefaYNW6Lk4yPX&noverify=0&group_code=985366726)
## Star历史
[![Star历史图](https://yellow-cdn.veclightyear.com/2b54e442/9571e3cf-88d1-4cff-a1d5-615137ce015b.png)](https://star-history.com/#SciSharp/LLamaSharp&Date)
## 贡献者名人墙
[![LLamaSharp贡献者](https://yellow-cdn.veclightyear.com/2b54e442/1394720c-1253-43a1-a834-66404807a44e.png)](https://github.com/SciSharp/LLamaSharp/graphs/contributors)
## LLamaSharp和llama.cpp版本对照表
如果你想自己编译llama.cpp,你**必须**使用为每个版本列出的确切提交ID。
| LLamaSharp | 已验证的模型资源 | llama.cpp提交ID |
| - | -- | - |
| v0.2.0 | 不推荐使用此版本。 | - |
| v0.2.1 | [WizardLM](https://huggingface.co/TheBloke/wizardLM-7B-GGML/tree/previous_llama), [Vicuna (文件名带有"old")](https://huggingface.co/eachadea/ggml-vicuna-13b-1.1/tree/main) | - |
| v0.2.2, v0.2.3 | [WizardLM](https://huggingface.co/TheBloke/wizardLM-7B-GGML/tree/previous_llama_ggmlv2), [Vicuna (文件名不带"old")](https://huggingface.co/eachadea/ggml-vicuna-13b-1.1/tree/main) | `63d2046` |
| v0.3.0, v0.4.0 | [LLamaSharpSamples v0.3.0](https://huggingface.co/AsakusaRinne/LLamaSharpSamples/tree/v0.3.0), [WizardLM](https://huggingface.co/TheBloke/wizardLM-7B-GGML/tree/main) | `7e4ea5b` |
| v0.4.1-preview | [Open llama 3b](https://huggingface.co/SlyEcho/open_llama_3b_ggml), [Open Buddy](https://huggingface.co/OpenBuddy/openbuddy-llama-ggml)| `aacdbd4` |
|v0.4.2-preview | [Llama2 7B (GGML)](https://huggingface.co/TheBloke/llama-2-7B-Guanaco-QLoRA-GGML)| `3323112` |
| v0.5.1 | [Llama2 7B (GGUF)](https://huggingface.co/TheBloke/llama-2-7B-Guanaco-QLoRA-GGUF)| `6b73ef1` |
| v0.6.0 | | [`cb33f43`](https://github.com/ggerganov/llama.cpp/commit/cb33f43a2a9f5a5a5f8d290dd97c625d9ba97a2f) |
| v0.7.0, v0.8.0 | [Thespis-13B](https://huggingface.co/TheBloke/Thespis-13B-v0.5-GGUF/tree/main?not-for-all-audiences=true), [LLaMA2-7B](https://huggingface.co/TheBloke/llama-2-7B-Guanaco-QLoRA-GGUF) | [`207b519`](https://github.com/ggerganov/llama.cpp/commit/207b51900e15cc7f89763a3bb1c565fe11cbb45d) |
| v0.8.1 | | [`e937066`](https://github.com/ggerganov/llama.cpp/commit/e937066420b79a757bf80e9836eb12b88420a218) |
| v0.9.0, v0.9.1 | [Mixtral-8x7B](https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF) | [`9fb13f9`](https://github.com/ggerganov/llama.cpp/blob/9fb13f95840c722ad419f390dc8a9c86080a3700) |
| v0.10.0 | [Phi2](https://huggingface.co/TheBloke/phi-2-GGUF) | [`d71ac90`](https://github.com/ggerganov/llama.cpp/tree/d71ac90985854b0905e1abba778e407e17f9f887) |
| v0.11.1, v0.11.2 | [LLaVA-v1.5](https://hf-mirror.com/jartine/llava-v1.5-7B-GGUF/blob/main/llava-v1.5-7b-mmproj-Q4_0.gguf), [Phi2](https://huggingface.co/TheBloke/phi-2-GGUF)| [`3ab8b3a`](https://github.com/ggerganov/llama.cpp/tree/3ab8b3a92ede46df88bc5a2dfca3777de4a2b2b6) |
| v0.12.0 | LLama3 | [`a743d76`](https://github.com/ggerganov/llama.cpp/tree/a743d76a01f23038b2c85af1e9048ee836767b44) |
| v0.13.0 | | [`1debe72`](https://github.com/ggerganov/llama.cpp/tree/1debe72737ea131cb52975da3d53ed3a835df3a6) |
| v0.14.0 | Gemma2 | [`368645698ab648e390dcd7c00a2bf60efa654f57`](https://github.com/ggerganov/llama.cpp/tree/368645698ab648e390dcd7c00a2bf60efa654f57) |
| v0.15.0 | LLama3.1 | [`345c8c0c87a97c1595f9c8b14833d531c8c7d8df`](https://github.com/ggerganov/llama.cpp/tree/345c8c0c87a97c1595f9c8b14833d531c8c7d8df) |
## 许可协议
此项目遵循MIT许可证条款。