当前位置: 首页 > news >正文

【AI】使用Jan.ai在本地部署大模型开启AI对话(含通过huggingface下载大模型,实现大模型自由)

文章目录

  • 前言
  • 一、Jan.ai是什么?
  • 二、下载大模型
    • 1. 找到大模型文件地址
    • 2. 下载大模型
    • 3. 修改model.json文件
  • 三、使用Jan调用大模型进行对话
  • 总结


前言

2023年是AIGC元年。以后,每个人多少都会接触到GPT带来的变化。别人都在用,我们也不能落下。ChatGPT咱用不了,可以用国内的各种大模型。另外,我们还可以把大模型放到本地电脑上运行,不信?咱往下看!

使用Jan.ai在本地调用大模型进行对话

下面就让我们的主角登场。

一、Jan.ai是什么?

Jan 是 ChatGPT 的替代品,可在您自己的计算机上运行,并带有本地 API 服务器。
Jan 100% 在您自己的机器上运行,可预测、私密和离线。没有其他人可以看到你的对话。
开源工具Jan可以让用户在本地计算机上运行chatbot,而无需互联网连接。Jan支持Mac、Windows和Linux系统,它提供简单的界面下载和使用流行的开源模型,比如LLMA和Mixol等。下文就演示一下如何下载和安装Jan,然后在本地开启类似ChatGPT的界面进行AIGC。

打开网页https://jan.ai,即可看到Jan有Mac、Windows、Linux系统的版本,大家根据自己需要下载。
在这里插入图片描述
博主下载了Windows 版本,运行安装文件jan-win-x64-0.4.3.exe,桌面会出现黄色小手Jan的图标。打开后界面如下:
在这里插入图片描述
首次运行,除了默认的Open AI 的在线API接口(Jan就是个大模型调用界面,使用ChatGPT需要输入其API Key),其他大模型需要现在后才可以使用。需要用到哪个,点击Download即可。下载完成蓝色的Download即会变为绿色的Use。然后点击Use即可开启对话模式。

在这里插入图片描述
本来到这里,小伙伴就可以愉快的玩耍大模型了。

但,国内的故事才刚刚开始……

在国内下载大模型,会让你下到哭!
难道就这么放弃了吗?不!

下面就要轮到大杀器登场,看我们怎么解决。

二、下载大模型

1. 找到大模型文件地址

打开jan的用户信息安装目录(一般在%UserProfile%/jan,在文件管理器输入前面的命令即可进入),进入models目录,可以看到和上面界面对应的大模型名称,Download后的大模型保存在这里。
在这里插入图片描述
找一个我们要下载的模型目录。可以看到有一个model.json文件。打开文件如下:

{"source_url": "https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v0.6/resolve/main/ggml-model-q4_0.gguf","id": "tinyllama-1.1b","object": "model","name": "TinyLlama Chat 1.1B Q4","version": "1.0","description": "The TinyLlama project, featuring a 1.1B parameter Llama model, is pretrained on an expansive 3 trillion token dataset. Its design ensures easy integration with various Llama-based open-source projects. Despite its smaller size, it efficiently utilizes lower computational and memory resources, drawing on GPT-4's analytical prowess to enhance its conversational abilities and versatility.","format": "gguf","settings": {"ctx_len": 2048,"prompt_template": "<|system|>\n{system_message}<|user|>\n{prompt}<|assistant|>"},"parameters": {"max_tokens": 2048},"metadata": {"author": "TinyLlama","tags": ["Tiny", "Foundation Model"],"size": 637000000},"engine": "nitro"
}

这里我们可以看到source_url即为大模型文件的地址,id和目录名一样。这个名字也是大模型下载后保存的名称。

我们用浏览器进入网址:https://huggingface.co/TinyLlama/TinyLlama-1.1B-Chat-v0.6/,切换到Files and versions即可看到对应的文件ggml-model-q4_0.gguf。
在这里插入图片描述

2. 下载大模型

由于国内下载大模型往往会超时,造成下载失败,而大模型往往都很大,所以博主之前研究后写了文章,请移步:
【AI之路】使用huggingface_hub优雅解决huggingface大模型下载问题
修改代码中repo_id 和filename,local_dir 就填刚才找到的目录

# 使用前先通过pip install huggingface_hub安装huggingface_hub包
import time
from huggingface_hub import hf_hub_download
repo_id = "TinyLlama/TinyLlama-1.1B-Chat-v0.6" # 仓库ID
local_dir = f'C:\Users\one\jan\models\tinyllama-1.1b'
cache_dir = local_dir + "/cache"
filename= "ggml-model-q4_0.gguf"
while True:   try:hf_hub_download(cache_dir=cache_dir,local_dir=local_dir,repo_id=repo_id,filename=filename,local_dir_use_symlinks=False,resume_download=True,etag_timeout=100)except Exception as e :print(e)# time.sleep(5)else:print('下载完成')break
Downloading ggml-model-q4_0.gguf: 100%|█████████████████████████████████████████████| 637M/637M [00:26<00:00, 24.5MB/s]
下载完成
请按任意键继续. . .

下载完成看到:
在这里插入图片描述
修改大模型文件为id名称(没有扩展名,对,你没有看错!)
在这里插入图片描述

3. 修改model.json文件

在"engine": "nitro"后增加, “state”: “ready”。注意nitro引号后面要加一个“,”。
在这里插入图片描述
保存后再进入Jan的界面,即可看到模型后面Download已经变为绿色的Use按钮。
在这里插入图片描述

三、使用Jan调用大模型进行对话

点击Use即可切换到主界面,反正不要钱,就把Max Tokens放到最大。
在这里插入图片描述
输入问题,Send后即可看到反馈结果:
在这里插入图片描述
是不是很爽!

大模型部署到本地,不仅免费,而且可以自由调用大模型。想用哪个就下载哪个,彻底实现大模型自由!就是GPU风扇要呜呜转哈!

速度嘛,就看你的电脑性能了,本人使用3070显卡,这个模型才637M,速度还凑合吧。但,试过9.23G大模型,速度已经慢得像蜗牛。大模型还是很耗算力的!


总结

Jan未来还将可以自行添加大模型,有兴趣的小伙伴也可以照着models目录的命名要求和model.json文件要求自行添加。
更多使用方法见官方文档:https://jan.ai/guides/

Jan后面还将陆续升级,期待小伙伴发现更多惊喜!

相关文章:

【AI】使用Jan.ai在本地部署大模型开启AI对话(含通过huggingface下载大模型,实现大模型自由)

文章目录 前言一、Jan.ai是什么&#xff1f;二、下载大模型1. 找到大模型文件地址2. 下载大模型3. 修改model.json文件 三、使用Jan调用大模型进行对话总结 前言 2023年是AIGC元年。以后&#xff0c;每个人多少都会接触到GPT带来的变化。别人都在用&#xff0c;我们也不能落下…...

C++摸版(初阶)----函数模版与类模版

本专栏内容为&#xff1a;C学习专栏&#xff0c;分为初阶和进阶两部分。 通过本专栏的深入学习&#xff0c;你可以了解并掌握C。 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;C &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&…...

Embedded-Project项目介绍

Embedded-Project项目介绍 Server后端项目后端启动连接数据库启动时可能遇到的问题架构介绍 web前端项目前端启动启动时可能遇到的问题架构介绍 前后端分离开发流程 项目地址&#xff1a; https://github.com/Catxiaobai/Embedded-Project Server后端项目 系统后端项目&#…...

golang 的那些花样

从 A Tour of Go 可以看到一些 Go 比较特殊的点 文章目录 变量声明时&#xff0c;类型放在后面Array 的引用 Slicereceiver 和 argumentbuilt-int特殊接口Error 变量声明时&#xff0c;类型放在后面 var i, j int 1, 2declaration-syntax Array 的引用 Slice slices-intro …...

如何设计企业级业务流程?学习华为的流程六级分类经验

业务流程管理&#xff08;BPM&#xff09;是一种系统化的方法&#xff0c;用于分析、设计、执行、监控和优化组织的业务流程&#xff0c;以实现预期的目标和价值。业务流程管理中&#xff0c;流程的分级方法有多种&#xff0c;常见的有以下几种&#xff1a; APQC的流程分级方法…...

视频智能分析支持摄像头异常位移检测,监测摄像机异常位移变化,保障监控状态

我们经常在生产场景中会遇到摄像头经过风吹日晒&#xff0c;或者异常的触碰&#xff0c;导致了角度或者位置的变化&#xff0c;这种情况下&#xff0c;如果不及时做出调整&#xff0c;会导致原本的监控条件被破坏&#xff0c;发生事件需要追溯的时候&#xff0c;查不到对应位置…...

C++ UTF-8与GBK字符的转换 —基于Linux 虚拟机 (iconv_open iconv)

1、UTF-8 和 GBK 的区别 GBK&#xff1a;通常简称 GB &#xff08;“国标”汉语拼音首字母&#xff09;&#xff0c;GBK 包含全部中文字符。 UTF-8 &#xff1a;是一种国际化的编码方式&#xff0c;包含了世界上大部分的语种文字&#xff08;简体中文字、繁体中文字、英文、…...

云原生十二问

一、什么是云原生&#xff1f; 云原生是在云计算环境中构建、部署和管理现代应用程序的软件方法。现代企业希望构建高度可扩展、灵活且具有弹性的应用程序&#xff0c;可以快速更新以满足客户需求。为此&#xff0c;他们使用现代工具和技术&#xff0c;这些工具和技术本质上支…...

K8Spod组件

