首页 程序笔记 在Windows PC本地搭建类似ChatGPT的AI模型和交互式UI图文教程

在Windows PC本地搭建类似ChatGPT的AI模型和交互式UI图文教程

我拥有一台配备 RTX 4070 GPU 的 Windows 11 电脑,并希望将其强大功能用于本地 AI 应用程序。 虽然许多在线教程倾向于引导用户使用 Linux、Docker 和复杂的网络配置,但我也尝试过这种复杂的路线并成功在 Linux 系统上设置 AI。 然而,这种方法对于初学者来说并不是最容易使用的。 鉴于 Windows 仍然是非 IT 专业人员的主要操作系统,因此显然需要一种更简单的方法来利用人工智能技术,而无需深入研究技术细节或设置复杂的环境。

在本指南中,我将引导您完成基本步骤,只需 30 分钟即可在具有交互式 UI 的 Windows 计算机上启动并运行您的 AI 模型,无需高级专业知识。

在本地计算机上运行像 llama3 这样的大型语言模型 (LLM) AI,而不是通过互联网使用基于云的服务,可以带来多种好处,具体取决于具体的用例和要求。

隐私和安全:当您在本地运行 LLM 时,模型处理的数据永远不会离开您的计算机。 这对于涉及专有、机密或个人信息(其中数据安全至关重要)的敏感应用程序至关重要。 不依赖互联网:在本地运行模型无需持续的互联网连接。 这在互联网访问不可靠的环境中或在远程位置工作时非常有用。 延迟:本地执行可以减少延迟,因为无需通过互联网发送数据并等待远程服务器的响应。 这可以加快与人工智能的交互速度,这对于实时应用程序尤其重要。 成本控制:虽然购买必要的硬件和软件以在本地运行 LLM 的前期成本可能较高,但从长远来看,它可能更具成本效益,因为没有与 API 使用或云服务相关的持续费用。 合规性:一些行业对数据处理有严格的监管要求。 在本地开设法学硕士可以更轻松地遵守此类法规。

然而,值得注意的是,在本地开设法学硕士也有其挑战和缺点:

硬件要求:法学硕士是资源密集型的,在本地运行它们需要大量的计算能力,这可能涉及昂贵的硬件和高能耗。 维护和更新:您负责维护软件和硬件,包括处理更新、安全补丁和潜在的技术问题。 可扩展性:扩展可能需要额外的硬件,而基于云的服务可以提供近乎即时的可扩展性。 技术专长:在本地部署和管理法学硕士需要一定水平的技术专长,而使用基于云的服务时可能不需要。

是在本地运行法学硕士还是使用基于云的服务将取决于用户或组织的特定需求和能力背景下这些好处和挑战之间的平衡。

安装和配置 Ollama

Ollama 是一个轻量级、可扩展的框架,用于在本地计算机上构建和运行语言模型。

下载并安装

访问 https://ollama.com/ 并下载 ollama 的 Windows 版本。 目前处于预览状态。

安装完成后,先别急着尝试。 关闭为您打开的 PowerShell 窗口,然后从任务栏上的系统托盘中退出 Ollama。

设置环境变量

在开始菜单中搜索“环境变量”,打开系统属性设置,然后单击“环境变量”按钮。

必需:创建一个名为 OLLAMA_ORIGINS 且值为 * 的新用户变量

可选:如果您的 C 盘空间不足,您可以设置另一个名为 OLLAMA_MODELS 的系统或用户变量,并为其指定要下载 AI 模型的路径值。 这些模型的容量通常为 2-10 GB。

现在,重新启动 Ollama。 您将看到它再次弹出在系统托盘中。

下载模型

我使用 3 个模型:phi3、llama3 和 codellama。 如果您是非 IT 行业的初学者,通常只需要 llama3。

打开 PowerShell 窗口(在开始菜单中搜索 PowerShell),然后运行 ollama pull <model name> 下载模型。

例如:

ollama pull phi3
ollama pull llama3

你可以使用 ollama list 命令来验证下载

安装和配置 NextChat

下载

转到 https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web/releases 并查找最新版本。

下载并安装 exe 格式的文件,通常命名为 _x64-setup.exe

设置

进入设置页面

使用以下设置:

模型提供者:Open AI OpenAI 端点:http://localhost:11434/ 自定义模型:phi3、llama3、codellama,设置为您在上一步中下载的内容。 如果你只下载 llama3,这里也只是 llama3。 模型: llama3,用于聊天的默认模型,设置为您喜欢的任何模型。

聊天

关闭设置页面。 您现在可以在本地计算机上与 AI 模型聊天了!

