搭建Ollama环境

Ollama环境搭建

参考链接:https://baijiahao.baidu.com/s?id=1798741366479996086&wfr=spider&for=pc

下载Ollama

下载地址:https://ollama.com/download

双击直接安装

img

安装成功,默认模型的位置是C:\Users .ollama\models,可在powershell修改模型位置setx OLLAMA_MODELS "D:\others\Ollama\model",重启生效

安装OpenAI Web

第一步:勾选Hyper-V,然后重启电脑

第二步:安装WSL

打开Powershell,以管理员身份启动命令窗口

wsl --update

wsl --install

如果wsl --install报错可参考https://www.jb51.net/server/320466kjs.htm

设置ubuntu的名字:aimee

设置密码:123456

第三步:访问Docker官网下载

下载链接:https://docs.docker.com/desktop/install/windows-install/

国外网站,要梯子,双击安装,安装完后重启电脑,选择跳过登录直接进去

打开PowerShell,运行docker,命令成功运行,说明docker安装成功

第四步:安装Open WebUI

在PowerShell窗口运行如下命令

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

安装完成后,在Docker Desktop中可以看到Open WebUI的web界面地址为:localhost:3000

若报错(HTTP code 500) server error - Ports are not available: exposing port TCP 0.0.0.0:3000可参考https://blog.csdn.net/qq_51714354/article/details/138197931
先net stop winnat,然后net start winnat,最后在Docker界面Container的Actions列点击start按钮。

点击后

点击sign up注册,账号,邮箱,密码记好,下次登录时需要用到邮箱和密码登录

Ollama添加模型

之前部署的Ollama是没有模型选择的,接下来添加模型进去

添加本地已下载模型

第一步:将模型放置在D:\others\Ollama\model\blobs

第二步:新建一个Modelfile.txt

FROM ./Llama3-8B-Chinese-Chat-q8_0-v2_1.gguf
TEMPLATE """{{ if .System }}<|start_header_id|>system<|end_header_id|>

{{ .System }}<|eot_id|>{{ end }}{{ if .Prompt }}<|start_header_id|>user<|end_header_id|>

{{ .Prompt }}<|eot_id|>{{ end }}<|start_header_id|>assistant<|end_header_id|>

{{ .Response }}<|eot_id|>"""
PARAMETER stop "<|start_header_id|>"
PARAMETER stop "<|end_header_id|>"
PARAMETER stop "<|eot_id|>"
PARAMETER num_keep 4
PARAMETER num_ctx 4096

Modelfile的写法可以看ollama官网

https://ollama.com/library


params写到txt时修改一下格式

第三步:在blobs路径下打开cmd,运行ollama create llama3chinesechat -f Modelfile.txt

第四步:看下模型列表ollama list

移除模型的命令为:

ollama rm llama3chinesechat:latest

在线添加ollama上的模型

ollama run gemma2

如果本地没有gemma2,运行过程中会自动下载

Python调用ollama模型

第一步:设置个人的API Key

第二步:设置base_url

第三步:使用python访问模型

from openai import OpenAI

client = OpenAI(
    api_key="sk-7800dc8fded44016b70814bf80f4c78f",
    base_url="http://localhost:11434/v1"
)
models = client.models.list()
print(models)

运行之后的结果为

SyncPage[Model](data=[Model(id='gemma2:latest', created=1721703280, object='model', owned_by='library'), Model(id='llama3chinesechat:latest', created=1721699504, object='model', owned_by='library')], object='list')

第四步:选择模型对话

from openai import OpenAI

client = OpenAI(
    api_key="sk-7800dc8fded44016b70814bf80f4c78f",
    base_url="http://localhost:11434/v1"
)
models = client.models.list()

messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "证明必达格拉斯定理"}
    ]
params = {
        "model": "gemma2:latest",
        "messages": messages,
        "stream": True,
        "timeout": 600,
        "temperature": 0.0,
    }

stream = client.chat.completions.create(**params)

for chunk in stream:
    if not chunk.choices or chunk.choices[0].delta.content is None:
        continue

    print(chunk.choices[0].delta.content, end="")
print()
posted @ 2024-07-23 15:26  o云淡风轻o  阅读(568)  评论(0编辑  收藏  举报