win10环境配置ollama-ui运行llama3模型

2024-06-23 00:44

本文主要是介绍win10环境配置ollama-ui运行llama3模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先说我的笔记本电脑配置intel-i7-11390h,4核8处理器,内存16G。显卡NVIDA  GeFroce MX450,2G显存,这是一台5000元左右的电脑。 我用它跑roop、sd1.5、ffusion2、ChatTTs还有python+pytorch的自定义模型,现在用来跑llama3。当然,sd1.5和ffusion2这点显存,只能是基本体验。至于最近的Stable Diffusion 3 Medium,我ComfyUI安装完毕后,跑了24分钟在第二个工作流就提示显存不足了,所以...就洗洗睡了。

言归正传:

一、安装ollama并下载llama3中文模型

1、ollama从官网下载并正确安装,地址:https://ollama.com/download。注意,ollama下载的模型地址默认在C:盘,所以建议修windows环境变量OLLAMA_MODELS到另外的分区上。我的设置是OLLAMA_MODELS=E:\AiModel\ollama\models

2、去下载Llama3-8B-Chinese-Chat,我用的是shenzhi-wang/Llama3-8B-Chinese-Chat 下载地址:shenzhi-wang/Llama3-8B-Chinese-Chat · HF Mirror ,在这个网站上有好几个版本的模型可以选择,可以按照说明,复制ollama的下载模型指令。比如我下载的是wangshenzhi/llama3-8b-chinese-chat-ollama-q8,其指令是:

ollama run wangshenzhi/llama3-8b-chinese-chat-ollama-q8.

  ollama下载模型根据你的网络情况需要一点时间,但值得开心的是,这个下载很顺畅。感谢ollama和Shenzhi Wang (王慎执) and Yaowei Zheng (郑耀威)

在windows命令行上输入上述指令,ollama 下载完模型后,会在命令行上打开ollma的模型交互提示,在其中,你可以试着向模型说“你好”,看看模型的回复。如果回复成功,恭喜你,ollama+llama3已经在你的电脑上正确运行了。要退出ollama交互命令行,输入"/bye",你就和他说886。

二、ollama-ui

windows命令行上的ollama,在输入中文时有些让人难受,所以一般的建议是使用一个简单的UI界面。我这里用的ollama-ui。这个项目在github上,幸运的是这个项目被gitcode加入了,所以去下载吧。地址:GitCode - 全球开发者的开源社区,开源代码托管平台。

按照该项目的提示,用git下载源代码到本地并进入源代码目录:

git clone https://github.com/ollama-ui/ollama-ui
cd ollama-ui

然后就要make。

这个make在一般的windows环境那就有些麻烦,当然你如果是C++等的开发者,这个应该不是问题,但是make文件中的bash指令,你依然要面对。我本来是直接打开Makefile文件,直接手式输入指令,并将其中shasum指令绕过去了。但是,很不幸,由于index.html文件中对css和js文件的引用都有sha验证,所以浏览器阻塞了对js和css文件的访问。一个好信息是,我之前为了编译谋个wheel,我曾经在电脑上安装了一个cygwin环境,所以我直接进入cygwin命令行,利用其bash环境运行make。

cygwin的下载地址:Cygwin Installation,下载其中的setup-x86_64.exe并运行,该安装程序会指示你从远端的cygwin仓库里选择安装程序包,并将其存储在c:\cygwin目录之下。对于C盘密集恐惧症患者的我来讲,这是非常非常之不可以...嗯...看在它只64M的面子上忍了(当然,你也可以将它安装到其他的盘上)。我的cygwin除了cygwin自身的核心工具外,只安装了bash-completion-cmake和make。对于ollama-ui而方,这个已经足够了。

进入cygwin的bash命令行,进入ollama-ui源代码目录,运行make……,然后,它提示shasum指令不存在。好吧,我怎么找解决办法不重要,重要的是,这个shasum想要验证ollama-ui/resources/目录下的校验码值。而在ollama-ui目录下,有一个generate_integrity_hash.sh脚本,这个脚本可以对ollama-ui/resources目录下的css、js文件重新计划shasum验证码值。所以,我在cygwin中直接运行,结果又提示'\r'不是正确指令。打开vscode,用vscode找开generate_integrity_hash.sh脚本,在vscode窗口底部的状态栏里,点击“CRLF”,将其换成'LF',然后保存,然后运行脚本,其输出了3个js文件的新shasum检验码,还少一个css的,那就改代码:

