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 的常用命令:
% ollama Usage: 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 command Flags: -h, –help help for ollama -v, –version Show version information Use “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 list NAME ID SIZE MODIFIED llama3: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}