ollama+deepseek+RAG打造本地知识库

在这里插入图片描述

安装Ollama

Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。
Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。
Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。
与其他 NLP 框架不同,Ollama 旨在简化用户的工作流程,使得机器学习不再是只有深度技术背景的开发者才能触及的领域。
Ollama 支持多种硬件加速选项,包括纯 CPU 推理和各类底层计算架构(如 Apple Silicon),能够更好地利用不同类型的硬件资源。
官方下载 https://ollama.com/download
在这里插入图片描述

在电脑上看到 Ollama 的图标,双击打开即可(安装完成后默认是启动的):

本地安装 Ollama
安装位置:C:\Users\用户名\AppData\Local\Programs\Ollama
访问地址: http://localhost:11434
开启IP访问(增加系统变量):OLLAMA_HOST=0.0.0.0:11434
在这里插入图片描述

在这里插入图片描述

模型(Model)

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

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

模型的主要功能:

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

模型通常是由大量参数构成的神经网络,通过对大量文本数据进行训练,能够学习语言规律并进行高效的推理。

在这里插入图片描述

任务(Task)

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

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

通过命令行工具,用户可以指定不同的任务,并加载不同的模型来完成特定任务。

推理(Inference)

推理是指在已训练的模型上进行输入处理,生成输出的过程。

推理过程:

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

微调(Fine-tuning)

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

微调过程:

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

下载Deepseek

版本选择

DeepSeek模型版本参数量特点适用场景硬件配置
DeepSeek-R1-1.5B1.5B轻量级模型,参数量少,模型规模小适用于轻量级任务,如短文本生成、基础问答等4核处理器、8G内存,无需显卡
DeepSeek-R1-7B7B平衡型模型,性能较好,硬件需求适中适合中等复杂度任务,如文案撰写、表格处理、统计分析等8核处理器、16G内存,Ryzen7或更高,RTX 3060(12GB)或更高
DeepSeek-R1-8B8B性能略强于7B模型,适合更高精度需求适合需要更高精度的轻量级任务,比如代码生成、逻辑推理等8核处理器、16G内存,Ryzen7或更高,RTX 3060(12GB)或4060
DeepSeek-R1-14B14B高性能模型,擅长复杂的任务,如数学推理、代码生成可处理复杂任务,如长文本生成、数据分析等i9-13900K或更高、32G内存,RTX 4090(24GB)或A5000
DeepSeek-R1-32B32B专业级模型,性能强大,适合高精度任务适合超大规模任务,如语言建模、大规模训练、金融预测等Xeon 8核、128GB内存或更高,2-4张A100(80GB)或更高
DeepSeek-R1-70B70B顶级模型,性能最强,适合大规模计算和高复杂任务适合高精度专业领域任务,比如多模态任务预处理。这些任务对硬件要求非常高,需要高端的 CPU 和显卡,适合预算充足的企业或研究机构使用Xeon 8核、128GB内存或更高,8张A100/H100(80GB)或更高
DeepSeek-R1-671B671B超大规模模型,性能卓越,推理速度快,适合极高精度需求适合国家级 / 超大规模 AI 研究,如气候建模、基因组分析等,以及通用人工智能探索64核、512GB或更高,8张A100/H100

打开电脑的终端命令行工具,输入命令 ollama run deepseek-r1:8b
#主要命令

运行(首次是安装,已经安装了就会运行):
ollama run deepseek-r1:8b
查看已经安装模型
ollama list
删除
ollama rm deepseek-r1:8b
停止
ollama stop deepseek-r1:8b

验证安装效果
在这里插入图片描述

下载RAG

RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合了检索技术和生成模型的方法,可以提升自然语言处理系统的性能。
简单的说,RAG可以将本地知识库中的内容进行处理,便于大语言模型使用。这里需要安装合适的嵌入模型,推荐以下两种模型。

模型名称使用场景安装命令
nomic-embed-text功能强大的英文文本嵌入模型ollama pull nomic-embed-text
bge-m3适用于多种高级自然语言处理任务ollama pull bge-m3

安装
在这里插入图片描述

客户端

Page Assist+本地知识库

谷歌浏览器 (需要有翻墙能力)

插件安装
在这里插入图片描述
Ollama-deepseek配置

chrome-extension://jfgfiigpkhlkbnfnbobbkinehhfdhndo/options.html

