ollama部署开源大模型

ollama部署开源大模型

在服务器上面安装ollama

https://ollama.com/download/linux

curl -fsSL https://ollama.com/install.sh | sh

更新ollama也是这个脚本

服务器启动下载一个大语言模型

这里的模型名称可以去仓库查找

ollama pull qwen:14b

下载号以后启动:

ollama run qwen:14b

api 访问

docker部署 open-webui

https://github.com/open-webui/open-webui

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://xxx.xxx.xxx.xxx:11434 -v ~/docker/open-webui/data:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

本地访问页面

看一个问题两个模型的回答对比:

问题:

`public static String getDigestPassword(String password, String salt) {
    char[] passwordCharArray = password.toCharArray();
    char[] saltCharArray = salt.toCharArray();
    char[] dest = new char[passwordCharArray.length + saltCharArray.length];
    int min = Math.min(passwordCharArray.length, saltCharArray.length);
    int i = 0;
    int p = 0;

    int s;
    for(s = 0; i < min * 2; ++i) {
        if (i % 2 == 0) {
            dest[i] = passwordCharArray[p];
            ++p;
        } else {
            dest[i] = saltCharArray[s];
            ++s;
        }
    }

    if (passwordCharArray.length > min) {
        for(i = min * 2; i < dest.length; ++p) {
            dest[i] = passwordCharArray[p];
            ++i;
        }
    }

    if (saltCharArray.length > min) {
        for(i = min * 2; i < dest.length; ++s) {
            dest[i] = saltCharArray[s];
            ++i;
        }
    }

    String target = new String(dest) + SALT_CONSTANT;
    String md5Hex = md5Hex(target);
    return md5Hex;
}`
这个方法是什么意思?

GPT-4 的回答

这个Java方法 getDigestPassword 是用来生成一个加盐(salt)的密码摘要的。所谓“加盐”,就是在密码处理过程中与密码组合的一段额外的随机数据,这样做可以提高密码的安全性。这个方法的工作流程如下:

1. 接收两个字符串参数:password 和 salt。
2. 将这两个字符串转换为字符数组:passwordCharArray 和 saltCharArray。
3. 创建一个新的字符数组 dest,它的长度是 passwordCharArray 和 saltCharArray 长度之和,用来存储合并后的密码和盐的字符。
4. 使用两个指针 p 和 s 来遍历 passwordCharArray 和 saltCharArray 数组,并按照顺序交替地将来自密码和盐的字符放入到 dest 数组中。
5. 首先,通过一个循环将两个数组中较短的数组完全交叉合并到 dest 中。
6. 如果 passwordCharArray 比 saltCharArray 长,那么剩余的的密码字符将被附加到 dest 的尾部。
7. 同样,如果 saltCharArray 比 passwordCharArray 长,那么剩余的盐字符将被附加到 dest 的尾部。
8. 接着,在 dest 数组后面添加一个常量 SALT_CONSTANT(尽管这个常量在代码中没有显示定义,可以假设它已在其他地方定义)。
9. 用 md5Hex 方法计算修改后的字符串 target 的MD5哈希值。该方法没有在代码中给出,但我们可以假设它是计算MD5摘要的一个有效方法。
10. 返回计算出的MD5哈希值。

整体来看,这个方法的目的是通过将用户密码与盐值交替合并,并加上一个常量(可能用于增强安全性),然后使用MD5哈希算法来生成密码的摘要,以存储加盐后的密码哈希值。这个方法增加了密码存储的安全性,因为即使两个用户有相同的密码,由于盐值的随机性,他们存储的哈希值将是不同的。

qwen:14b

llama3-70b

由于这个模型40G,太大了,我的服务器扛不住就没法测试了,但是根据相关资料显示,其性能目前排行所有产品中第五名(第一名还是GPT4)后续有可能会超越GPT4.

0%