【AI基础】大模型部署工具之ollama的安装部署以及api调用

ollama是大模型部署方案,对应docker,本质也是基于docker的容器化技术。

从前面的文章可以看到,部署大模型做的准备工作是比较繁琐的,包括各个环节的版本对应。ollama提供了一个很好的解决方案。

ollama主要针对主流的LLaMA架构的开源大模型设计,并且已被LangChain、Taskweaver等在内的多个热门项目高度集成。同时ollama提供了openAI兼容的api,可以最大限度的减少理解和开发成本。

一、下载安装ollama

1.1 安装

官方地址:https://ollama.com/

开源地址:https://github.com/ollama/ollama

下载后双击安装:

一路下一步即可。

1.2 检验

ollama安装后默认已经启动,我们可以通过访问其提供的api服务来进行检验。

参考官方文档:ollama的api · ollama/ollama · GitHub

这里运行ollama的机器为windows系统, ip为192.168.3.154。

1.2.1 通过localhost检验

运行命令: 

> curl http://localhost:11434/api/generate -d "{\"model\": \"qwen2\",\"prompt\": \"who are you?\",\"stream\":false}"

查看结果:

这里注意两点:

1、不要使用PowerShell(里面的curl参数不一样),使用 cmd 或者 git Cmd

2、注意参数的引号,通过斜杠 \ 来转义。 

1.2.2 通过IP地址检验

运行命令: 

> curl http://192.168.3.154:11434/api/generate -d "{\"model\": \"qwen2\",\"prompt\": \"who are you?\",\"stream\":false}"

查看结果:

提示连接不上:"curl: (7) Failed to connect to 192.168.3.154 port 11434 after 2021 ms: Couldn't connect to server"。 

这是因为ollama安装后默认只能本地访问,接下来配置远程访问api。

1.3 配置

这里配置主要是因为两个需求:远程可以访问ollama的api接口服务以及自定义大模型存放路径。

ollama默认把大模型保存在路径 用户目录/.ollama/models 下:

基于各种原因,我们可能不希望使用这个默认路径,可以通过环境变量的配置来更改大模型保存的目录。

添加环境变量 OLLAMA_HOST 以及 OLLAMA_MODELS

  • - OLLAMA_HOST,0.0.0.0, 配置后可以远程访问;
  • - OLLAMA_MODELS, c:\ai\llms_ollama,配置后ollama拉取的大模型会存放在此路径;

这里有重要的一步,需要重启ollama,使配置生效。

在任务栏的ollama图标上点击右键,选择“Quit Ollama”退出ollama:

然后重新打开ollama:

1.4 重新检验

这里通过IP地址重新进行检验。

1.4.1 windows系统

运行命令:

> curl http://192.168.3.154:11434/api/generate -d "{\"model\": \"qwen2\",\"prompt\": \"who are you?\",\"stream\":false}"

返回结果: 

1.4.2 linux系统和mac系统

生成Completion

> curl http://192.168.3.154:11434/api/generate -d '{"model": "qwen2","prompt": "who are you?","stream":false}'

返回结果:

这里注意参数的格式,和windows系统不一样,引号在这里直接使用不需要转义。 

生成Chat Completion

> curl http://192.168.3.154:11434/api/chat -d '{
  "model": "qwen2",
  "messages": [
    {
      "role": "user",
      "content": "who are you?"
    }
  ],
  "stream": false
}'

返回结果:

 

二、部署运行大模型

接下来就是实际来部署一个大模型,这里以llama3为例。

 2.1 获取大模型部署命令

在ollama官网搜索llama3大模型:https://ollama.com/library

选择第一个llama3进入大模型详情页:

在上图可以看到默认有三个标签可以选择:最新版、8B和70B,这里我们选择 8B的,所以我们需要运行 ollama run llama3。如果我们需要部署70B的,则需要运行 ollama run llama3:70b。

2.2 部署大模型

我们可以直接运行 ollama run llama3,如果llama3没有下载过则会下载,否则直接运行。也可以先下载然后运行:

> ollama pull llama3
> ollama run llama3

可以看到,使用方式跟docker是一样的,大模型对应了docker中的镜像。

下载完后会提示成功:

2.3 和大模型交互

接下来可以直接跟llama3对话,在三个箭头➡️后输入问题,llama3会给出回应:

可以看到ollama成功部署了大模型,并成功运行。 

三、在LangChain中使用Ollama

3.1 通过jupyter来运行

3.1.1 安装jupyter

参考 【AI工具】jupyter notebook和jupyterlab对比和安装-CSDN博客 安装jupyterlab。

3.1.2 新建一个notebook

在新的文件中输入如下代码:

# 引入ollama
from langchain_community.chat_models import ChatOllama

# 加载llama3模型
ollama_llm = ChatOllama(model="llama3")

# 构造Message
from langchain_core.messages import HumanMessage

messages = [
    HumanMessage(
        content="你好,请你介绍一下你自己",
    )
]

# 发送Message
chat_model_response = ollama_llm.invoke(messages)

# 输入Message
chat_model_response

这里有个细节,代码一共是五个输入块,这是为了在出错时,可以快速定位是哪一块出了问题。

3.1.3 运行

现在把鼠标定位在第一行,点击工具栏的运行按钮,一步一步的运行,运行5步后,输出了AI的自我介绍:

这样在LangChain中通过ollama,直接调用了大模型。

可以再问一次二的问题:

3.2 直接通过python运行

3.2.1 安装LangChain环境

参考 :【AI基础】第四步:保姆喂饭级-langchain+chatglm2-6b+m3e-base_m3e-base

3.2.2 新建python文件

输入代码:

# 引入ollama
from langchain_community.chat_models import ChatOllama
# 加载llama3模型
ollama_llm = ChatOllama(model="llama3")
# 构造Message
from langchain_core.messages import HumanMessage
messages = [
    HumanMessage(
        content="你好,请你介绍一下你自己",
    )
]
# 发送Message
chat_model_response = ollama_llm.invoke(messages)
# 输入Message
chat_model_response

3.2.3 运行

执行命令运行:

> python dev_ollama.py

运行成功。 

  • 29
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大语言模型部署可以通过使用开源的大语言模型部署平台来实现。一个例子是OpenLLM,它是一个用于在生产环境中操作大型语言模型的开放平台。OpenLLM提供了一个标准的解决方案,可以将大语言模型部署到云端或本地,并且可以放心地用于生产环境中。它还提供了进一步的能力,让用户更加方便地基于大语言模型构建更强大的AI应用。通过使用OpenLLM,您可以轻松地微调、服务、部署和监控任何大语言模型。\[2\] 另外,为了开发公司自己的大语言模型,一种常见的方式是结合专业领域的训练数据和网上的开源大语言模型进行微调。这种方式相对于从零开始自研大语言模型来说,更加节省资源和金钱。因此,如果您的公司是一个小公司或者资源有限,这种方式可能更适合您。\[3\]希望这些信息能够给您提供一些关于大语言模型部署的思路。 #### 引用[.reference_title] - *1* *3* [如何部署属于自己的大语言模型](https://blog.csdn.net/weixin_39759781/article/details/130063164)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [AIGC:大语言模型开放平台OpenLLM简介(提供简易的模型部署体验)](https://blog.csdn.net/zhanggqianglovec/article/details/131556821)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值