您的位置:首页 > 游戏 > 游戏 > 淘宝上新推荐_看电视剧的免费网站大全_山东公司网站推广优化_迅雷bt磁力链 最好用的搜索引擎

淘宝上新推荐_看电视剧的免费网站大全_山东公司网站推广优化_迅雷bt磁力链 最好用的搜索引擎

2025/2/21 4:51:46 来源:https://blog.csdn.net/mygodalien/article/details/145622099  浏览:    关键词:淘宝上新推荐_看电视剧的免费网站大全_山东公司网站推广优化_迅雷bt磁力链 最好用的搜索引擎
淘宝上新推荐_看电视剧的免费网站大全_山东公司网站推广优化_迅雷bt磁力链 最好用的搜索引擎

参考链接

在Windows 7操作系统,基于llama.cpp本地化部署 deepseek-r1模型的方法 2025-02-08
2G内存Windows7运行deepseek-r1:1.5b
这两个链接写的可能不够详细,有同学私信问实现过程,这里进一步解释一下。

一、准备

需要准备的大模型、工具等文件,已放到网盘,可自取。
网盘的 figures目录是配置过程中的一些截图,可参考。
百度网盘:https://pan.baidu.com/s/1NShm6Qi9bDgl6jI-IsEr1A?pwd=6es1
迅雷网盘:https://pan.xunlei.com/s/VOIfPUb8lCS71jAjBEnXmRg9A1?pwd=nze7#

模型文件

  • 找几个GGUF文件。
    • 本案例从ollama获得GGUF文件,这些文件默认存储在 %USERPROFILE%\.ollama\models\blobs,文件名形如sha256-*,文件名及模型对应关系见下表,相关文件见网盘 models 目录
    • 也可以去魔搭社区等网站下载
名称ollama ID大小GBblobs
deepseek-r1:1.5ba42b25d8c10a1.04sha256-aabd4debf0c8f08881923f2c25fc0fdeed24435271c2b3e92c4af36704040dbc
deepseek-r1:8b28f8fd6cdc674.58sha256-6340dc3229b0d08ea9cc49b75d4098702983e17b4c096d57afbbf2ffc813f2be
deepseek-r1:14bea35dfe181828.37sha256-6e9f90f02bb3b39b59e81916e8cfce9deb45aeaeb9a54a5be4414486b907dc1e
deepseek-r1:32b38056bbcbb2d18.4sha256-6150cb382311b69f09cc0f9a1b69fc029cbd742b66bb8ec531aa5ecf5c613e93
deepseek-r1:70b0c1615a8ca3239.5sha256-4cd576d9aa16961244012223abf01445567b061f1814b57dfef699e4cf8df339
qwen2.5-coder:7b2b04965143374.36sha256-60e05f2100071479f596b964f89f510f057ce397ea22f2833a0cfe029bfc2463

源代码

下载llama.cpp源代码即可,无需下载GIT代码仓库

  • 如果能访问Github,就从 https://github.com/ggerganov/llama.cpp 下载

  • 如果Github抽风,可以去镜像站,国内一些大站也有 llama.cpp 的实时镜像

  • 本例git clonellama.cpp源码库,并压缩为 llama.cpp.git.7z,见网盘 source 目录

开发工具

见网盘 dev-tools目录

  • w64devkit-x64-2.0.0.exe,从 https://github.com/skeeto/w64devkit 或镜像站下载
  • cmake-3.31.5-windows-x86_64.msiC,从 https://cmake.org/download/ 下载
  • Git-2.45.2-64-bit.exe,从 https://git-scm.com/downloads/win 下载

二、编译

  • 打开Windows7操作系统。建议用干净的操作系统,没有安装乱七八糟的各种软件。
  • 解压 llama.cpp.git.7z 到英文目录,例如 C:\dev_demo\llama.cpp,解压后,删除其中的 .git 目录。注意,如果后续操作失败,需要删除 C:\dev_demo\llama.cpp目录,重建执行本步骤
  • 安装 w64devkit(只需解压,例如 C:\dev_demo\w64devkit), cmake(默认设置安装), GIt(默认设置安装), 火狐浏览器(也可用其他Chrome类浏览器,IE不行)。
  • 按下面代码示例,修改 C:\dev_demo\llama.cpp\examples\server\httplib.h, 第3012到3057行,也就是把 if else 注释掉,只保留 else 部分的代码。
    • 注1:Win7不支持 CreateFile2,支持 CreateFileW
    • 注2:Win7不支持 CreateFileMappingFromApp,支持 CreateFileMappingW
    • 注3:Win7不支持 MapViewOfFileFromApp,支持 MapViewOfFile
    • 注4:可以搜索 CreateFile2 快速定位代码修改位置