如果这不起作用,在写完这篇博文后可能会有所改变。 您可以在这里查看最新文档:https://docs.nextchat.dev/models/ollama

幕后花絮

对于对其工作原理感兴趣的读者。 这是幕后的魔力。

模型

模型是人工智能背后的智能。 在我们的领域,我们主要关注大型语言模型 (LLM),其设计目的是先利用 GPU,然后再利用 CPU。 每个模型的应用都是独一无二的,并且由各种实体(从公司到个人贡献者)开发。 有关这些模型的全面介绍可以在 https://ollama.com/library 找到。

这是我在与 llama3 模型聊天时使用 GeForce RTX 4070 GPU 的示例:

Ollma

它是运行 AI 模型的程序,它将在本地计算机上打开一个 REST API 服务器 http://localhost:11434/ 。

REST API(表述性状态传输应用程序编程接口)是一组用于构建 Web 服务并与之交互的规则和约定。 它使不同的软件应用程序能够使用标准 HTTP 方法通过互联网相互通信。 REST API 被设计为可扩展、简单且无状态,它们广泛用于构建易于与各种客户端(包括浏览器、移动应用程序和其他 Web 服务)集成的 Web 服务。

NextChat

这是用户与 AI 聊天的用户界面 (UI)。 还有其他类型的 UI。 在本文中,NextChat 将调用 Ollama 在本地计算机上提供的 REST API。 基本上将您的聊天消息发送到 API,并在屏幕上显示响应。 NextChat 是 GitHub 上的一个开源项目:https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web。 它通常运行在一台为来自互联网的用户提供服务的服务器上,而不是在本地运行以仅为本文中描述的一个用户提供服务。

Prompt

与AI聊天时的提示是指用户向AI系统发出的初始输入或指令。 这是对话或互动的起点。 提示可以是问题、陈述、命令,甚至是人工智能用来生成响应或执行任务的单个单词。

例如,如果您使用人工智能聊天机器人,您可能会用“今天的天气预报如何?”之类的问题来提示它。 然后,人工智能会处理该提示并做出相应响应,为您提供天气信息。

提示的复杂程度可能有很大差异,从简单的信息请求到需要人工智能执行多个步骤或生成创意内容的更复杂的指令。 提示的质量和清晰度可以显着影响人工智能响应的相关性和有用性。

转载自:https://edi.wang/post/2024/4/27/beginners-guide-to-run-ai-on-windows-pc-with-interactive-ui

2

站心网

我拥有一台配备 RTX 4070 GPU 的 Windows 11 电脑,并希望将其强大功能用于本地 AI 应用程序。 虽然许多在..

为您推荐

宝塔面板定时计划任务删除文件夹教程

1. 登录宝塔面板打开浏览器,输入宝塔面板的地址,使用你的用户名和密码登录。2. 进入计划任务在宝塔面板的左侧菜单中,找到并点击“计划任务”。3. 添加计划任务点击“添加计划任务”按钮。4. 配置计划任务任务类型..

交易系统:退款单模型设计详解

大家好,我是汤师爷~和退款单作为整个交易逆向系统的核心,支撑着售后管理环节。售后域核心概念模型1、退款单退款单是记录和跟踪退款处理过程的核心业务单据,包含以下关键信息:租户ID:标识所属商户或组织退款单ID..

用SignalR和Layui搭建自己的web聊天网站

1.开发背景之前是做项目一直有一个困扰,就是如何进行及时通讯,本人.Net开发,不太想用别人的接口,然后偶然的机会知道了SignalR,那么什么是SignalR呢?2.SignalR简介ASP.NET SignalR是ASP.NET开发人员的库,它简..

ABP.Net Core使用教程(一)启动模版项目

只需要简单的3步:1,到官网下载模版项目 https://aspnetboilerplate.com/Templates2,用VS2017打开,将Web.Host设置为启动项3,在程序包管理器控制台(Nuget控制台)里设定默认项目为EntityFrameworkCore,执行命令..

最新CentOS7安装搭建shadowsocks服务端+客户端使用图文教程

使用的CentOS版本是7.9,其他版本也可以。超级推荐的是搭建shadowsocks服务端,安装配置都很简单,几分钟就搞定,客户端支持PC移动端,下面是安装shadowsocks的过程,只要复制粘贴命令就行了,文件夹路径都不需要改..

如果避免云服务器搭建VPN被封

在搭建自己的 VPN 服务器时,确实需要注意一些措施,以避免被封禁或出现问题。尤其是在使用云服务器时,一些额外的注意事项可能有助于提高您的VPN的稳定性和隐私。以下是一些建议,可以帮助您在云服务器上搭建VPN时..