#!/bin/bash
#
# Directory containing the resources
directory="./resources/"
#
# Check if directory exists and is not empty
if [ -d "$directory" ] && [ "$(ls -A "$directory")" ]; then# Loop through each .js file in the directoryfor filepath in "$directory"*.*; do# Skip if file does not exist[ -e "$filepath" ] || continue# Calculate the sha384 hash and encode it in base64integrity=$(openssl dgst -sha384 -binary "$filepath" | openssl base64 -A)# Extract the filename from the pathfilename=$(basename "$filepath")# Print the <script> tag with the integrity attributeecho "<script src=\"${directory}${filename}\" integrity=\"sha384-${integrity}\" crossorigin=\"anonymous\"></script>"done
elseecho "Directory is empty or does not exist."
fi

然后在cygwin中运行指令:

./generate_integrity_hash.sh >myshasum.txt

打开myshasum.txt,再打开ollama-ui目录下的index.html,将其中Link和Script的校验码替换成你新生成的shasum。

然后修改Makefile文件:

.PHONY: default download_resources web_server ollama_server# Default task that downloads the assets and starts the ollama and web server
default: download_resources@$(MAKE) -j 2 web_server ollama_server# Web Server
web_server:python -m http.server --bind 127.0.0.1# Web Server
ollama_server:ollama serve# Task to download resources
download_resources:# Check if resources directory exists, if not create it@if [ ! -d "resources" ]; then \mkdir -p ./resources/ && \cd ./resources/ && \curl -O https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/css/bootstrap.min.css && \curl -O https://cdn.jsdelivr.net/npm/bootstrap@5.3.1/dist/js/bootstrap.bundle.min.js && \curl -O https://cdn.jsdelivr.net/npm/marked@6.0.0/marked.min.js && \curl -O https://cdn.jsdelivr.net/npm/dompurify@3.0.5/dist/purify.min.js; \curl -O https://code.jquery.com/jquery-3.7.1.min.js; \fi# Check SHA-256 hash#@shasum -c resources.hash || exit 1clean:@rm -rf ./resources

我将python3改成了python,将shasum行注释掉。

然后在cygwin命令行中:make

此时,make程序会利用 python http.server将当前目录变成http服务器,并以index.html为服务器首页。在浏览器中输入地址:http://127.0.0.1:8000,然后ollama-ui页面就正确显示出来了。

好了,现在可以在Send栏里,向模型问声“你好”了。

三、saddle

ollma的另一个本地UI,下载地址:GitCode - 全球开发者的开源社区,开源代码托管平台

如果你直接用浏览器在本地打开index.html,则其会因为cros问题被阻塞,同样方法,进入saddle源代码目录,运行phthon -m http.server --bind 127.0.0.1。然后在浏览器中打开127.0.0.1:8000,你会看到:

上述是我使用ollama-ui和saddle的经验,对于真正行家来讲,可能都不算经验吧,但总有人和我一样是“砖家”吧。

最后推荐一个LLMS和VLMs在线测评网站,里面可以体验很多大模型的能力。地址:https://arena.lmsys.org/

最后的最后,其实ollma-ui中index.html的shasum验证其实不是必须的,这个大家自己搞定吧。

这篇关于win10环境配置ollama-ui运行llama3模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1085860

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

linux配置podman阿里云容器镜像加速器详解

《linux配置podman阿里云容器镜像加速器详解》本文指导如何配置Podman使用阿里云容器镜像加速器:登录阿里云获取专属加速地址,修改Podman配置文件并移除https://前缀,最后拉取镜像... 目录1.下载podman2.获取阿里云个人容器镜像加速器地址3.更改podman配置文件4.使用po

Vue3 如何通过json配置生成查询表单

《Vue3如何通过json配置生成查询表单》本文给大家介绍Vue3如何通过json配置生成查询表单,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录功能实现背景项目代码案例功能实现背景通过vue3实现后台管理项目一定含有表格功能,通常离不开表单