欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > Ollama实现deepseek本地部署

Ollama实现deepseek本地部署

2025/2/10 12:54:20 来源:https://blog.csdn.net/WANGWUSHAN/article/details/145475515  浏览:    关键词:Ollama实现deepseek本地部署

Ollama实现deepseek本地部署

  • 1.Ollama下载与安装
  • 2.ollama获取模型并部署
    • 2.1 使用ollama pull
    • 2.2 通过ollama create 创建自定义模型
    • 2.3 本地运行
  • 3.使用streamlit实现网页版RAG部署
    • 3.1 加载相关包
    • 3.2 文档上传、加载与切块
    • 3.3 初始化向量存储
    • 3.4 初始化向量存储
    • 3.5 加载模型,构建chain
    • 3.6 对话框中输入文本,实现网页问答。
  • 参考文献

1.Ollama下载与安装

可通过Ollama官方网站 下载Ollama

退出Ollama,参考Ollama-Windows安装Ollama 进行配置。

主要为自定义models默认文件夹:

打开「系统环境变量」,新建一个系统变量OLLAMA_MODELS ,然后设置ollama模型的存储路径。
在这里插入图片描述
cmd中输入ollama,验证是否安装成功。
在这里插入图片描述

2.ollama获取模型并部署

deepseek-r1:1.5b为例。

获取模型可以通过2.1或者2.2实现。

2.1 使用ollama pull

ollama pull deepseek-r1:1.5b

2.2 通过ollama create 创建自定义模型

以从魔塔社区下载DeepSeek-R1-Distill-Qwen-1.5B-Q8_0.gguf为例。

参考【Ollama入门指南】在本地运行大模型,我们应该怎么做 以及 如何用Ollama直接加载官网没有的本地大模型:

创建一个配置文件Modelfile

FROM E:\LLM\ollama\models\DeepSeek-R1-Distill-Qwen-1.5B-Q8_0.ggufTEMPLATE """{{ if .System }}<|im_start|>system
{{ .System }}<|im_end|>{{ end }}<|im_start|>user
{{ .Prompt }}<|im_end|>
<|im_start|>assistant
"""
PARAMETER stop "<|im_start|>"
PARAMETER stop "<|im_end|>"

使用命令创建一个自定义的模型(注意ModelFile的相对路径和绝对路径):

ollama create DeepSeek-R1-Distill-Qwen-1.5B-Q8_0 -f Modelfile

使用ollama list查看模型。

在这里插入图片描述

2.3 本地运行

ollama run deepseek-r1:1.5b 

3.使用streamlit实现网页版RAG部署

参考 手把手带你用DeepSeek-R1和Ollama搭建本地应用,一文搞定! 以及 Build a RAG System with DeepSeek R1 & Ollama,实现streamlit网页版RAG部署。

3.1 加载相关包

import streamlit as st
from langchain_community.document_loaders import PDFPlumberLoader
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_chroma import Chroma
from langchain_ollama import OllamaEmbeddingsfrom langchain_ollama import ChatOllama
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplatefrom langchain_core.runnables import RunnablePassthroughimport chromadb.api
chromadb.api.client.SharedSystemClient.clear_system_cache()

3.2 文档上传、加载与切块

# Streamlit file uploader
docs = None
uploaded_file = st.file_uploader("Upload a PDF file", type="pdf")
if uploaded_file:# Save PDF temporarilywith open("temp.pdf", "wb") as f:f.write(uploaded_file.getvalue())# Load PDF textloader = PDFPlumberLoader("temp.pdf")docs = loader.load()
if docs:text_splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=0)all_splits = text_splitter.split_documents(docs)

3.3 初始化向量存储

    local_embeddings = OllamaEmbeddings(model="nomic-embed-text")vectorstore = Chroma.from_documents(documents=all_splits, embedding=local_embeddings)

3.4 初始化向量存储

    local_embeddings = OllamaEmbeddings(model="nomic-embed-text")vectorstore = Chroma.from_documents(documents=all_splits, embedding=local_embeddings)

3.5 加载模型,构建chain

    model = ChatOllama(model="deepseek-r1:1.5b",)# 将传入的文档转换成字符串的形式def format_docs(docs):return "\n\n".join(doc.page_content for doc in docs)#%% retriever # Craft the prompt templateRAG_TEMPLATE = """You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Use three sentences maximum and keep the answer concise.<context>{context}</context>Answer the following question:{question}"""rag_prompt = ChatPromptTemplate.from_template(RAG_TEMPLATE)retriever = vectorstore.as_retriever()qa_chain = ({"context": retriever | format_docs, "question": RunnablePassthrough()}| rag_prompt| model| StrOutputParser())

3.6 对话框中输入文本,实现网页问答。

    #%%  Launch the Web Interface# Streamlit UIuser_input = st.text_input("Ask your PDF a question:")if user_input:with st.spinner("Thinking..."):response = qa_chain.invoke(user_input)  # qa(user_input)["result"]st.write(response)

效果如下:
在这里插入图片描述

参考文献

[1] Ollama-Windows安装Ollama
[2] 【Ollama入门指南】在本地运行大模型,我们应该怎么做?
[3] 如何用Ollama直接加载官网没有的本地大模型
[4] 魔塔社区
[5] 手把手带你用DeepSeek-R1和Ollama搭建本地应用,一文搞定!
[6] Build a RAG System with DeepSeek R1 & Ollama
[7] handy-ollama/notebook/C7/DeepSeek_R1_RAG/使用 DeepSeek R1 和 Ollama 实现本地 RAG 应用.ipynb

版权声明:

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

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