Ollama开发指南

前奏:Ollama是什么,为什么这么好用

安装必备工具

  确保已安装以下软件的正确版本:

  CMake 3.24 或更高版本

  Go 1.22 或更高版本

  GCC 11.4.0 或更高版本

使用 Homebrew 安装这些工具(适用于macOS和Linux):

复制代码
brew install go cmake gcc

可选:启用调试与详细日志

  构建时开启调试信息:

复制代码
export CGO_CFLAGS="-g"

  运行时开启更多日志输出:

复制代码
export OLLAMA_DEBUG=1

获取依赖库并构建原生LLM代码

使用Go的generate命令来获取依赖并构建本地代码:

复制代码
go generate ./...

含义看这里:go generate ./... 含义

构建Ollama

构建Ollama主程序:

复制代码
go build .

运行Ollama

构建完成后,执行Ollama:

复制代码
./ollama

Linux平台特异性

Linux上的CUDA(NVIDIA)

  安装NVIDIA CUDA开发包和运行时环境。尽管某些Linux发行版可能已包含CUDA,但具体步骤可能因发行版而异,请查阅相应文档。

  构建脚本通常能自动识别CUDA路径,若路径非标准,可通过环境变量CUDA_LIB_DIR和CUDACXX指定CUDA库目录和nvcc编译器位置。自定义目标CUDA架构,可设置CMAKE_CUDA_ARCHITECTURES。

Linux上的ROCm(AMD)

  安装CLBlast和ROCm的开发包,以及CMake和Go。

  ROCm同样能被自动检测,但如有特殊路径,可通过ROCM_PATH和CLBlast_DIR环境变量指定ROCm安装目录和CLBlast目录。AMD GPU目标可通过AMDGPU_TARGETS自定义。

  ROCm运行时需提升权限,通常将用户加入render组或以root身份运行。

高级CPU设置

  默认情况下,go generate ./...会基于通用CPU家族和向量数学能力编译几个LLM库变体。

  若要为特定处理器定制CPU版本,可设置OLLAMA_CUSTOM_CPU_DEFS环境变量,传入llama.cpp编译标志。

Linux容器化构建

  如果安装了Docker,可以使用./scripts/build_linux.sh脚本构建Linux二进制文件,该脚本包含了CUDA和ROCm依赖。构建产物位于./dist目录下。

Windows平台

注意:Ollama的Windows构建仍在开发中。

  必须安装MSVC工具链、Go(1.22+)及MinGW(任一变体)搭配GCC。

  对于Windows CUDA支持,需在安装MSVC后安装NVIDIA CUDA。

  对于Windows ROCm支持,需安装AMD HIP SDK,并配置Strawberry Perl环境。

  最后,确保将MSVC附带的ninja.exe添加到系统路径中。

Tool:ChatAI文字生成图片代码差异比较器HTML查错器Llama3在线

Link:https://www.cnblogs.com/farwish/p/18164772

相关推荐
MicrosoftReactor15 分钟前
技术速递|面向初学者的 GitHub Copilot CLI:交互模式与非交互模式
ai·github·copilot·cli
逐梦苍穹18 分钟前
omlx实战:5分钟让Apple Silicon本地跑通Claude Code——分页SSD KV缓存把TTFT从90秒压到1秒(附安装踩坑+实测)
人工智能·缓存·ollama·claudecode·omlx
小阿鑫1 小时前
沪漂五周年了:我越来越迷茫了
ai·程序员·全栈·独立开发·程序员海军·沪漂·ai咨询
Aipollo1 小时前
多Agent架构设计模式、通讯间沟通对比分析
人工智能·ai
小真zzz1 小时前
GEO选型避坑实录:当“参考答案”是假的,如何找到“标准答案”?
大数据·人工智能·搜索引擎·ai·大模型
呆呆敲代码的小Y2 小时前
CC-Switch使用教程,包含ClaudeCode、Codex具体示例 【持续更新】
人工智能·ai·agent·cc-switch
码农阿强2 小时前
Qwen3.7-Plus 多模态智能体技术详解:原生 API 与 startapi.top 聚合平台接入实战
ai·ai作画·aigc·ai编程·ai写作
Stick_ZYZ2 小时前
从 Prompt 到 Context Engineering:Agent 真正稳定的关键
大数据·人工智能·算法·ai·prompt
Lumos_yuan2 小时前
10-11、Workflow of a Machine Learning project
人工智能·ai·deep learning·ai company
Artech2 小时前
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
ai·agent·maf·agent管道·ichatclient