赞
踩
LLamaSharp
和LLamaSharp.Backend.Cpu
没有的话参考这篇文章https://blog.csdn.net/qq_36437991/article/details/137248622
using LLama; using LLama.Common; using LLama.Native; namespace llamasharpstu01; class Program { static async Task Main(string[] args) { //模型量化 // string srcPath = "<model.bin>"; // string dstPath = "<model_q4_0.bin>"; // // LLamaQuantizer.Quantize(srcPath, dstPath, "q4_0"); // LLamaQuantizer.Quantize(srcPath, dstPath, LLamaFtype.LLAMA_FTYPE_MOSTLY_Q4_0); //将其更改为您自己的模型路径。 string modelPath = @"G:\Cpp\qwenchattest10.5b-q5_k_m.gguf"; //modelPath = @"G:\Cpp\qwenctest10.5b.gguf"; modelPath = @"G:\Cpp\qwenchat0.5b-q4_0.gguf"; var parameters = new ModelParams(modelPath) { //最长的聊天时间作为记忆。 ContextSize = 1024, //要卸载到GPU的层数。请根据您的GPU内存进行调整。 GpuLayerCount = 5, Encoding = Encoding.UTF8 }; using var model = LLamaWeights.LoadFromFile(parameters); using var context = model.CreateContext(parameters); var executor = new InteractiveExecutor(context); //添加聊天记录作为提示,告诉AI如何行动。 var chatHistory = new ChatHistory(); // chatHistory.AddMessage(AuthorRole.System, "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's requests immediately and with precision."); // chatHistory.AddMessage(AuthorRole.User, "Hello, Bob."); // chatHistory.AddMessage(AuthorRole.Assistant, "Hello. How may I help you today?"); ChatSession session = new(executor, chatHistory); InferenceParams inferenceParams = new InferenceParams() { //答案中出现的token不应超过256个。-1表示无限制 MaxTokens = 256, AntiPrompts = new List<string> { "User:" } }; Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("The chat session has started.\nUser: "); Console.ForegroundColor = ConsoleColor.Green; string userInput = Console.ReadLine() ?? ""; while (userInput != "exit") { await foreach (var text in session.ChatAsync(new ChatHistory.Message(AuthorRole.User, userInput), inferenceParams)) { Console.ForegroundColor = ConsoleColor.White; Console.Write(text); } Console.WriteLine(""); Console.ForegroundColor = ConsoleColor.Green; userInput = Console.ReadLine() ?? ""; } } }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。