Ollama简介

Ollama 是一个开源的大型语言模型(LLM)平台,旨在让用户能够轻松地在本地运行、管理和与大型语言模型进行交互。
Ollama 提供了一个简单的方式来加载和使用各种预训练的语言模型,支持文本生成、翻译、代码编写、问答等多种自然语言处理任务。
Ollama 的特点在于它不仅仅提供了现成的模型和工具集,还提供了方便的界面和 API,使得从文本生成、对话系统到语义分析等任务都能快速实现。

docker部署Ollama

前提主机上安装了docker 并且主机的规格大小至少为:4C8G
安装docker: yum install -y docker

或者其他docker 安装方式参考: https://blog.csdn.net/weixin_48953586/article/details/145597723
拉取ollama的镜像:

docker pull ollama/ollama
# 这里如果docker不能直接拉取镜像,需要配置下docker的镜像源

运行ollama容器

# 仅CPU运行: 映射出11434端口
docker run -d -v ollama:/root/ollama -p 11434:11434 --name ollama  ollama/ollama

这里采用linux主机运行所以使用仅cpu运行,如需使用gpu运行可以参考: https://ollama.cadn.net.cn/docker.html

通过ollama安装模型: llama3.2
下载模型:

 docker exec -it ollama ollama run llama3.2

拉取过程取决网速.
上面的模型下载成功之后,会自动进入命令行的对话界面可以进行对话,
在这里插入图片描述
测试为小模型,模型的准确性和性能比较差强人意.目的是为了测试跑通整个流程
以上就是通过docker部署完成了

api调用

部署地址: 10.155.252.193

查询当前模型列表命令:

# 在部署主机上执行命令
curl http://localhost:11434/api/tags

在这里插入图片描述

使用Python调用api

# -*- coding: utf-8 -*-
"""
-------------------------------------------------
@ File    : lear
@ Author :wuchangping
@ Date :2025/4/22 15:16 
@ Description:xxx
-------------------------------------------------
"""
import requests
import json
import time

## 构建调用主函数
def send_request(prompt):
    response = requests.post(
        "http://10.155.252.193:11434/api/generate",
        json={"model": "llama3.2:1b", "prompt": prompt, "stream": True},
        stream=True
    )
    for line in response.iter_lines():
        if line:
            data = json.loads(line.decode("utf-8"))
            full_text = data.get("response", "")
            for char in full_text:
                print(char, end="", flush=True)
                time.sleep(0.01)  # 模拟逐字输出的延迟
            # print(data.get("response", ""), end="", flush=True)

## 传递参数模块
## 这里让他去读取日志文件内容
def analyse():
    with open("log" ,"r",encoding='UTF-8') as file:
        log_content=file.read()
    #构建提示词
        prompt = f"""
           请分析以下日志文件内容:
           - 统计请求的客户端ip和分别对应的数量
           - 统计响应码和数量
           日志内容:
           {log_content}
           """
    send_request(prompt)

if __name__ == '__main__':
    analyse()

在这里插入图片描述

模型的性能
主机的cpu使用情况:
在这里插入图片描述
参考文档:
https://blog.csdn.net/weixin_40280870/article/details/145300048
https://blog.csdn.net/weixin_48953586/article/details/145597723
https://ollama.cadn.net.cn/docker.html

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