娄底市网站建设_网站建设公司_Photoshop_seo优化
2025/12/27 19:47:58 网站建设 项目流程

目录
  • 1 Ollama
    • 1.1 简介
    • 1.2 下载安装
    • 1.3 基本概念
      • 1.3.1 模型(Model)
      • 1.3.2 任务(Task)
      • 1.3.3 推理(Inference)
      • 1.3.4 微调(Fine-tuning)
    • 1.4 Ollama命令
    • 1.5 模型操作
      • 1.5.1 运行模型
      • 1.5.2 模型交互
    • 1.6 与浏览器交互
      • 1.6.1 Open WebUI
        • 1.6.1.1 简介
        • 1.6.1.2 安装
      • 1.6.2 Page Assist
        • 1.6.2.1 简介
        • 1.6.2.2 安装与使用
    • 1.7 与Python交互
      • 1.7.1 安装SDK
      • 1.7.2 使用SDK交互
        • 1.7.2.1 简单使用
        • 1.7.2.2 常用 API 方法
      • 1.7.3 使用Http方式交互
        • 1.7.3.1 使用Ollama http
        • 1.7.3.2 使用其他http请求

1 Ollama

1.1 简介

Ollama 是一个开源的本地大语言模型运行框架,专为在本地机器上便捷部署和运行大型语言模型(LLM)而设计,支持多种操作系统,包括 macOS、Windows、Linux 以及通过 Docker 容器运行。
Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。
与其他 NLP 框架不同,Ollama 旨在简化用户的工作流程,Ollama 支持多种硬件加速选项,包括纯 CPU 推理和各类底层计算架构(如 Apple Silicon),能够更好地利用不同类型的硬件资源。

核心功能与特点:

  • 多种预训练语言模型支持:Ollama 提供了多种开箱即用的预训练模型,包括常见的 GPT、BERT 等大型语言模型。
  • 易于集成和使用:Ollama 提供了命令行工具(CLI)和 Python SDK,简化了与其他项目和服务的集成。无需担心复杂的依赖或配置,可以快速将 Ollama 集成到现有的应用中。
  • 本地部署与离线使用:不同于一些基于云的 NLP 服务,Ollama 允许开发者在本地计算环境中运行模型。
  • 支持模型微调与自定义:用户不仅可以使用 Ollama 提供的预训练模型,还可以在此基础上进行模型微调。

1.2 下载安装

Ollama 官方下载地址:https://ollama.com/download

下载后,打开命令提示符或 PowerShell,输入以下命令验证安装是否成功:ollama --version
更改安装路径(可选)
如果需要将 Ollama 安装到非默认路径,可以在安装时通过命令行指定路径,例如:

OllamaSetup.exe /DIR="d:\some\location"

这样可以将 Ollama 安装到指定的目录
或者使用 scoop 安装也可以 (点击此处了解scoop用法)

1.3 基本概念

1.3.1 模型(Model)

Ollama 中,模型是核心组成部分。它们是经过预训练的机器学习模型,能够执行不同的任务,例如文本生成、文本摘要、情感分析、对话生成等。

Ollama 支持多种流行的预训练模型,常见的模型有:

  • deepseek-v3:深度求索提供的大型语言模型,专门用于文本生成任务。
  • LLama2:Meta 提供的大型语言模型,专门用于文本生成任务。
  • GPTOpenAI 的 GPT 系列模型,适用于广泛的对话生成、文本推理等任务。
  • BERT:用于句子理解和问答系统的预训练模型。
  • 其他自定义模型:用户可以上传自己的自定义模型,并利用 Ollama 进行推理。

Ollama 支持的模型可以访问:https://ollama.com/library

模型的主要功能:

  • 推理(Inference):根据用户输入生成输出结果。
  • 微调(Fine-tuning):用户可以在已有模型的基础上使用自己的数据进行训练,从而定制化模型以适应特定的任务或领域。

1.3.2 任务(Task)

Ollama 支持多种 NLP 任务。每个任务对应模型的不同应用场景,主要包括但不限于以下几种:

  • 对话生成(Chat Generation):通过与用户交互生成自然的对话回复。
  • 文本生成(Text Generation):根据给定的提示生成自然语言文本,例如写文章、生成故事等
  • 情感分析(Sentiment Analysis):分析给定文本的情感倾向(如正面、负面、中立)
  • 文本摘要(Text Summarization):将长文本压缩为简洁的摘要。
  • 翻译(Translation):将文本从一种语言翻译成另一种语言。

