AI封的 llama.cpp
本帖最后由 小涛涛 于 2026-9-20 12:26 编辑我不懂封装,全是AI跑的半成品 ,跑了3天,重复跑了5次才把加载模型和聊天跑通,也不知道封得怎么样 前来询问一下各位大佬,这样行吗 还要注意什么?
https://pan.quark.cn/s/e0c61b9a7155
<火山程序 类型 = "通常" 版本 = 1 />
包 火山.程序
类 llama引擎类 <公开 基础类 = 对象类 注释 = "llama.cpp 内置推理引擎封装(基于ggml官方C API)"
@文档 = "category = \"AI推理\", author = \"vol_llama\", version = \"1.1.1\""
@视窗.外部头文件 = "include/llama.h\ninclude/vol_llama_wrapper.h"
@视窗.外部库 = "llama.lib\nggml.lib\nggml-base.lib\nggml-cpu.lib\nggml-cuda.lib" @视窗.头文件搜寻目录 = "include" @视窗.库文件搜寻目录 = "lib"
@视窗.附属文件 = "lib\\cublas64_13.dll\nlib\\cublasLt64_13.dll\nlib\\cudart64_13.dll\nlib\\ggml.dll\nlib\\ggml-base.dll\nlib\\ggml-cpu.dll\nlib\\ggml-cuda.dll\nlib\\llama.dll">
{
方法 初始化后端 <公开 类型 = 逻辑型 注释 = "加载ggml全部后端(CPU/CUDA/Vulkan等),启动后调用一次" @禁止流程检查 = 真>
{
@ return LLW_DefaultEngine()->InitBackend();
}
方法 加载模型 <公开 类型 = 逻辑型 注释 = "加载GGUF模型;GPU层数999=全部进显存,0=纯CPU" @禁止流程检查 = 真>
参数 模型路径 <类型 = 文本型>
参数 GPU层数 <类型 = 整数 注释 = "GPU层数999=全部进显存,0=纯CPU" @默认值 = 999>
参数 上下文长度 <类型 = 整数 @默认值 = 4096>
参数 线程数 <类型 = 整数 注释 = "0=使用默认" @默认值 = 0>
{
@ return LLW_DefaultEngine()->LoadModel(@<模型路径>.GetText(), @<GPU层数>, @<上下文长度>, @<线程数>);
}
方法 卸载模型 <公开 注释 = "释放sampler/上下文/模型" @禁止流程检查 = 真>
{
@ LLW_DefaultEngine()->UnloadModel();
}
方法 是否已加载 <公开 类型 = 逻辑型 注释 = "模型与上下文是否就绪" @禁止流程检查 = 真>
{
@ return LLW_DefaultEngine()->IsModelLoaded();
}
方法 生成 <公开 类型 = 文本型 注释 = "同步生成完整回复;会阻塞UI线程,正式版请放后台线程" @禁止流程检查 = 真>
参数 提问内容 <类型 = 文本型>
参数 最大Token数 <类型 = 整数>
参数 温度 <类型 = 小数>
参数 最小P <类型 = 小数>
参数 随机种子 <类型 = 整数 注释 = "-1=默认随机种子">
{
@ return @an<CVolString>(LLW_DefaultEngine()->Generate(@<提问内容>.GetText(), @<最大Token数>, (float)@<温度>, (float)@<最小P>, @<随机种子>));
}
方法 取上下文长度 <公开 类型 = 整数 注释 = "返回当前上下文容量" @禁止流程检查 = 真>
{
@ return LLW_DefaultEngine()->GetContextSize();
}
方法 取最后错误 <公开 类型 = 文本型 注释 = "取最近一次失败的错误描述" @禁止流程检查 = 真>
{
@ return @an<CVolString>(LLW_DefaultEngine()->GetLastError());
}
方法 清除错误 <公开 注释 = "清空内部错误状态" @禁止流程检查 = 真>
{
@ LLW_DefaultEngine()->ClearError();
}
}
牛 感谢分享!:handshake
页:
[1]