diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js index 793a7b8..1c44cd4 100644 --- a/docs/.vitepress/config.js +++ b/docs/.vitepress/config.js @@ -227,6 +227,7 @@ export default { { text: "杂谈", items: [ + {text: "2024年常见Ollama大模型对比", link: "/杂谈/2024年常见Ollama大模型对比"}, {text: "软件工程圣经《人月神话》到底讲了什么", link: "/杂谈/软件工程圣经《人月神话》到底讲了什么"}, {text: "项目master心得体会", link: "/杂谈/项目master心得体会"}, {text: "分享一下我Mac使用的软件", link: "/杂谈/分享一下我Mac使用的软件"}, diff --git "a/docs/\346\235\202\350\260\210/2024\345\271\264\345\270\270\350\247\201Ollama\345\244\247\346\250\241\345\236\213\345\257\271\346\257\224.md" "b/docs/\346\235\202\350\260\210/2024\345\271\264\345\270\270\350\247\201Ollama\345\244\247\346\250\241\345\236\213\345\257\271\346\257\224.md" new file mode 100644 index 0000000..9f9e497 --- /dev/null +++ "b/docs/\346\235\202\350\260\210/2024\345\271\264\345\270\270\350\247\201Ollama\345\244\247\346\250\241\345\236\213\345\257\271\346\257\224.md" @@ -0,0 +1,148 @@ +> [Ollama常用命令](../软件/Ollama常用命令.md) +> +> [本地局域网部署及使用Ollama大模型](../软件/本地局域网部署及使用Ollama大模型.md) + +# 2024年常见Ollama大模型对比 + +最近对大模型很感兴趣,于是下载了许多热门的大模型: + +image-20241129143511099 + +我之前就听闻`llama`很出名,这是由meta推出的聊天模型,还有阿里的`qwen`(通义千问),以及很火的数学推理模型`mathstral`,和图文识别模型`llava`。那么模型准备好了,就开始对比吧 + +> 先说结论吧:[qwen2.5-coder](https://ollama.com/library/qwen2.5-coder)应该是截止2024年最适合程序员的本地大模型了! + +# 常识题 + +这一轮表现差不多,基本都能答出来,但是总体上感觉`qwen:14b`的语言更简洁点。 + +image-20241129144001551 + +# 逻辑思维题 + +这里答案应该是**钢**,只有`qwen:14b`和`qwen:7b`答对了 + +image-20241129144354875 + +# 数学推理题 + +然后是数学推理题,大家答得都差不多 + +image-20241129144624052 + +# 代码编写题 + +重点来了,对于程序员来说,最重要的是写代码的能力,这一项可以说`qwen`赢麻了,因为它本身就是为了code而准备的。 + +为了测试,我去leetcode找了几道题,涵盖简单-中等-困难。 + +## 题目 + +首先,我们看一下题目: +image-20241129145309718 + +image-20241129145329259 + +image-20241129145402828 + +image-20241129145421719 + +image-20241129145441111 + +image-20241129145500480 + +image-20241129145519432 + +## llama + +llama的表现不尽人意,首先在简单题就翻车了,第4题找中位数就不会了。。。 + +image-20241129145648500 + +第8题,代码都写错了,逆天,我后面都不想测了。。。 + +image-20241129150619113 + +第9题,回文数也寄了,x不是int类型的吗?哪儿来的length()方法,int又不是包装的类型,逆天,llama,out! + +image-20241129150902826 + +## mastral + +和`llama`一样,直接第4题就不会了。 + +image-20241129150420554 + +字符串转换整数 (atoi),直接秒了,还不错。 + +image-20241129150529717 + +回文数这道题也答出来了,但是复杂度有点高 + +image-20241129151001599 + +正则表达式这道题mathstral和qwen直接秒了,看来这道题困难题还是简单了。。 + +image-20241129151246300 + +然后是比较难的K链表翻转,两个人都没做出来,通过率只有1/6左右。。 + +image-20241129151456081 + +接雨水这道题,mathstral秒了。 + +image-20241129151932453 + +最后一道,N皇后排列问题,这里mathstral居然犯了语法的错误?!此时`row`已经定义过了,所以这个变量不能起这个名字,挺可惜的,遗憾输给了qwen。 + +image-20241129152222041 + + + + + +## qwen + +中位数轻松秒杀。 + +image-20241129150321686 + +Qwen这道题也轻松秒杀。 + +image-20241129150708829 + +回文数这道题,qwen答得比mathstral更好。 + +image-20241129151024598 + +正则表达式结果与mathstral难分伯仲,具体就不对比了。 + +image-20241129151246300 + +K链表翻转,和mathstral一样都做不出来。 + +image-20241129151456081 + +差距来了,接雨水这道题,qwen也直接秒了! + +image-20241129151608581 + +qwen这里依然猛,复杂度也挺好,胜负已分! + +image-20241129152356338 + +# 关于qwen参数量的选择 + +在运行中,我发现在12400+3070的机器上,运行14b的模型,吐词的速度会比较慢,而7b和3b的吐词速度比较快,而14b和7b相比差距并不大,所以这里我推荐使用7b大小左右的模型,否则的话就需要上更高的配置了。 + +[qwen2.5-coder:7b](https://ollama.com/library/qwen2.5-coder) + +Benchmarks + +# 图文识别 + +此处额外测试一下`llava`的图文识别能力,发现它的上下文联系记忆太强了,后续竟然出现了大量幻觉了! + +我就笑笑吧~~~ + +image-20241129152757617 \ No newline at end of file diff --git "a/docs/\350\275\257\344\273\266/Ollama\345\270\270\347\224\250\345\221\275\344\273\244.md" "b/docs/\350\275\257\344\273\266/Ollama\345\270\270\347\224\250\345\221\275\344\273\244.md" index 81e560b..042e3fe 100644 --- "a/docs/\350\275\257\344\273\266/Ollama\345\270\270\347\224\250\345\221\275\344\273\244.md" +++ "b/docs/\350\275\257\344\273\266/Ollama\345\270\270\347\224\250\345\221\275\344\273\244.md" @@ -12,40 +12,22 @@ Ollama 是一个轻量级的本地大语言模型平台,支持命令行操作 #### **拉取模型** -下载指定模型到本地: - ```bash ollama pull ``` -示例: - -```bash -ollama pull llama2 -``` - #### **列出本地模型** -查看已下载到本地的模型: - ```bash ollama list ``` #### **删除模型** -移除本地的模型文件: - ```bash ollama delete ``` -示例: - -```bash -ollama delete llama2 -``` - ------ ### **2. 模型交互** @@ -62,14 +44,6 @@ ollama chat #### **一次性对话** -向模型提供一个提示并立即得到响应: - -```bash -ollama prompt "" -``` - -示例: - ```bash ollama prompt llama2 "What is the capital of France?" ``` @@ -160,30 +134,18 @@ ollama config reset #### **检查版本** -查看当前安装的 Ollama 版本: - ```bash ollama version ``` #### **获取帮助** -查看 Ollama 的命令行帮助信息: - ```bash ollama help ``` #### **命令帮助** -查看某个命令的具体用法: - -```bash -ollama --help -``` - -示例: - ```bash ollama pull --help ``` @@ -204,12 +166,6 @@ ollama chat --stream 调整模型的系统级提示信息: -```bash -ollama chat --system "" -``` - -示例: - ```bash ollama chat llama2 --system "You are an assistant focused on medical topics." ``` @@ -218,12 +174,6 @@ ollama chat llama2 --system "You are an assistant focused on medical topics." 直接从文件中加载提示语: -```bash -ollama prompt --file -``` - -示例: - ```bash ollama prompt llama2 --file input.txt ``` diff --git "a/docs/\350\275\257\344\273\266/index.md" "b/docs/\350\275\257\344\273\266/index.md" index fbf8556..28d4fd8 100644 --- "a/docs/\350\275\257\344\273\266/index.md" +++ "b/docs/\350\275\257\344\273\266/index.md" @@ -2,7 +2,9 @@ ## 目录 -1. [Git的配置和使用命令](./Git的配置和使用命令.md) +1. [Ollama常用命令](./Ollama常用命令.md) +2. [本地局域网部署及使用Ollama大模型](./本地局域网部署及使用Ollama大模型.md) +3. [Git的配置和使用命令](./Git的配置和使用命令.md) 2. [Docker安装配置及使用命令](./Docker安装配置及使用命令.md) 3. [nodejs相关命令](./nodejs相关命令.md) 4. [curl命令的用法](./curl命令的用法.md) diff --git "a/docs/\350\275\257\344\273\266/\346\234\254\345\234\260\345\261\200\345\237\237\347\275\221\351\203\250\347\275\262\345\217\212\344\275\277\347\224\250Ollama\345\244\247\346\250\241\345\236\213.md" "b/docs/\350\275\257\344\273\266/\346\234\254\345\234\260\345\261\200\345\237\237\347\275\221\351\203\250\347\275\262\345\217\212\344\275\277\347\224\250Ollama\345\244\247\346\250\241\345\236\213.md" index c5e5888..90acef3 100644 --- "a/docs/\350\275\257\344\273\266/\346\234\254\345\234\260\345\261\200\345\237\237\347\275\221\351\203\250\347\275\262\345\217\212\344\275\277\347\224\250Ollama\345\244\247\346\250\241\345\236\213.md" +++ "b/docs/\350\275\257\344\273\266/\346\234\254\345\234\260\345\261\200\345\237\237\347\275\221\351\203\250\347\275\262\345\217\212\344\275\277\347\224\250Ollama\345\244\247\346\250\241\345\236\213.md" @@ -1,6 +1,6 @@ # 起因 -今天在冲浪的时候看到了有人在分享`Ollama`的部署和使用体验,于是我也去官网下载体验了一下:[ollama官网](https://ollama.com/) +最近在冲浪的时候看到了有人在分享`Ollama`的部署和使用体验,于是我也去官网下载体验了一下:[ollama官网](https://ollama.com/) image-20241128232239281 @@ -20,16 +20,20 @@ ollama run llama3.2 # 远程调用Ollama模型 -目前是这样做的: +## 客户端软件 因为要在mac上使用,所以我选择用[Enchanted](https://github.com/AugustDev/enchanted)这款软件,在AppStore里也能下载到,非常好用,支持本地Ollama、远程调用、api调用,功能强大,界面美观。 image-20241128233127260 -而在windows上,我同样下载了Ollama,并开启了防火墙的`11434`端口: +## 服务端配置 + +在服务端,我同样下载了Ollama,并开启了防火墙的`11434`端口: image-20241128233333634 +## 测试、调用 + 然后在mac上用`telnet`命令测试能否访问11434端口,发现一直显示`Trying 192.168.6.229...`,于是改用`curl`测试,发现可以访问,且因为`Enchanted`上有一个轮询的机制,所以并不难确认能否访问到端口: image-20241128233820832