1.3.3 推理(Inference)

推理是指在已训练的模型上进行输入处理,生成输出的过程。
Ollama 提供了易于使用的命令行工具或 API,可以快速向模型提供输入并获取结果。

推理是 Ollama 的主要功能之一,也是与模型交互的核心。
推理过程:

  • 输入:用户向模型提供文本输入,可以是一个问题、提示或者对话内容。
  • 模型处理:模型通过内置的神经网络根据输入生成适当的输出。
  • 输出:模型返回生成的文本内容,可能是回复、生成的文章、翻译文本等。

1.3.4 微调(Fine-tuning)

微调是指在一个已预训练的模型上,基于特定的领域数据进行进一步的训练,以便使模型在特定任务或领域上表现得更好。
Ollama 支持微调功能,用户可以使用自己的数据集对预训练模型进行微调,来定制模型的输出。

微调过程:

  • 准备数据集:用户准备特定领域的数据集,数据格式通常为文本文件或 JSON 格式。
  • 加载预训练模型:选择一个适合微调的预训练模型,例如 LLama2 或 GPT 模型。
  • 训练:使用用户的特定数据集对模型进行训练,使其能够更好地适应目标任务。
  • 保存和部署:训练完成后,微调过的模型可以保存并部署,供以后使用。

1.4 Ollama命令

Ollama 提供了多种命令行工具(CLI)与本地运行的模型进行交互。

基本格式:ollama <command> [args]
ollama --help 查看包含有哪些命令