在这里插入图片描述
PAG配置
在这里插入图片描述
本地知识库

上传
在这里插入图片描述
运行本地知识库
在这里插入图片描述

其他功能可自己探索

ChatBox+本地知识库

ChatBox 是一款多平台 AI 客户端,支持文档、图片和代码处理,强调本地数据存储和隐私保护。

https://chatboxai.app/
在这里插入图片描述

配置deepseek
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他功能可自己探索

CherryStudio+本地知识库

CherryStudio 是一款好用的 AI 客户端,支持多种大型语言模型的服务,提供直观的可视化界面和远程 API 接口,旨在降低对本地硬件的依赖,提升使用效率。

官方网址:https://cherry-ai.com/
在这里插入图片描述

首先点击左下角设置,然后操作如下:

  1. 点击“模型服务”
  2. 点击“Ollama”
  3. 在模型中,点击“管理”,添加前面安装的 DeepSeek 模型
  4. 启用服务

在这里插入图片描述
知识库
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

会话
在这里插入图片描述

AnythingLLM+本地知识库

AnythingLLM 是一款支持本地部署的 AI 工具,允许用户在本地运行和管理大型语言模型,提供可视化界面,方便用户与模型进行交互。

官方网址:https://anythingllm.com/
在这里插入图片描述
新建工作区
在这里插入图片描述

配置deepseek
在这里插入图片描述
聊天设置
在这里插入图片描述
代理设置
在这里插入图片描述
本地知识库
在这里插入图片描述
在这里插入图片描述
Embeder配置
在这里插入图片描述

在这里插入图片描述
测试
在这里插入图片描述

JAVA API 调用

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import util.CommonHttpUtil;
import java.util.HashMap;
import java.util.Map;

/**
 * https://github.com/ollama/ollama/blob/main/docs/api.md
 */
public class Generate {
    public static void main(String[] args) {
        String url = "http://localhost:11434/api/generate";
        HttpRequest request = HttpUtil.createPost(url);
        Map<String, String> headers = new HashMap<>();
        headers.put("Authorization", "");
        request.addHeaders(headers);
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("model","deepseek-r1:14b");
        jsonObject.put("prompt","刘立是谁");
        jsonObject.put("stream",false);
        String body =JSONObject.toJSONString(jsonObject);
        System.out.println("入参========"+body);
        String backInfo = CommonHttpUtil.postJson(url, headers,body,300000);
        System.out.println("出参========"+backInfo);
    }
}
### 使用 OllamaDeepSeek R1 构建 RAG 系统 #### 一、环境准备 为了构建基于检索增强生成 (RAG) 的系统,需先安装并配置好必要的软件包和服务。这包括但不限于 Python 开发环境以及 Docker 容器平台用于部署 Ollama 及其关联组件。 - **Ollama**: 轻量级的本地 AI 模型执行框架能够简化模型管理流程,在本地环境中高效运行复杂算法[^2]。 - **DeepSeek R1**: 推理工具支持多种自然语言处理任务,适用于创建智能对话代理或其他交互式应用实例[^3]。 #### 二、集成与开发 通过组合上述两个关键技术要素——即作为底层支撑架构部分的 Ollama 平台同上层业务逻辑实现者角色定位下的 DeepSeek R1 工具集——可达成如下目标: - 实现从文档库中提取相关信息片段的功能; - 将获取到的知识点融合至最终输出的回答文本里去; 具体操作步骤涉及编写自定义脚本以调用 API 或 SDK 方法完成数据交换过程,并确保整个工作流顺畅无阻地运转起来。 ```python from deepseek_r1 import create_retriever, generate_response def rag_pipeline(query): retriever = create_retriever() docs = retriever.search_documents(query=query) response = generate_response(context=docs, query=query) return response ``` 此段代码展示了如何初始化一个检索器对象 `retriever` ,并通过该对象的方法 `search_documents()` 执行查询请求从而获得一系列候选文件列表 `docs` 。随后借助于另一个辅助函数 `generate_response()` 来合成最终回复内容给定用户提问 `query` 。 #### 三、优化建议 当遇到回答质量不高或效率低下的情况时,应当考虑采取措施改善现有状况。例如重新审视输入资料的质量控制环节,或是微调参与运算的各项超参数设置等手段来提升整体表现水平[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值