.NET 开源 ORM FreeSql 使用教程

什么是 FreeSql?FreeSql 是一个高性能、灵活且易用的 .NET 开源 ORM(对象关系映射工具),提供数据库操作的强大功能,包括实体类映射、链式查询、表达式树支持、数据库迁移等。它可以帮助开发者快速、高效地操作数..

微软发布VS Code AI工具包,集成多模型AI能力

微软发布了VS Code AI工具包,增强了代码编辑器的AI功能!微软推出了VS Code AI工具包,这是一个全新的扩展,旨在将AI功能集成到Visual Studio Code中。该工具包支持多种AI模型,包括本地和远程模型,用户可以配置自..

轻量级 JavaScript 动画库 mo.js使用教程

mo.js 是一个强大的 JavaScript 动画库,专为在网页项目中创建复杂动画和运动图形而设计。它注重提供平滑、动态的动画效果,并通过简单、模块化和灵活的组件让开发更加便捷。mo.js官网地址:https://mojs.github.io/..

文件上传JavaScript库FilePond使用教程

传统的文件上传控件往往显得笨拙且不够用户友好。FilePond的出现,为Web文件上传带来了革命性的改变。本文将详细介绍FilePond这一JavaScript库,探讨它如何优化文件上传流程,并提供无与伦比的用户体验。什么是FileP..

WinToUSB | 把Windows塞进U盘里即插即用

不论是在外出差,还是在家临时办公,现在很多设备携带起来都不是那么方便,在这种情况下,有一个轻巧而高效的操作系统环境就显得格外关键。今天,要给大家介绍一款超级实用的便携式系统启动盘,凭借其独特功能和卓越..

强大的 .NET Mock 框架 单元测试模拟库Moq使用教程

单元测试是确保代码质量和可靠性的重要手段。当我们的代码依赖于外部系统、数据库或第三方服务时,编写有效的单元测试可能会变得复杂且耗时。为了简化这一过程,模拟(Mocking)技术应运而生。在 .NET 生态系统中,M..

.NET调试Windows服务的方法

很多朋友编写Windows服务的时候都会觉得调试很麻烦,甚至不知道怎么调试。有些人可能添加个windows窗体用按键触发相关方法或者靠打印日志调试,那么到底windows服务怎么调试呢? 怎么编写代码就不说了。就说调试吧,..

Dapper使用教程

假如你喜欢原生的Sql语句,又喜欢ORM的简单,那你一定会喜欢上Dapper这款ROM。Dapper的优势: 1、Dapper是一个轻型的ORM类。代码就一个SqlMapper.cs文件,编译后就40K的一个很小的Dll. 2、Dapper很快。Dapper的速度..

hprose for C#使用教程

Hprose (High Performance Remote Object Service Engine) 是一个商业开源的新型轻量级跨语言跨平台的面向对象的高性能远程动态通讯中间件。它支持众多语言,例如 C++,.NET,Java,Delphi,Objective-C, ActionScr..

类似php iconv的函数功能,C#实现方法

在与一个第三方接口对接时,发现对方无法用GZip解压我发过去的数据,看了对方PHP的示例代码,发现对方使用的是PHP的$file = iconv("IOS-8859-1","UTF-8",gzencode($data_json));大致意思是要先压缩,在把压缩的数组..

.NET Core MVC应用程序创建教程

本文主要介绍如何创建一个.NET Core MVC应用程序。和大家一起了解一下.NET Core MVC项目中各个文件的作用。首先准备工作,大家需要安装VS2017 15.7.2版本,安装.NET Core2.0,安装VS的时候选择安装.NET Core相关功能..

.NET Core 管道模型中间件及管道模拟实现

管道,PipelineASP.NET Core 路由,认证,绘画,缓存,都是由管道来处理的中间件。MVC WEB API,都是建立在某个特殊的中间件之上。MVC,路由的中间件,请求地址和控制器之间的映射,在此基础上实现了实例化控制器,..

CentOS7部署发布.NET Core网站Ngnix安装配置图文教程

Linux服务器部署.NET Core网站运行速度更快,最近打算把原来windows server上的网站迁到linux的云服务器上。 顺便记录一下CentOS7安装.NET运行环境,安装和配置Ngnix的过程。首先安装.NET运行时sudorpm-Uvhhttps://p..

.NET JWT使用方法示例

JSON Web Token(JWT)是一种用于在网络间传递声明的开放标准(RFC 7519),常用于对身份验证和授权信息进行安全传递。在.NET中,你可以使用一些库来轻松地创建和验证JWT。以下是一个简单的示例,演示如何在.NET中使..

发表回复

返回顶部