利用Ollama部署Llama 3/deepseek-r1模型,只需5行代码即可实现对话


1. 前言

尽管目前开源的大语言模型很多,但是许多人想在电脑上部署,仍需要克服许多困难,例如需要掌握相关的专业知识、配备昂贵的硬件设备(GPUs)、以及了解相关的系统架构知识。

可能有人会说,那些强大的在在线模型,例如现在不用注册帐号也能使用的 GPT-4o mini 以及目前国内第一梯队的阿里的通义千问,使用这些模型都需要依赖外部的服务器,许多公司常常因为数据安全问题(或者成本问题)而不选择使用这些模型,而对于个人而言,我们很难有能力自己训练大模型,能做的只能是通过提示工程一点点训练模型参数,如果能在本地部署自己的模型,那么这些训练好的参数将会一直保留,形成一个越来越满足自己需求的大语言模型。

本文将介绍的 Ollama 是一个能在本地运行LLM模型(包括 Llama 3/以及最近很火的deepseek-r1)的工具。它允许用户在自己的计算机上部署和运行 Llama 模型,无需依赖云服务。通过 Ollama,用户可以使用这些开源的强大的语言模型来进行各种NLP任务,例如文本生成、对话机器人等,由于是部署在本地服务器,因此无需担心隐私泄漏或需要依赖于外部服务器。

总的而言,Llama 3/deepseek-r1 是大模型本身,专注于提供强大的语言理解和生成能力,这些开源大模型都能够在公开渠道下载(llama 3deepseek-r1)。而Ollama是一个运行和管理大语言模型的工具,用以帮助用户在本地机器上方便地使用这些模型。

在这里插入图片描述

当然,开源大模型的推理和生成功能总是落后于闭源的商业模型,但总体对于许多公司而言,使用开源模型总是利大于弊的。

2. 通过Ollama在本地运行Llama 3和deepseek-r1

通过Ollama工具,可以很简单地在本地机器上运行开源的大语言模型。首先,需要根据自己的操作系统下载相应的Ollama到本地(下载地址);其次,在终端命令行窗口,通过ollama命令下载相应的llama大模型(下载命令),例如,如果想要安装Llama 3,可以执行一下命令:

ollama run llama3

如果要下载最近出圈的deepseek(目前上了r1版本),可以执行以下命令(更多命令可以参考: deepseek-r1安装命令):

ollama run deepseek-r1

如果是首次执行这个命令,则需要下载大模型,模型的参数量越大,下载时间越长;而如果是曾经运行过上述命令,并已下载好大模型,则该命令则是启动并运行大模型。当看到这个图标之后,表明Ollama已经在运行相应的大模型。

在这里插入图片描述

在终端输入提问信息后回车,即可获得大模型的反馈信息。

在这里插入图片描述

3. 通过ollama的python api与大模型对话

上述在终端运行的方式,尽管方便,但是不能实现更复杂的功能和场景模拟。以下介绍如何通过 python API 与大模型实现更灵活的对话。

需要注意的是,在用python API之前,要先运行上述的ollama run llama3或者是ollama run deepseek-r1将大模型启动,才能成功执行相应的代码。

首先需要安装相应的python库:

pip install ollama

后文代码都以 model=llama3 模型作为示例,如果要调用deepseek-r1,只需要在代码中将模型改为 model=deepseek-r1

接着可以尝试运行如下的简单示例代码:

import ollama

model = "llama3"
response = ollama.chat(
    model=model, 
    messages=[
        {
   
   "role": "user", "content": "What's the capital of Poland?"}
    ]
)
print(response["message"]["content"])

## Prints: The capital of Poland is Warsaw (Polish: Warszawa).

上述代码中,import ollama是启用Ollama API;model = "llama3"是指定想要使用的大模型;ollama.chat()则是调用ollama库获取相应的响应信息,包哈了模型信息和请求信息。

其中,content是实际的消息内容,role定义了谁是消息的“作者”,目前有3种角色类型:

  1. user也就是用户自己,表示该消息是由用户发起询问;
  2. assistant则表示AI模型,可实现多方对话的模拟;
  3. system则表示后面的消息内容,需要聊天机器人在整个对话过程中都要记住。相当于为模型提供了内部知识,能够用来设置聊天机器人的行为。

我们可以试验如下的例子,对于同一个问题query = "What is the capital of Poland?",通过添加system消息为模型提供内部知识,来改变模型的回答结果。

system_messages = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lins号丹

点个打赏吧,救救发际线~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值