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 使用方法
- 保存脚本:将上述脚本保存为
ollama_install.sh
文件。 - 赋予执行权限:在终端中运行
chmod +x ollama_install.sh
。 - 执行脚本:在终端中运行
sudo ./ollama_install.sh
。
3. 安装后使用说明
3.1 访问 Ollama Web UI
脚本执行完成后,Ollama 将会在后台运行。你可以通过 Web 浏览器访问 Ollama 的 Web UI。
- 打开浏览器:使用你喜欢的浏览器。
- 访问地址:输入
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)