Autodl+ollama+LLM部署(终端对话+本地API调用对话)

一、连接autodl并下载ollama

创建如下配置的实例

使用该实例的登陆指令和密码连接到该实例(我使用的是VScode)

连接成功以后在终端使用以下命令开启学术加速(加速下载,否则网速会很慢)

source /etc/network_turbo

开启后使用下面的命令下载ollama(服务器是Linux系统,此命令可以在ollama官网的Linux版本下载位置找到)

curl -fsSL https://ollama.com/install.sh | sh

从上图可以看出,有个依赖需要安装,这个要看部署的服务器情况,有时候缺少有时候又是ok的,缺少什么就安装什么,安装对应的依赖后重新安装ollama就好了。

分别执行下列两个命令安装lshw:

sudo apt-get update
sudo apt-get install lshw

 安装成功之后再次执行ollama安装命令

ollama安装成功!

ollama安装成功后默认以服务形式运行,运行命令检查状态:

systemctl status ollama.service

如果出现此问题,则systemctl 命令异常,需要安装 systemd和systemctl,分别执行下列两个命令:

apt-get install systemd -y
apt-get install systemctl -y

安装完成后,重新启动服务:

systemctl start ollama.service

查看服务启动状态: 

systemctl status ollama.service

此状态说明服务正常。

二、设置ollama的端口和模型保存地址

由于AutoDL只能开放6006端口,所以我们要想在本地电脑访问到Ollama接口,必须手动设置Ollama端口为6006;同时将Ollama的模型保存地址也修改到autodl-tmp文件夹下。

编辑/etc/profile文件

vim /etc/profile

首先按G,然后再按o进入编辑模式,在文件底部加入以下内容。

export OLLAMA_HOST="0.0.0.0:6006"
export OLLAMA_MODELS=/root/autodl-tmp/models

接下来按EXC退出编辑模式,输入:wq保存文件。

然后输入以下命令使得配置生效。

source /etc/profile

检查配置是否生效。

echo $OLLAMA_HOST

出现下列显示说明配置生效 

三、下载模型并运行(终端运行)

使用以下命令拉取模型(我拉取的是llama3,可根据自己需要修改模型名称):

ollama pull llama3

拉取成功显示如下: 

再执行以下命令运行模型(llama3为模型名称,同样根据自己需要修改),若还未下载对应模型,执行此命令后也会自动下载:

ollama run llama3

运行成功后即可在终端与LLM对话聊天:

 成功部署后使用下列命令取消学术加速,若需要下载新模型则再执行前面的命令开启:

unset http_proxy && unset https_proxy

四、使用python脚本调用API执行

Ollama模型默认会开启两个API接口供用户访问。

  1. http://localhost:6006/api/generate
  2. http://localhost:6006/api/chat

想要访问AutoDL6006端口,还需要在本地开启一个代理。

回到容器实例页面,然后点击自定义服务

image-20240626143904539

下载桌面工具:

image-20240626143948323

下载完成后自行解压,打开文件夹中的AutoDL.exe可执行文件。

image-20240626144048219

然后,输入SSH指令和SSH密码,点击开始代理即可。

image-20240626144303807

如果是LinuxMac系统选择后面的版本,安装提示操作即可。

image-20240626144156310

使用以下测试脚本:

url='http://localhost:6006/api/chat'

import requests
import json

def send_post_request(url, data):
    try:
        headers = {'Content-type': 'application/json'}
        response = requests.post(url, data=json.dumps(data))
        if response.status_code == 200:
            return response.json()
        else:
            print(f"Request failed with status code: {response.status_code}")
            return None
    except requests.exceptions.RequestException as e:
        print(f"Request failed: {e}")
        return None

# 请求参数
data = {
    "model": "llama3",
    "messages": [
        {
            "role": "user",
            "content":"who are you?"
                
        }
    ],
    "stream": False
}

# 发送 POST 请求并获取响应数据
response_data = send_post_request(url, data)
if response_data:
    # print("Response data:")
    # 提取 content 字段的值
    content = response_data["message"]["content"]
    print(content)

 运行后得到回复,则说明API调用成功!

参考博客:
【AI基础】租用云GPU之autoDL部署大模型ollama+llama3_autodl ollama-CSDN博客

基于AutoDL+Ollama的大模型在线部署 | Ming-Log's Blog

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值