Ollama本地私有化部署

moonjerx
2024-09-11 / 0 评论 / 39 阅读 / 正在检测是否收录...

Ollama 是一个用于在本地或私有环境中部署大型语言模型(LLMs)的工具。本文将详细介绍如何通过一个一键安装脚本在本地环境中部署 Ollama,并集成联网搜索功能。

1. 前提条件

1.1 系统要求

  • 操作系统:Linux(推荐Ubuntu)
  • Docker:必须安装 Docker 和 Docker Compose
  • Git:用于克隆 Ollama 仓库

1.2 硬件要求

  • CPU:至少4核
  • RAM:根据模型大小至少需要8GB RAM,更大的模型可能需要更多
  • 硬盘:至少需要50GB的存储空间来保存模型和数据

2. 一键安装脚本

我们将使用一个一键安装脚本 ollama_install.sh 来自动化整个安装流程。该脚本将自动下载 Ollama 仓库、安装所需依赖、下载模型,并集成联网搜索功能。

2.1 一键安装脚本 ollama_install.sh

#!/bin/bash

# 设置变量
OLLAMA_DIR="$HOME/programs/ollama"
SEARCH_PROXY_PATH="$HOME/programs/search_proxy"
MODEL_NAME="ollama-base"
PORT="8080"

# 更新系统包索引
sudo apt-get update

# 检查是否已安装Docker
if ! command -v docker &> /dev/null; then
    # 如果未安装,则安装Docker
    echo "Docker not found, installing..."
    sudo apt-get install docker.io -y
    sudo systemctl start docker
    sudo usermod -aG docker $USER
    newgrp docker
else
    echo "Docker already installed."
fi

# 检查是否已安装Docker Compose
if ! command -v docker-compose &> /dev/null; then
    # 如果未安装,则安装Docker Compose
    echo "Docker Compose not found, installing..."
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
else
    echo "Docker Compose already installed."
fi

# 检查是否已安装Python 3
if ! command -v python3 &> /dev/null; then
    # 如果未安装,则安装Python 3
    echo "Python 3 not found, installing..."
    sudo apt-get install python3 -y
else
    echo "Python 3 already installed."
fi

# 创建Ollama目录
mkdir -p $OLLAMA_DIR

# 克隆Ollama仓库
git clone https://github.com/ollama/ollama.git $OLLAMA_DIR

# 切换到Ollama目录
cd $OLLAMA_DIR

# 下载默认模型
echo "Downloading default model..."
ollama pull $MODEL_NAME

# 创建.env文件
echo "MODEL=$MODEL_NAME" > .env
echo "PORT=$PORT" >> .env

# 创建搜索代理脚本
mkdir -p $SEARCH_PROXY_PATH
cat <<EOF > $SEARCH_PROXY_PATH/search_proxy.py
import requests
import sys

def search_web(query):
    url = f'https://html.duckduckgo.com/html/?q={query}'
    response = requests.get(url)
    if response.status_code == 200:
        return response.text
    else:
        return None

if __name__ == "__main__":
    if len(sys.argv) > 1:
        query = ' '.join(sys.argv[1:])
        result = search_web(query)
        print(result)
EOF
chmod +x $SEARCH_PROXY_PATH/search_proxy.py

# 创建搜索代理的服务文件
cat <<EOF > /etc/systemd/system/search_proxy.service
[Unit]
Description=Search Proxy Service

[Service]
User=$USER
WorkingDirectory=$SEARCH_PROXY_PATH
ExecStart=/usr/bin/env python3 \$PWD/search_proxy.py \${QUERY}
Restart=always

[Install]
WantedBy=multi-user.target
EOF

# 启动搜索代理服务
sudo systemctl daemon-reload
sudo systemctl enable search_proxy.service
sudo systemctl start search_proxy.service

# 构建并运行Ollama容器
docker-compose up --build &

echo "Ollama installation and setup complete. The search proxy is running in the background."

2.2 使用方法

  1. 保存脚本:将上述脚本保存为 ollama_install.sh 文件。
  2. 赋予执行权限:在终端中运行 chmod +x ollama_install.sh
  3. 执行脚本:在终端中运行 sudo ./ollama_install.sh

3. 安装后使用说明

3.1 访问 Ollama Web UI

脚本执行完成后,Ollama 将会在后台运行。你可以通过 Web 浏览器访问 Ollama 的 Web UI。

  1. 打开浏览器:使用你喜欢的浏览器。
  2. 访问地址:输入 http://localhost:8080 或者根据你的实际 IP 地址和端口号输入 http://your_server_ip:8080

3.2 使用联网搜索功能

Ollama 现在已经集成了联网搜索功能。当你在 Ollama 的 Web UI 中输入查询时,它将利用 DuckDuckGo API 进行搜索,并显示搜索结果。

3.3 日常维护

  • 停止服务:如果需要停止 Ollama 服务,可以在终端中运行 docker-compose down
  • 重启服务:如果需要重启 Ollama 服务,可以在终端中运行 docker-compose up --build
  • 查看日志:可以查看 Ollama 的日志文件来诊断问题。日志通常位于 $OLLAMA_DIR/logs 目录下。

4. 总结

通过上述步骤,你已经成功地在本地环境中部署了 Ollama,并且集成联网搜索功能。Ollama 不仅简化了大型语言模型的部署流程,还提供了高度的灵活性和可扩展性。随着技术的进步,私有化部署将成为越来越多企业和个人的选择。

0

评论 (0)

取消

您的IP: