您当前的位置:首页 > IT编程 > 情感分类
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:DeepSeek R1本地化部署以及API调用

51自学网 2025-03-07 22:18:37
  情感分类
这篇教程DeepSeek R1本地化部署以及API调用写得很实用,希望能帮到您。

DeepSeek R1本地化部署以及API调用


目录
收起
1、DeepSeek简介
2、本地化部署步骤
第一步:下载Ollama
第二步:通过命令行下载R1模型
第三步:安装可视化交互工具
3、通过API调用本地大模型
3.1 代码示例1:兼容OpenAI的接口调用:
3.2 代码示例2:使用ollama简易API:
3.3 代码示例3:基于历史消息的多轮问答:
4、总结

1、DeepSeek简介

最近火出圈的AI科技公司,不用多介绍了。

2、本地化部署步骤

网上已经有很多视频教程告诉大家如何部署了,过程其实非常简单,此处不再赘述了,只略作总结。另外,部署过程中最耗时的是资源和工具的下载。我把已经下载好的资源通过网盘分享出来,帮大家节约点时间。

总的来说,本地化部署DeepSeek R1,我总结了以下三个步骤,完成之后,你就可以愉快地与大模型聊天了,本地化部署之后的使用不依赖任何网络,零成本,用了都说好!

第一步:下载Ollama

进入Ollama网站,直接点击download即可(注意自己是windows还是mac还是Linux), 本教程以Windows为例,其余操作系统大同小异。

快速下载地址:通过网盘分享的文件:OllamaSetup.exe

链接: https://pan.baidu.com/s/1lDW71bAYdba71BHQpesNcg?pwd=j7vm 提取码: j7vm

第二步:通过命令行下载R1模型

这一步也很简单,直接进入DeepSeek R1模型下载页面:deepseek-r1

 

将复制的命令行,直接黏贴到命令行窗口按回车执行即可:

接下去就是一个较长时间的等待,等安装完毕就可以直接通过命令行与大模型交互了:

当然,这种交互方式还是不够人性化,所以接下去我们就需要安装一个客户端来连接本地大模型,并提供一个美观的交互UI,这样使用起来就方便多了。所以,我们接着做第三步:

第三步:安装可视化交互工具

现在比较流行的客户端有chatBox和Cherry Studio,此处推荐后者:

可以去官方(Cherry Studio - 全能的AI助手)下载,如果官方下载比较慢的话(如果不出意外的话,确实会比较慢),也可以直接通过我的网盘下载:

https://pan.baidu.com/s/1o6VeNhNycuSHEHQCFUhFnA?pwd=d97s 提取码: d97s

这个工具的安装没啥好说的,直接下一步点到底完成安装。

安装好之后,直接运行即可:

在上述界面中,点击左下角的小齿轮,进入ollama的配置界面,点击添加,把本地部署的模型添加进来:

通过ollama list查找本地部署的模型,直接拷贝模型name即可

 

当在CherryStudio中添加了本地部署的deepSeek模型之后,就可以通过聊天入口进行聊天了:

3、通过API调用本地大模型

对于有开发需求的小伙伴来说,仅仅用一个客户端怎么能满足需求呢? 当然是要开启API模式,可以无拘无束地通过API集成的方式,集成到各种第三方系统和应用当中。

在本实例中,因为我们是基于Ollama框架运行了deepSeek R1模型,ollama相当于一个代理,我们直接调用ollama的API即可实现大模型接口的调用。

Ollama包装了完善的接口与大模型进行交互,详情可以自行查阅,在本例中,我们仅测试对话接口(chat)。

3.1 代码示例1:兼容OpenAI的接口调用:

import base64
from pathlib import Path

from openai import OpenAI

client = OpenAI(
    base_url='http://localhost:11434/v1/',

    # required but ignored
    api_key='ollama',
)

chat_completion = client.chat.completions.create(
    messages=[
        {
            'role': 'user',
            'content': '9.9和9.11哪个更大?',
        }
    ],
    model='deepseek-r1:8b',
    # stream=True,
    temperature=0.0,  # 可以根据需要调整温度值,决定生成的随机性程度
)

# 打印结果
print("模型返回的内容:")
print(chat_completion.choices[0].message.content)
# outputStr = ""
# for chunk in response_stream:
#     outputStr += chunk.choices[0].delta.content
#     print(chunk.choices[0].delta.content)

3.2 代码示例2:使用ollama简易API:

可以发现,使用Ollama封装的api明显简洁了很多:

from ollama import chat
from ollama import ChatResponse

response: ChatResponse = chat(model='deepseek-r1:8b', messages=[
  {
    'role': 'user',
    'content': '请用python写一段代码,可获取A股所有的股票代码。',
  },
])
print(response['message']['content'])
# or access fields directly from the response object
print(response.message.content)

3.3 代码示例3:基于历史消息的多轮问答:

from ollama import chat

messages = [

]

while True:
  user_input = input('Chat with history: ')
  response = chat(
    'deepseek-r1:14b',
    messages=messages
    + [
      {'role': 'user', 'content': user_input},
    ],
  )

  # Add the response to the messages to maintain the history
  messages += [
    {'role': 'user', 'content': user_input},
    {'role': 'assistant', 'content': response.message.content},
  ]
  print(response.message.content + '\n')

运行此代码,可以在控制台进行多轮交互问答,大模型每次都会基于既往已经回答的内容进行反馈,避免存在“失忆”的情况:

4、总结

总的来说,DeepSeek真的是普惠大众,国货之光!开源了这么优秀的大模型,为加速推进AI行业的发展做足了贡献。由于个人电脑配置(物理内存32G,显卡4060/8G)有限,只测试了8b, 14b两个模型,8b的版本理解力明显低于14b版本,一些初代模型都能很好回答的问题,8b版本竟不之所云。所以如果要对使用场景有一定要求的话,还是要使用更大参数量的版本。


返回列表
情感数据集大全
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。