轻松使用ollama本地部署大模型Llama3

云的事情不好说 2024-05-11 19:52:53

Ollama是什么?

可以在本地启动并运行大型语言模型。例如运行Llama 3,Phi 3、Mistral、Gemma和其他模型。

Ollama是一个为本地运行开源大型语言模型而设计的简化工具。它通过将模型权重、配置和数据集整合到一个由Modelfile管理的统一包中,极大地简化了LLM的部署过程。Ollama 支持各种 LLM。可以在官网查看相关信息:https://ollama.com/。

如果你还没有尝试过在本地部署过大模型,那么 ollama 非常适合你。

能直接运行大模型,与大模型进行对话。ollama 命令具有管理大模型的能力。利用 CPU 运行大模型。本地大模型安全可靠。终端直接开始聊天。社区提供了支持 web api 方式访问 WebUI。

一、安装Ollama

从官网下载:https://ollama.com/download

下载完成之后,解压zip压缩包,然后运行进行安装,如图所示:

点击 Next按钮,如图所示,提示可以在terminal 窗口运行 ollama run llama3 命令。

点击 Finish 按钮,完成安装。

二、验证是否安装成功

在终端窗口,输入 ollama 命令,看到命令行输出,表示已经安装成功,下面有 ollama 的常用命令:

% ollamaUsage: ollama [flags] ollama [command]Available Commands: serve Start ollama create Create a model from a Modelfile show Show information for a model run Run a model pull Pull a model from a registry push Push a model to a registry list List models cp Copy a model rm Remove a model help Help about any commandFlags: -h, --help help for ollama -v, --version Show version informationUse "ollama [command] --help" for more information about a command.

三、本地运行llama3模型

可以访问 https://ollama.com/library 查看当前支持的模型列表,如图所示:

在terminal 窗口运行如下命令:ollama run llama3

只需一条命令即可启动Llama3模型。一般来说run是用来跑模型的,但是如果本地没有这个模型的话,ollama会自动下载。

该命令会自动下载所需的权重文件,默认下载的是llama3:8b,完成后会提示用户输入问题进行测试。

由于国内的网络问题,下载模型的速度比较慢,以至于提示TLS handshake timeout,这种情况多可以尝试几次。

执行ollama serve 可启动ollama服务,ollama默认地址为:http://127.0.0.1:11434

查看模型列表:

% ollama listNAME ID SIZE MODIFIEDllama3:latest a6990ed6be41 4.7 GB 6 days ago

四、本地运行千问模型

运行千问大模型:

% ollama run qwen

qwen 模型对中文支持比较好。下载完毕之后可以在终端中直接进行对话 qwen 模型了。

使用 API 方式访问:

curl http://localhost:11434/api/chat -d '{ "model": "qwen", "messages": [ { "role": "user", "content": "为什么天空是蓝色的?" } ]}'

加上stream 参数,再次请求:

% curl http://localhost:11434/api/chat -d '{ "model": "qwen", "messages": [ { "role": "user", "content": "为什么天空是蓝色的?" } ], "stream": false}'

参数说明:

“model” 属性允许指定要与之交谈的模型,确保在需要多个模型以获得所需响应的不同用例中具有灵活性。

“messages” 属性允许按角色指定消息。在这种情况下,具有系统(system)角色的消息允许定义模型应如何与用户消息交互。具有用户(user)角色的消息是提供给模型的用户提示。

“stream”: false 属性将使服务器以单个 JSON 形式回复,而不是通过标记(token)字符串拆分的对象流。

响应结果:

{"model":"qwen","created_at":"2024-05-11T05:24:44.285691Z","message":{"role":"assistant","content":"这是因为太阳光中的短波被大气层吸收,而长波则能穿透大气层并到达我们的眼睛。这就是为什么我们看到的天空是蓝色的原因。"},"done":true,"total_duration":5199587424,"load_duration":2204128364,"prompt_eval_count":14,"prompt_eval_duration":294848000,"eval_count":35,"eval_duration":2698413000}



0 阅读:0

云的事情不好说

简介:感谢大家的关注