Python调用Ollama 跑通大模型全流程 (Linux无sudo权限)(并获取Embedding)
安装Ollama并启动
有sudo权限
直接代码安装。官方教程
Install
curl -fsSL https://ollama.com/install.sh | sh
Start Ollama
Start Ollama and verify it is running:
sudo systemctl start ollama
sudo systemctl status ollama
Model download
Get and run the llama3.2 model from the ollama model library
ollama run llama3.2
其他命令
Updating
Update Ollama by running the install script again:
curl -fsSL https://ollama.com/install.sh | sh
Or by re-downloading Ollama:
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
Uninstall
Remove the ollama service:
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
Remove the ollama binary from your bin directory (either /usr/local/bin, /usr/bin, or /bin):
sudo rm $(which ollama)
Remove the downloaded models and Ollama service user and group:
sudo rm -r /usr/share/ollama
sudo userdel ollama
sudo groupdel ollama
Remove installed libraries:
sudo rm -rf /usr/local/lib/ollama
无sudo权限
Manual install
Note
If you are upgrading from a prior version, you should remove the old libraries with sudo rm -rf /usr/lib/ollama first.
Download and extract the package:
cd goal_install_dir(目标的安装文件夹)
curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
tar -xzf ollama-linux-amd64.tgz
Start Ollama:
cd goal_install_dir/bin(目标的安装文件夹下的bin)
./ollama serve
就是在正常的命令前面加上 ./
即可
In another terminal, verify that Ollama is running:
cd goal_install_dir/bin(目标的安装文件夹下的bin)
./ollama -v
Model download
Get and run the llama3.2 model from the ollama model library
cd goal_install_dir/bin(目标的安装文件夹下的bin)
./ollama run llama3.2
python调用
pip install ollama
使用
import ollama
from ollama import embed
def test_ollama_chat():
# Test case 1: Test with a simple question
messages1 = [{'role': 'user', 'content': 'Aa'}]
ollama_embed=ollama.embed(model='llama3.2', input='Aa')
ollama_chat= ollama.chat(model='llama3.2', messages=messages1, stream=True)
print(ollama_embed)
for chunk in ollama_chat:
print(chunk['message']['content'], end='', flush=True)
test_ollama_chat()
注意:该embedding是大模型对输入的embedding,随机种子一样,每次输出是一样的。