一个pod能包含几个容器 一个pause容器(基础容器/父容器/根容器&#xff09; 一个或者多个应用容器(业务容器) 通常一个Pod最好只包含一个应用容器&#xff0c;一个应用容器最好也只运行一个业务进程。 同一个Pod里的容器都是运行在同一个node节点上的&#xff0c;并且共享 net、…...

clickhouse-client INSERT CSV/TSV时跳过错误行

clickhouse-client INSERT CSV/TSV时跳过错误行 在使用clickhouse-client向ck中导入csv文件时&#xff0c;当csv中有个别行数据格式错误时&#xff0c;整个文件就插入失败了&#xff0c;经常会导致丢数据。 经过一番搜索&#xff0c;发现ck提供了两个参数可以跳过错误行&#x…...

直流稳压电源电路

一、稳压电源的技术指标及对稳压电源的要求 稳压电源的技术指标可以分为两大类&#xff1a;一类是特性指标&#xff0c;如输出电压、输出电滤及电压调节范围;另一类是质量指标&#xff0c;反映一个稳压电源的优劣&#xff0c;包括稳定度、等效内阻&#xff08;输出电阻&#x…...

记录爬虫编写步骤

本文讲解 Python 爬虫实战案例&#xff1a;抓取百度贴吧&#xff08;https://tieba.baidu.com/&#xff09;页面&#xff0c;比如 Python爬虫吧、编程吧&#xff0c;只抓取贴吧的前 5 个页面即可。今天一个毕业学生问到一个问题&#xff1a;不清楚编写爬虫的步骤&#xff0c;不…...

SpringBoot配置Swagger2与Swagger3

swagger是什么&#xff1f; 在平时开发中&#xff0c;一个好的API文档可以减少大量的沟通成本&#xff0c;还可以帮助新加入项目的同事快速上手业务。大家都知道平时开发时&#xff0c;接口变化总是很多&#xff0c;有了变化就要去维护&#xff0c;也是一件比较头大的事情。尤…...

C/C++ 枚举

目录 枚举概述 枚举的使用 枚举的大小计算 枚举的优点 C语言中的自定义类型有&#xff1a;结构 位段 枚举 联合 枚举概述 枚举顾名思义就是一一列举&#xff0c;把可能的取值一一列举。 比如我们现实生活中&#xff1a;一周的星期一到星期日是有限的7天&#xff0c…...

P12 音视频复合流——TS流讲解

前言 从本章开始我们将要学习嵌入式音视频的学习了 &#xff0c;使用的瑞芯微的开发板 &#x1f3ac; 个人主页&#xff1a;ChenPi &#x1f43b;推荐专栏1: 《C_ChenPi的博客-CSDN博客》✨✨✨ &#x1f525; 推荐专栏2: 《Linux C应用编程&#xff08;概念类&#xff09;_C…...

三维重建 3D Gaussian Splatting:实时的神经场渲染

目录 概念理解三维高斯喷洒 渲染实例 依赖项: 编译报错: 预训练模型 13G:...

Django Web框架

1、创建PyCharm项目 2、安装框架 pip install django4.2.0 3、查看安装的包列表 4、使用命令创建django项目 django-admin startproject web 5、目录结构 6、运行 cd web python manage.py runserver7、初始化后台登录的用户名密码 执行数据库迁移生成数据表 python man…...

ARCGIS PRO SDK GeometryEngine.Intersection的GeometryDimensionType 枚举

描述几何对象的维度。与 GeometryEngine.Intersection 一起使用。 ​ 成员描述EsriGeometry0Dimension零维&#xff08;点或多点&#xff09;。EsriGeometry1Dimension一维&#xff08;折线&#xff09;。EsriGeometry2Dimension二维&#xff08;多边形或包络&#xff09;。Es…...

Web网页开发-CSS层叠样式表1-笔记

1.CSS的引入方式 (1)内嵌式&#xff1a;把style双标签写在head标签里面&#xff0c;可以影响同种标签 (2)行内式&#xff1a;把style写在标签内部&#xff0c;只能影响当前标签 (3)外链式&#xff1a;创建css文件&#xff0c;使用link将html文件和css文件连接起来 (4)导入式&am…...

如何预防变种.halo勒索病毒感染您的计算机?

尊敬的读者&#xff1a; 在数字时代&#xff0c;威胁网络安全的.halo勒索病毒日益猖狂。本文将深入介绍.halo病毒的攻击方式&#xff0c;以及针对被加密文件的恢复方法和预防措施。在面对被勒索病毒攻击导致的数据文件加密问题时&#xff0c;技术支持显得尤为重要&#xff0c;…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

汽车生产虚拟实训中的技能提升与生产优化​

在制造业蓬勃发展的大背景下&#xff0c;虚拟教学实训宛如一颗璀璨的新星&#xff0c;正发挥着不可或缺且日益凸显的关键作用&#xff0c;源源不断地为企业的稳健前行与创新发展注入磅礴强大的动力。就以汽车制造企业这一极具代表性的行业主体为例&#xff0c;汽车生产线上各类…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...