C#开源项目:私有化部署LLama推理大模型

推荐一个C#大模型推理开源项目,让你轻松驾驭私有化部署!

01 项目简介

LLama是Meta发布的一个免费开源的大模型,是一个有着上百亿数量级参数的大语言模型,支持CPU和GPU两种方式。

而LLamaSharp就是针对llama.cpp封装的C#版本,让方便我们基于C#开发应用,让我们不需要自己编译llama.cpp。它的性能接近llama.cpp,支持Windows、Linux和MAC。

02 项目结构

该项目提供了多种Web、WebAPI、控制台等多个Demo版本。

03 使用方法

1、安装依赖

复制代码
Install-Package LLamaSharp

2、演示源码

复制代码
using LLama.Common;
using LLama;

string modelPath = "..\\LLama.Unittest\\Models\\llama-2-7b-chat.Q4_0.gguf"; 
var prompt = " I want a C # function to do binary search of an array , please show me the code."; //提示词

// 加载模型
var parameters = new ModelParams(modelPath)
{
    ContextSize = 1024,
    Seed = 1337,
    GpuLayerCount = 5
};
using var model = LLamaWeights.LoadFromFile(parameters);

// 初始化聊天会话
using var context = model.CreateContext(parameters);
var ex = new InteractiveExecutor(context);
ChatSession session = new ChatSession(ex);

// 显示提示
Console.WriteLine();
Console.Write(prompt);

// 循环运行推理以与LLM聊天
while (prompt != "stop")
{
    foreach (var text in session.Chat(prompt, new InferenceParams() { Temperature = 0.6f, AntiPrompts = new List<string> { "User:" } }))
    {
        Console.Write(text);
    }
    prompt = Console.ReadLine();
}

// 保存会话
session.SaveSession("SavedSessionPath");

3、效果

04 项目地址

https://github.com/SciSharp/LLamaSharp

更多开源项目: https://github.com/bianchenglequ/NetCodeTop

  • End -

推荐阅读

Helix Toolkit:为.NET开发者带来的3D视觉盛宴

10个基于.Net开发的Windows开源软件项目

毁掉一个程序员的6个方法

推荐10个.Net通用权限管理开源项目

基于.NET的强大文件格式开源转换工具

相关推荐
wjs20242 小时前
状态模式(State Pattern)
开发语言
我命由我123452 小时前
Kotlin 数据容器 - List(List 概述、创建 List、List 核心特性、List 元素访问、List 遍历)
java·开发语言·jvm·windows·java-ee·kotlin·list
liulilittle2 小时前
C++ TAP(基于任务的异步编程模式)
服务器·开发语言·网络·c++·分布式·任务·tap
励志要当大牛的小白菜4 小时前
ART配对软件使用
开发语言·c++·qt·算法
武子康4 小时前
Java-80 深入浅出 RPC Dubbo 动态服务降级:从雪崩防护到配置中心秒级生效
java·分布式·后端·spring·微服务·rpc·dubbo
舒一笑5 小时前
我的开源项目-PandaCoder迎来史诗级大更新啦
后端·程序员·intellij idea
唐青枫5 小时前
C#.NET dapper 详解
c#·.net
@昵称不存在6 小时前
Flask input 和datalist结合
后端·python·flask
爱装代码的小瓶子6 小时前
数据结构之队列(C语言)
c语言·开发语言·数据结构
zhuyasen6 小时前
Go 分布式任务和定时任务太难?sasynq 让异步任务从未如此简单
后端·go