使用方法:

  • ollama [flags]:使用标志(flags)运行 ollama
    可用标志(Flags):
    • -h, --help:显示 ollama 的帮助信息
    • -v, --version:显示版本信息
  • ollama [command]:运行 ollama 的某个具体命令
    可用命令如下:
    • serve:启动 ollama 服务
      REST 端点(默认 http://localhost:11434/api):
      • /api/generate:文本生成
      • /api/chat:对话流式接口
      • /api/pull:远程拉取
      • /api/tags:本地模型列表
    • create:根据一个 Modelfile 创建一个模型
    • show:显示某个模型的详细信息,查看模型的元数据、参数或 Modelfile
    • run:运行一个模型,如果不存在则自动拉取
      • --num-predict <number>:限制输出 token 数
      • --temperature <float>:控制随机性
      • --top-k <int>:采样范围
      • --top-p <float>:核采样
      • --seed <int>:固定随机性
      • --format json:输出 JSON
      • --keepalive <seconds>:会话保持时间
    • stop:停止一个正在运行的模型
    • pull:从一个模型仓库(registry)拉取一个模型,但不运行
    • push:将一个模型推送到一个模型仓库
    • list:列出本地所有已下载的模型
    • ps:列出所有正在运行的模型及显存占用
    • cp:复制一个模型,将现有模型复制为新名称
    • rm:移除本地模型释放空间
    • help:获取关于任何命令的帮助信息

当输入 ollama run 进入聊天界面后,不再是在操作命令行,而是在和 AI 对话。这时可以使用以 / 开头的快捷指令来控制对话:

  • /bye/exit:退出聊天界面,返回命令行
  • /clear:清空当前的上下文记忆(开启一段新的对话)。
  • /show info:查看当前模型的详细参数信息
  • /set parameter seed 123:设置随机种子(高级玩法,用于复现结果)
  • /help:在聊天中查看所有可用的快捷键

构建模型时使用 Modelfile 指令:

  • FROM <model>:基础模型
  • SYSTEM "xxx":设定系统提示
  • PARAMETER key=value:设定默认参数
  • TEMPLATE "xxx":自定义 Chat 模板
  • LICENSE "xxx":设置 License
  • ADAPTER <file> / WEIGHTS <file>:加载 LoRA 或额外权重

1.5 模型操作

1.5.1 运行模型

Ollama 运行模型使用 ollama run 命令。
比如:ollama run llama3.2,执行以上命令如果没有该模型会去下载 llama3.2 模型

通过 Python SDK 使用模型
如果想将 OllamaPython 代码集成,可以使用 OllamaPython SDK 来加载和运行模型。
安装 Ollama 的 Python SDK,打开终端,执行:pip install ollama

使用 Python 代码来加载和与模型交互。

import ollama
response = ollama.generate(model="llama3.2",  # 模型名称prompt="你是谁。"  # 提示文本
)
print(response)流式响应
from ollama import chat
stream = chat(model="llama3.2",messages=[{"role": "user", "content": "为什么天空是蓝色的?"}],stream=True
)
for chunk in stream:print(chunk["message"]["content"], end="", flush=True)

1.5.2 模型交互

  • 命令行交互:
    通过命令行直接与模型进行交互是最简单的方式
    使用 ollama run 命令启动模型并进入交互模式:ollama run <model-name>
    启动后,您可以直接输入问题或指令,模型会实时生成响应。
    在交互模式下,输入 /bye 或按下 Ctrl+d 退出
  • 单次命令交互:
    如果只需要模型生成一次响应,可以直接在命令行中传递输入。
    通过管道将输入传递给模型:
    echo "你是谁?" | ollama run deepseek-coder
    直接在命令行中传递输入:ollama run deepseek-coder "Python 的 hello world 代码?"
  • 多轮对话
    Ollama 支持多轮对话,模型可以记住上下文
  • 文件输入
    可以将文件内容作为输入传递给模型
    ollama run deepseek-coder < input.txt
  • 自定义提示词
    通过 Modelfile 定义自定义提示词或系统指令,使模型在交互中遵循特定规则。
    创建自定义模型
    编写一个 ModelfileFROM deepseek-coder SYSTEM "你是一个编程助手,专门帮助用户编写代码。"
    然后创建自定义模型:ollama create test-coder -f ./Modelfile
    运行自定义模型:ollama run test-coder
  • 交互日志
    Ollama 会记录交互日志,方便调试和分析:ollama logs

1.6 与浏览器交互

1.6.1 Open WebUI

1.6.1.1 简介

Open WebUI 用户友好的 AI 界面(支持 Ollama、OpenAI API 等)。
Open WebUI 支持多种语言模型运行器(如 Ollama 和 OpenAI 兼容 API),并内置了用于检索增强生成(RAG)的推理引擎,使其成为强大的 AI 部署解决方案。
Open WebUI 可自定义 OpenAI API URL,连接 LMStudio、GroqCloud、Mistral、OpenRouter 等。

官方文档:https://docs.openwebui.com

1.6.1.2 安装

使用 Docker 安装
如果 Ollama 已安装在电脑上,使用以下命令:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

使用 Nvidia GPU 支持运行 Open WebUI:

docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda

装完成后,通过访问 http://localhost:3000 使用 Open WebUI。

Open WebUI 可以通过 Python 的包安装程序 pip 进行安装,在开始安装之前,请确保使用的是 Python 3.11,以避免可能出现的兼容性问题。
打开终端,运行以下命令以安装 Open WebUI:pip install open-webui
安装完成后,通过以下命令启动 Open WebUI:open-webui serve
启动后,Open WebUI 服务器将运行在 http://localhost:8080

1.6.2 Page Assist

1.6.2.1 简介

Page Assist 是一款开源的浏览器扩展程序,主要为本地 AI 模型提供直观的交互界面,让用户可以在任何网页上与本地 AI 模型进行对话和交互。

Page AssistGithub 源代码:https://github.com/n4ze3m/page-assist

基本功能:

  • 侧边栏交互:用户可以在任何网页上打开侧边栏,与本地 AI 模型进行对话,获取与网页内容相关的智能辅助。
  • 网页 UI:提供类似 ChatGPT 的网页界面,用户可以在此界面中与 AI 模型进行更全面的对话。
  • 网页内容对话:用户可以直接与网页内容进行对话,获取相关信息的解释或分析。
    多浏览器支持:支持 Chrome、Brave、Edge 和 Firefox 等主流浏览器。
  • 快捷键操作:通过快捷键可以快速打开侧边栏和网页 UI,方便用户使用。
  • 支持多种本地 AI 提供商:目前支持 Ollama 和 Chrome AI (Gemini Nano) 等本地 AI 提供商。
  • 文档解析:支持与 PDF、CSV 等多格式文档进行聊天交流。
  • 离线模型适配:适用于离线环境,用户可以在本地运行 AI 模型。
  • 隐私保护:所有交互都在本地完成,不会收集用户个人数据,数据存储在浏览器的本地存储中。
  • 开发模式:支持开发者模式,便于进行扩展的开发和测试。

1.6.2.2 安装与使用

直接从 Chrome Web StoreFirefox Add-ons 商店下载安装,也可以通过手动安装的方式进行,访问 https://chromewebstore.google.com/search/,搜索 Page Assist

打开后就可以看到 Ollama 正在运行的提示,如果还没启动则需要启动 Ollama
714eb70e5502b48890f365c73f484828_b651ca400e014c4a82e9becedcb3e791

接下来我们可以选择指定的模型,然后输入提示词:
72ddca4b450584b23dba28cffbd1e110_b6b7ac33c0834c8bb797af37f2915f1d

1.7 与Python交互

1.7.1 安装SDK

安装 Ollama 的 Python SDK。
pip install ollama
确保环境中已安装了 Python 3.x,并且网络环境能够访问 Ollama 本地服务

在使用 Python SDK 之前,确保 Ollama 本地服务已经启动。
使用命令行工具来启动它:ollama serve

如果已经用run启动了为什么还要用server?

因为 ollama run 只能打开一个交互式命令行会话;它本身不会监听任何端口,也就无法被 Python 程序调用。
因此想让 Ollama 对外提供 API(HTTP 或官方 SDK),都必须先执行ollama serve
这条命令会在后台启动本地服务,默认监听 localhost:11434,然后才能用 Python 通过 HTTP 或 ollama-python 与之通信 。

1.7.2 使用SDK交互

1.7.2.1 简单使用

通过 Python SDK,向指定的模型发送请求,生成文本或对话:

from ollama import chat
from ollama import ChatResponseresponse: ChatResponse = chat(model='deepseek-coder', messages=[{'role': 'user','content': '你是谁?',},
])
# 打印响应内容
print(response['message']['content'])# 或者直接访问响应对象的字段
#print(response.message.content)

1.7.2.2 常用 API 方法

Ollama Python SDK 提供了一些常用的 API 方法,用于操作和管理模型。

  • chat 方法
    与模型进行对话生成,发送用户消息并获取模型响应:
    ollama.chat(model='llama3.2', messages=[{'role': 'user', 'content': 'Why is the sky blue?'}])
  • generate 方法
    用于文本生成任务。与 chat 方法类似,但是它只需要一个 prompt 参数:ollama.generate(model='llama3.2', prompt='Why is the sky blue?')
  • list 方法
    列出所有可用的模型:ollama.list()
  • show 方法
    显示指定模型的详细信息:ollama.show('llama3.2')
  • create 方法
    从现有模型创建新的模型:
    ollama.create(model='example', from_='llama3.2', system="You are Mario from Super Mario Bros.")
  • copy 方法
    复制模型到另一个位置:ollama.copy('llama3.2', 'user/llama3.2')
  • delete 方法
    删除指定模型:ollama.delete('llama3.2')
  • pull 方法
    从远程仓库拉取模型:ollama.pull('llama3.2')
  • push 方法
    将本地模型推送到远程仓库:ollama.push('user/llama3.2')
  • embed 方法
    生成文本嵌入:
    ollama.embed(model='llama3.2', input='The sky is blue because of rayleigh scattering')
  • ps 方法
    查看正在运行的模型列表:ollama.ps()

1.7.3 使用Http方式交互

1.7.3.1 使用Ollama http

Ollama 的端口兼容 OpenAI 格式,也提供原生 REST 端点

from ollama import Clientclient = Client(host='http://localhost:11434',headers={'x-some-header': 'some-value'}
)response = client.chat(model='deepseek-coder', messages=[{'role': 'user','content': '你是谁?',},
])
print(response['message']['content'])

异步执行请求,可以使用 AsyncClient 类,适用于需要并发的场景。

import asyncio
from ollama import AsyncClientasync def chat():message = {'role': 'user', 'content': '你是谁?'}response = await AsyncClient().chat(model='deepseek-coder', messages=[message])print(response['message']['content'])asyncio.run(chat())

异步客户端支持与传统的同步请求一样的功能,唯一的区别是请求是异步执行的,可以提高性能,尤其是在高并发场景下。

1.7.3.2 使用其他http请求

import requests, json
url = 'http://localhost:11434/api/chat'
payload = {"model": "deepseek-coder","messages": [{"role": "user", "content": "写个快速排序"}],"stream": False
}
resp = requests.post(url, json=payload)
print(resp.json()['message']['content'])

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询