一、什么是DeepSeek
DeepSeek R1 是一款开源的AI模型,它与 OpenAI 的 o1 和 Claude 3.5 Sonnet 等顶级模型竞争,特别是在数学、编程和推理等任务上表现出色。它是免费的、私密的,并且支持在本地硬件上离线运行。

DeepSeek R1 提供了多个版本,涵盖从轻量级的1.5B参数模型到功能强大的70B参数版本。从技术角度来看,它基于 Qwen 7B 架构,经过精简和优化,确保在保持强大性能的同时,提升了运行效率。

DeepSeek 的最大亮点是,它能够与一些领先的商业AI模型相媲美,但作为开源项目,你可以在本地运行它,完全不依赖云服务器,从而更好地掌控你的数据。

二、为什么要在本地运行?
将AI模型部署在本地有以下几个显著优势:

隐私保护:所有数据都存储在你的设备上,避免了敏感信息泄露的风险。
成本节省:DeepSeek R1 完全免费,无需支付订阅或使用费用。
完全控制:你可以随时对模型进行微调和实验,不依赖任何外部平台。

步骤1:安装ollama

为了在本地成功运行 DeepSeek R1,我们需要借助 Ollama,它是一个专为在本地计算机上运行AI模型而设计的工具。(也可以使用llama)

Ollama 官网:https://ollama.com/download

这里官网提供了macOS    Linux     win 系统的下载安装包。

下载Ollama后,根据以下步骤安装:

# 这里是不可以选择自己想要安装的磁盘,所以直接无脑下一步就可以,不在过多展示。

安装完成后,Ollama 提供了一个简单的方法,可以直接通过终端提取并运行模型。

具体模型网站:https://ollama.com/search

这里要注意的是:

1.5B 是最小的模型,大小为1GB左右,7B,8B模型大小在8GB左右,想要调用模型的话根据自己电脑的配置选择(我个人下载体验了1.5B,8B模型),独立显卡3050 ti  4G显存  16G内存。8b模型调用有点吃力。所以彦祖们想要玩私有化大模型要尽力而为,不要过度消耗电脑“寿命

Windows:按 Win + R,在运行框中输入 “cmd”;或者按 Win + X,选择“Windows PowerShell”或“命令提示符”来打开终端窗口下载模型:

ollama run deepseek-r1:1.5b

# 下载别的模型修改后面的名称

下载完成后也可以通过Win + R,在运行框中输入 “cmd”;或者按 Win + X,选择“Windows PowerShell”或“命令提示符”来打开终端窗口来使用模型,

如果你只是想体验模型可以使用Chatbox工具来调用模型具体方法参考:

DeepSeek R1 本地安装部署(保姆级教程)_本地部署deepseek-r1-CSDN博客 有很详细的介绍

ok完成自己的大模型后  开始我们python开发最重要的工作:

from langchain_ollama import OllamaLLM
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser
# from langfuse.callback import CallbackHandler
from langserve import add_routes
from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware

# langfuse_handler = CallbackHandler(
#     public_key="pk-lf-0db23d79-7321-4a3e-b254-0d8404b6ffa5",
#     secret_key="sk-lf-1626a28b-c7ad-49ef-8984-4321877b1fc6",
#     host="http://localhost:3000"
    
# )
# 工程化
# 定义聊天提示模板 
prompt = ChatPromptTemplate.from_messages(
    [
        (  
            "system",
            "You are a helpful assistant that translates {input_language} to {output_language}.",
        ),
        ("human", "{input}"),
    ]
)

# 初始化大型模型
model = OllamaLLM(
    model="deepseek-r1:8b",
   # callbacks=[langfuse_handler, ],
)

parser = StrOutputParser()
chain = prompt | model | parser

app = FastAPI(title="DeepSeek LangChain API", version="1.0")

# 设置CORS中间件
app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
    expose_headers=["*"],
)

add_routes(app, chain, path="/translate")

langchain + langserve  来对大模型进行开发,因为刚学习两天的原因简单的demo给大家奉上,目前也正在研究怎么结合RAG+langGraph 这些一起加上去,真正开发实用的大模型。

同时也遇到了一些问题langSmite不免费,如果使用langfuse去代替的话 会碰见输入输出的问题,小弟目前还没解决,所以代码就不发了,如果大佬指点一下小弟感激不尽

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