// #if _WIN32_WINNT >= _WIN32_WINNT_WIN8
//  hFile_ = ::CreateFile2(wpath.c_str(), GENERIC_READ, FILE_SHARE_READ,
//                         OPEN_EXISTING, NULL);
// #elsehFile_ = ::CreateFileW(wpath.c_str(), GENERIC_READ, FILE_SHARE_READ, NULL,OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
// #endifif (hFile_ == INVALID_HANDLE_VALUE) { return false; }LARGE_INTEGER size{};if (!::GetFileSizeEx(hFile_, &size)) { return false; }// If the following line doesn't compile due to QuadPart, update Windows SDK.// See:// https://github.com/yhirose/cpp-httplib/issues/1903#issuecomment-2316520721if (static_cast<ULONGLONG>(size.QuadPart) >(std::numeric_limits<decltype(size_)>::max)()) {// `size_t` might be 32-bits, on 32-bits Windows.return false;}size_ = static_cast<size_t>(size.QuadPart);// #if _WIN32_WINNT >= _WIN32_WINNT_WIN8
//   hMapping_ =// ::CreateFileMappingFromApp(hFile_, NULL, PAGE_READONLY, size_, NULL);
// #elsehMapping_ = ::CreateFileMappingW(hFile_, NULL, PAGE_READONLY, 0, 0, NULL);
// #endif// Special treatment for an empty file...if (hMapping_ == NULL && size_ == 0) {close();is_open_empty_file = true;return true;}if (hMapping_ == NULL) {close();return false;}// #if _WIN32_WINNT >= _WIN32_WINNT_WIN8// addr_ = ::MapViewOfFileFromApp(hMapping_, FILE_MAP_READ, 0, 0);
// #elseaddr_ = ::MapViewOfFile(hMapping_, FILE_MAP_READ, 0, 0, 0);
// #endif
  • 找到刚才解压的 w64devket.exe,例如C:\dev_demo\w64devkit\w64devkit.exe,并双击运行,弹出个黑色窗口。
    • 在其中输入 cd c:/dev_demo/llama.cpp 进入 llama.cpp所在的目录。注意,路径分隔符是 /。
    • 输入命令 cmake . -G "MinGW Makefiles"。正常不应报错,如果出错,可尝试在一台干净的 Window7 重试。
    • 然后输入命令 cmake --build . --config Release,等待编译完成。编译过程中有几个警告,但不应该有错误。编译完成后的程序在 /bin 目录,本例为c:\dev_demo\llama.cpp\bin

三、运行大模型服务

  • 找到编译出来的llama-server.exe,本例在 c:\dev_demo\llama.cpp\bin\llama-server.exe
  • 选择要运行的大模型GGUF文件,本例选 deepseek-r1:1.5b,文件名为 sha256-aabd4debf0c8f08881923f2c25fc0fdeed24435271c2b3e92c4af36704040dbc,本例放到 c:\dev_demo\sha256-aabd4debf0c8f08881923f2c25fc0fdeed24435271c2b3e92c4af36704040dbc。注意,文件名可自由命名,例如 c:\dev_demo\deepseek-r1_1.5b.gguf,本例未重命名。
  • c:\dev_demo\llama.cpp\bin 目录下打开CMD终端,输入 llama-server --model sha256-aabd4debf0c8f08881923f2c25fc0fdeed24435271c2b3e92c4af36704040dbc,等待出现 server is listening on http://127.0.0.1:8080提示。如果内存不足,模型载入过程可能会出错,本例1.5b模型占用内寸不到 2GB。
  • 在火狐浏览器或Chrome类浏览器,地址栏输入 http://127.0.0.1:8080,即可开始对话。注意,第一次对话反应略慢。

补充信息

  • 如果需要共享给其他人用,可以在命令中增加 --host HOST, --port PORT 参数,例如 llama-server --model sha256-aabd4debf0c8f08881923f2c25fc0fdeed24435271c2b3e92c4af36704040dbc --host 0.0.0.0 --port 11434,端口可自选。
  • llama.cpp 支持对话与API调用,更多用法,见 /llama.cpp/examples/server/README.md

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com