6款不错的本地大模型运行工具推荐

news2024/10/6 16:30:17

运行大型语言模型 (LLM)(如 ChatGPT 和 Claude)通常涉及将数据发送到 OpenAI 和其他 AI 模型提供商管理的服务器。虽然这些服务是安全的,但一些企业更愿意将数据完全离线,以保护更大的隐私。

本文介绍了开发人员可以用来在本地运行和测试 LLM 的六大工具,确保他们的数据永远不会离开他们的设备,类似于端到端加密保护隐私的方式。

0、为什么要使用本地 LLM?

当用户使用 LM Studio 等工具运行本地 LLM 时,它不会收集用户数据或跟踪用户的操作。它允许你的所有聊天数据都保留在本地机器上,而无需与 AI/ML 服务器共享。

  • 隐私:你可以以多轮方式提示本地 LLM,而无需提示数据离开本地主机。

  • 自定义选项:本地 LLM 为 CPU 线程、温度、上下文长度、GPU 设置等提供高级配置。这类似于 OpenAI 的游乐场。

  • 支持和安全:它们提供与 OpenAI 或 Claude 类似的支持和安全性。

  • 订阅和费用:这些工具可以免费使用,不需要每月订阅。对于像 OpenAI 这样的云服务,每个 API 请求都需要付费。本地 LLM 有助于节省资金,因为没有每月订阅。

  • 离线支持:你可以在离线时加载和连接大型语言模型。

  • 连接性:有时,连接到像 OpenAI 这样的云服务可能会导致信号和连接不佳。

根据你的具体用例,可以选择几个离线 LLM 应用程序。其中一些工具完全免费用于个人和商业用途。其他可能需要向他们发送商业用途请求。有几种本地 LLM 工具可用于 Mac、Windows 和 Linux。以下是可以选择的六种最佳工具。

1、LM Studio

LM Studio 可以运行任何格式为 gguf 的模型文件。它支持来自模型提供商(如 Llama 3.1、Phi 3、Mistral 和 Gemma)的 gguf 文件。要使用 LM Studio,请访问上面的链接并为您的机器下载应用程序。启动 LM Studio 后,主页会显示要下载和测试的顶级 LLM。还有一个搜索栏,用于过滤和下载来自不同 AI 提供商的特定模型。

图片

搜索特定公司的模型会显示几种模型,从小到大量化。根据您的机器,LM Studio 使用兼容性猜测来突出显示可在该机器或平台上运行的模型。

1.1 LM Studio 的主要功能

LM Studio 提供与 ChatGPT 类似的功能和特性。它有几个功能。以下重点介绍了 LM Studio 的主要功能。

  • 模型参数自定义:这允许你调整温度、最大令牌、频率惩罚等。

  • 聊天历史记录:允许你保存提示以供日后使用。

  • 参数和 UI 提示:你可以将鼠标悬停在信息按钮上以查找模型参数和术语。

  • 跨平台:LM Studio 适用于 Linux、Mac 和 Windows 操作系统。

  • 机器规格检查:LM Studio 检查计算机规格(如 GPU 和内存)并报告兼容模型。这可以防止下载可能无法在特定机器上运行的模型。

  • AI 聊天和游乐场:以多轮聊天格式与大型语言模型聊天,并通过同时加载多个 LLM 进行实验。

  • 面向开发人员的本地推理服务器:允许开发人员设置类似于 OpenAI API 的本地 HTTP 服务器。

图片

本地服务器提供示例 Curl 和 Python 客户端请求。此功能有助于使用 LM Studio 构建 AI 应用程序以访问特定的 LLM。

# Example: reuse your existing OpenAI setup  
from openai import OpenAI  
  
  
# Point to the local server  
client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")  
  
  
completion = client.chat.completions.create(  
  model="TheBloke/Mistral-7B-Instruct-v0.1-GGUF",  
  messages=[  
    {"role": "system", "content": "Always answer in rhymes."},  
    {"role": "user", "content": "Introduce yourself."}  
  ],  
  temperature=0.7,  
)  
  
  
print(completion.choices[0].message)  

使用上述示例 Python 代码,你可以重复使用现有的 OpenAI 配置并修改基本 URL 以指向你的本地主机。

  • OpenAI 的 Python 库导入:LM Studio 允许开发人员导入 OpenAI Python 库并将基本 URL 指向本地服务器 (localhost)。

  • 多模型会话:使用单个提示并选择多个模型进行评估。

1.2 使用 LM Studio 的好处

LM Studio可免费供个人使用,它允许开发人员通过应用内聊天 UI 和游乐场运行 LLM。它提供了一个带有过滤器的华丽且易于使用的界面,并支持连接到 OpenAI 的 Python 库,而无需 API 密钥。

公司和企业可以根据要求使用 LM Studio。但是,它需要 M1/M2/M3 Mac 或更高版本,或带有支持 AVX2 处理器的 Windows PC。Intel 和 AMD 用户只能使用 v0.2.31 中的 Vulkan 推理引擎。

2、Jan

Jan 是 ChatGPT 的开源版本,旨在离线运行。它由一个秉承用户所有理念的用户社区构建。Jan 允许你在设备上运行 Mistral 或 Llama 等流行模型,而无需将其连接到互联网。使用 Jan,你可以访问 OpenAI 和 Groq 等远程 API。

图片

2.1 Jan 的主要功能

Jan 是一款电子应用程序,功能类似于 LM Studio。它通过将消费机器转变为 AI 计算机,使 AI 开放并可供所有人使用。由于它是一个开源项目,开发人员可以为其做出贡献并扩展其功能。

图片

以下细分了 Jan 的主要功能。

  • 本地:你可以在设备上运行您喜欢的 AI 模型,而无需将它们连接到互联网。

  • 即用型模型:下载 Jan 后,你将获得一组已安装的模型来开始使用。还可以搜索特定模型。

  • 模型导入:它支持从 Hugging Face 等来源导入模型。

  • 免费、跨平台和开源:Jan 是 100% 免费、开源的,适用于 Mac、Windows 和 Linux。

  • 自定义推理参数:调整模型参数,例如最大令牌、温度、流、频率惩罚等。所有首选项、模型使用和设置都保留在您的计算机本地。

  • 扩展:Jan 支持 TensortRT 和 Inference Nitro 等扩展,用于自定义和增强您的 AI 模型。

2.2 使用 Jan 的好处

Jan 提供了一个干净简单的界面来与 LLM 交互,它将你的所有数据和处理信息保存在本地。它已经安装了 70 多个大型语言模型供你使用。这些现成的模型的可用性使得连接和与 OpenAI 和 Mistral 等远程 API 交互变得容易。Jan 还有一个很棒的 GitHub、Discord 和 Hugging Face 社区可以关注和寻求帮助。

但是,与所有 LLM 工具一样,这些模型在 Apple Silicon Mac 上的运行速度比在 Intel 上更快。

3、Llamafile

Llamafile 由 Mozilla 支持,其目标是通过快速 CPU 推理(无需网络访问)支持开源 AI,并使每个人都能访问开源 AI。它将 LLM 转换为多平台可执行链接格式 (ELF)。它允许你仅使用单个可执行文件运行 LLM,从而提供将 AI 集成到应用程序中的最佳选项之一。

3.1 Llamafile 的工作原理

它旨在将权重转换为多个可执行程序,这些程序无需安装即可在 Windows、MacOS、Linux、Intel、ARM、FreeBSD 等架构上运行。在底层,Llamafile 使用 tinyBLAST 在 Windows 等操作系统上运行,而无需 SDK。

3.2 Llamafile 的主要功能

  • 可执行文件:与 LM Studio 和 Jan 等其他 LLM 工具不同,Llamafile 只需要一个可执行文件即可运行 LLM。

  • 使用现有模型:Llamafile 支持使用现有模型工具,如 Ollama 和 LM Studio。访问或制作模型:你可以访问 OpenAI、Mistral、Groq 等流行的 LLM。它还支持从头开始创建模型。

  • 模型文件转换:可以使用单个命令将许多流行的 LLM 的文件格式(例如 .gguf)转换为 .llamafile: llamafile-convert mistral-7b.gguf

3.3 开始使用 Llamafile

图片

要安装 Llamafile,请前往 Huggingface 网站,从导航中选择“模型”,然后搜索 Llamafile。你也可以从这个 URL 安装你喜欢的量化版本。

注意:量化数越大,响应越好。如上图所示,本文使用 Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile,其中 Q6 代表量化数。

步骤 1:下载 Llamafile

从上面的链接中,单击任意下载按钮以获取你喜欢的版本。如果你的机器上安装了 wget 实用程序,则可以使用以下命令下载 Llamafile。

wget https://huggingface.co/Mozilla/Meta-Llama-3.1-8B-Instruct-llamafile/blob/main/Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile  

你应该将 URL 替换为喜欢的版本。
步骤 2:使 Llamafile 可执行

下载特定版本的 Llamafile 后,你应该使用以下命令通过导航到文件的位置使其可执行。

chmod +x Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile  

步骤 3:运行 Llamafile
在文件名前面添加句点和斜杠 ./ 以启动 Llamafile。

./Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile  

Llamafile 应用程序现在可在 http://127.0.0.1:8080 上运行各种 LLM。

图片

3.4 使用 Llamafile 的好处

Llamafile 通过使 LLM 易于访问消费者 CPU 来帮助实现 AI 和 ML 的民主化。与其他本地 LLM 应用程序(如 Llama.cpp)相比,Llamafile 在游戏电脑上提供最快的即时处理体验和更好的性能。由于它具有更快的性能,因此它是总结长文本和大型文档的绝佳选择。它 100% 离线且私密地运行,因此用户不会将数据共享给任何 AI 服务器或 API。

Hugging Face 等机器学习社区支持 Llamafile 格式,因此可以轻松搜索与 Llamafile 相关的模型。它还有一个很棒的开源社区,可以进一步开发和扩展它。

4、GPT4ALL

GPT4ALL 建立在隐私、安全和无需互联网的原则之上。用户可以在 Mac、Windows 和 Ubuntu 上安装它。与 Jan 或 LM Studio 相比,GPT4ALL 的每月下载量、GitHub Stars 和活跃用户更多。

图片

4.1 GPT4ALL 的主要功能

GPT4All 可以在主要的消费硬件上运行 LLM,例如 Mac M 系列芯片、AMD 和 NVIDIA GPU。以下是其主要功能。

  • 隐私第一:仅在你的机器上保留私人和敏感的聊天信息和提示。

  • 无需互联网:它完全离线工作。

  • 模型探索:此功能允许开发人员浏览和下载不同类型的 LLM 进行试验。你可以从 LLama、Mistral 等流行选项中选择大约 1000 个开源语言模型。

  • 本地文档:可以让你的本地 LLM 使用本地文档(如 .pdf 和 .txt)访问你的敏感数据,而无需数据离开你的设备,也无需网络。

  • 自定义选项:它提供了多种聊天机器人调整选项,如温度、批次大小、上下文长度等。

  • 企业版:GPT4ALL 提供了一个企业包,其中包含安全性、支持和每台设备许可证,可将本地 AI

4.2 开始使用 GPT4All

要开始使用 GPT4All 在本地运行 LLM,请下载适用于你的操作系统的所需版本。

4.3 使用 GPT4ALL 的好处

除了 Ollama 之外,GPT4ALL 拥有最多的 GitHub 贡献者,每月活跃用户约为 250000 名(参考nomic数据)。该应用程序收集有关使用情况分析和聊天共享的匿名用户数据。但是,用户可以选择加入或退出。

使用 GPT4ALL,开发人员可以从其庞大的用户群、GitHub 和 Discord 社区中受益。

5、Ollama

使用 Ollama,你可以轻松创建本地聊天机器人,而无需连接到 OpenAI 等 API。由于一切都在本地运行,因此无需支付任何订阅或 API 调用费用。

图片

5.1 Ollama 的主要功能

  • 模型定制:Ollama 允许您转换 .gguf 模型文件并使用 ollama run modelname 运行它们。

  • 模型库:Ollama 在 ollama.com/library 上拥有大量可供尝试的模型。

  • 导入模型:Ollama 支持从 PyTorch 导入模型。

  • 社区集成:Ollama 无缝集成到 Web 和桌面应用程序中,例如 Ollama-SwiftUI、HTML UI、Dify.ai 等。

  • 数据库连接:Ollama 支持多个数据平台。

  • 移动集成:像 Enchanted 这样的 SwiftUI 应用程序将 Ollama 带到了 iOS、macOS 和 visionOS。Maid 也是一个跨平台的 Flutter 应用程序,可在本地与 .ggufmodel 文件交互。

5.2 开始使用 Ollama

首次使用 Ollama 时,请访问 https://ollama.com 并下载适用于您机器的版本。您可以在 Mac、Linux 或 Windows 上安装它。安装 Ollama 后,您可以使用以下命令在终端中查看其详细信息。

ollama  

要运行特定的 LLM,您应该使用以下命令下载它:

ollama pull <modelname>  

其中 <modelname> 是你要安装的模型的名称。在 GitHub 上查看 Ollama 以获取一些示例模型以供下载。pull 命令也用于更新模型。一旦使用它,只会获取差异。
下载例如 llama3.1 后,在命令行中运行 ollama run llama3.1 即可启动该模型。

图片

在上面的例子中,我们提示 llama3.1 模型解决物理工作和能量问题。

图片

5.3 使用 Ollama 的好处

Ollama 在 GitHub 上有超过 200 名贡献者,并且积极更新。在上面讨论的其他开源 LLM 工具中,它拥有最多的贡献者,并且可扩展性更强。

6、LLaMa.cpp

LLaMa.cpp 是底层后端技术(推理引擎),为 Ollama 等本地 LLM 工具提供支持。Llama.cpp 支持大量大型语言模型推理,配置最少,在各种硬件上具有出色的本地性能。它也可以在云中运行。

图片

6.1 LLaMa.cpp 的主要功能

  • 设置:它具有最小的设置。可以使用单个命令安装它。

  • 性能:它在本地和云中的各种硬件上表现都非常出色。

  • 支持的模型:它支持流行和主要的 LLM,如 Mistral 7B、Mixtral MoE、DBRX、Falcon 等。

  • 前端 AI 工具:LLaMa.cpp 支持开源 LLM UI 工具,如 MindWorkAI/AI-Studio (FSL-1.1-MIT)、iohub/collama 等。

6.2 开始使用 LLaMa.cpp

要使用 llama.cpp 运行你的第一个本地大型语言模型,应该使用以下命令安装它:

brew install llama.cpp  

接下来,从 Hugging Face 或任何其他来源下载您想要运行的模型。例如,从 Hugging Face 下载Mistral模型并将其保存在你的机器上的某个位置。
使用你喜欢的命令行工具(如终端),进入您刚刚下载的 .gguf 模型文件的位置并运行以下命令:

llama-cli --color \   
-m Mistral-7B-Instruct-v0.3.Q4_K_M.ggufb \   
-p "Write a short intro about SwiftUI"  

总之,您首先调用 LLaMa CLI 工具并设置颜色和其他标志。-m 标志指定您要使用的模型的路径。-p 标志指定您希望用来指示模型的提示。
运行上述命令后,您将在以下预览中看到结果。

图片

7、本地LLM的典型用例

在本地运行 LLM 可以帮助想要了解其性能及其详细工作原理的开发人员。本地 LLM 可以查询私人文档和技术论文,以便有关这些文档的信息不会离开用于查询它们的设备,而流向任何云 AI API。本地 LLM 在没有互联网的地方和网络接收较差的地方很有用。

在远程医疗环境中,由于隐私问题,本地 LLM 可以对患者文档进行排序,而无需将其上传到任何 AI API 提供商。

在本地使用大型语言模型之前了解其性能对于获得所需的响应至关重要。有几种方法可以确定特定 LLM 的性能。以下是几种方法。

  • 训练:模型是在什么数据集上训练的?

  • 微调:模型可以在多大程度上定制以执行专门的任务,或者可以针对特定领域进行微调?

  • 学术研究:LLM 是否有学术研究论文?

要回答上述问题,你可以查看 Hugging Face 和 Arxiv.org 等优秀资源。此外,Open LLm Leaderboard 和 LMSYS Chatbot Arena 为各种 LLM 提供了详细信息和基准。

8、结束语

正如本文所讨论的,选择和本地使用大型语言模型有多种动机。如果你不希望通过互联网将数据集发送给 AI API 提供商,您可以微调模型以在远程医疗应用程序中执行专门的任务。许多开源图形用户界面 (GUI) 本地 LLM 工具(如 LLm Studio 和 Jan)提供了直观的前端 UI,用于配置和试验 LLM,而无需像 OpenAI 或 Claude 这样的基于订阅的服务。您还发现了各种强大的命令行 LLM 应用程序,如 Ollama 和 LLaMa.cpp,它们可帮助您在本地运行和测试模型,而无需互联网连接。查看 Stream 的 AI Chatbot 解决方案,将 AI 聊天集成到您的应用程序中,并访问所有相关链接以了解更多信息。

如何学习AI大模型 ?

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。【保证100%免费】🆓

对于0基础小白入门:

如果你是零基础小白,想快速入门大模型是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以根据这些资料规划好学习计划和方向。

😝有需要的小伙伴,可以VX扫描下方二维码免费领取🆓

👉1.大模型入门学习思维导图👈

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过AI大模型的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。(全套教程文末领取哈)
在这里插入图片描述

👉2.AGI大模型配套视频👈

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,每个章节都是当前板块的精华浓缩。

在这里插入图片描述
在这里插入图片描述

👉3.大模型实际应用报告合集👈

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(全套教程文末领取哈)

在这里插入图片描述

👉4.大模型落地应用案例PPT👈

光学理论是没用的,要学会跟着一起做,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(全套教程文末领取哈)

在这里插入图片描述

👉5.大模型经典学习电子书👈

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。(全套教程文末领取哈)
img

在这里插入图片描述

👉6.大模型面试题&答案👈

截至目前大模型已经超过200个,在大模型纵横的时代,不仅大模型技术越来越卷,就连大模型相关的岗位和面试也开始越来越卷了。为了让大家更容易上车大模型算法赛道,我总结了大模型常考的面试题。(全套教程文末领取哈)

在这里插入图片描述
👉学会后的收获:👈
基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习

这份完整版的 AI 大模型学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

😝有需要的小伙伴,可以Vx扫描下方二维码免费领取🆓

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2192353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Vue.js + 大屏Datav + Spring Boot后端的养殖场环境设备实时监测控制系统

开发一个基于Vue.js 大屏Datav Spring Boot后端的养殖场环境设备实时监测控制系统是一个复杂而全面的任务。下面将详细介绍整个项目的架构设计、技术选型、开发实现和测试部署过程。 1. 需求分析 1.1 功能需求 环境参数监控&#xff1a;实时监控温度、湿度、光照强…

C/C++/EasyX——入门图形编程(5)

【说明】友友们好&#xff0c;今天来讲一下键盘消息函数。&#xff08;其实这个本来准备和鼠标消息函数放在一起的&#xff0c;但是上一篇三个放在一起&#xff0c;内容就有点多了&#xff0c;只写一个又太单调了&#xff0c;所以键盘消息函数的内容就放在这一篇了 (^&#xff…

大语言模型中文本分割策略的综合指南

整理 本文整理了一些简单的文本切分方式&#xff0c;适用于大语言模型经典应用RAG或相似场景。 一般切分 如果不借助任何包&#xff0c;很容易想到如下切分方案&#xff1a; text "我是一个名为 ChatGLM3-6B 的人工智能助手&#xff0c;是基于清华大学 KEG 实验室和智…

模型 SECI(知识的创造)

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。知识创造的螺旋转化模型。 1 SECI的应用 1.1 Tech Innovations移动应用创新 Tech Innovations是一家软件开发公司&#xff0c;致力于开发创新的移动应用程序。为了提升团队的知识共享和创新能力&…

力扣6~10题

题6&#xff08;中等&#xff09;&#xff1a; 思路&#xff1a; 这个相较于前面只能是简单&#xff0c;个人认为&#xff0c;会print打印菱形都能搞这个&#xff0c;直接设置一个2阶数组就好了&#xff0c;只要注意位置变化就好了 python代码&#xff1a; def convert(self,…

感知机及其实践

说明 感知机是SVM(support vector machine,支持向量机)的基础&#xff0c;更是机器学习的基础。本文的目的在于把感知机的相关概念捋清楚&#xff0c;并基于感知机做最基本的线性可分的二分类实践。 有关机器学习的一些基础概念&#xff0c;读者可以参考本专栏的第一篇博文[4]&…

Oracle创建用户报错-ORA-65096: invalid common user or role name

问题描述 ORA-65096: invalid common user or role name 原因分析 这可能是创建角色的容器为cdb导致&#xff0c;当然如果想继续执行&#xff0c;可以在角色名前加C##或者c##&#xff0c;但是这样会导致用户名多了c##&#xff0c;我们不要这样的用户名 解决步骤 用sysdba 登录&…

SCUC博客摘录「 储能参与电能市场联合出清:SCUC和SCED模型应用于辅助服务调频市场(IEEE39节点系统)」2024年10月6日

2.1 SCUC模型在本方法中&#xff0c;首先利用SCUC模型确定机组出力计划和储能充放电计划。SCUC模型是电力系统经济调度的重要工具&#xff0c;通过优化发电机组出力计划和调度&#xff0c;实现电力系统的经济性和可靠性。在考虑储能的情况下&#xff0c;SCUC模型需要考虑储能的…

vue3常用组件通信方法

title: vue3常用组件通信方法 date: 2024-10-06 15:00:54 tags: vue3 组件通信 一、父传子—defineProps 1.父亲 通过属性传值 2.儿子 通过defineProps接收相关的数据 二、子传父 1&#xff09;使用defineExposeref 1.子组件 在子组件中使用defineExpose先暴露出来 2.父…

基础算法之滑动窗口--Java实现(上)--LeetCode题解:长度最小的子数组-无重复字符的子串-最大连续1的个数III-将x减到0的最小操作数

这里是Thembefue 今天讲解算法中较为经典的一个算法 > 滑动窗口 本讲解主要通过题目来讲解以理解算法 讲解分为三部分&#xff1a;题目解析 > 算法讲解 > 编写代码 滑动窗口 在正式进入题目的讲解之前&#xff0c;得先了解一下什么是滑动窗口&#xff0c;以及应该在什…

一篇文章教会你DHT11读取温湿度,附STM32代码示例

目录 一、DHT11说明&#xff1a; 1.典型电路&#xff1a; 2.串行通信说明&#xff08;单线双向&#xff09;&#xff1a; 单总线说明&#xff1a; 单总线传送数据位定义&#xff1a; 校验位数据定义&#xff1a; 二、DHT11读取时为啥要切换模式&#xff1a; 1. 通信时序…

基于深度学习的手势控制模型

关于深度实战社区 我们是一个深度学习领域的独立工作室。团队成员有&#xff1a;中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等&#xff0c;曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万粉丝&#xff0c;拥有2篇国家级人工智能发明专利。 社区特色…

理解递归和回溯

文章目录 什么是递归回溯 什么是递归 回溯 //使用递归回溯来给小球找路//说明//1. map 表示地图//2. i,j 表示从地图的哪个位置开始出发 (1,1)//3. 如果小球能到 map[6][5] 位置&#xff0c;则说明通路找到.//4. 约定&#xff1a; 当map[i][j] 为 0 表示该点没有走过 当为 1 表…

【Python】wxPython 高 DPI 缩放问题(笔记本上字体模糊问题)

问题 使用 wxPython 编写的程序在某些高 DPI 的电脑&#xff08;通常是笔记本&#xff09;上显示出来的字体会非常模糊&#xff1a; 事实上 wxPython 是支持高 DPI 的&#xff0c;但是由于我们的程序没有显式指明支持高 DPI&#xff0c;因此系统默认不支持高 DPI&#xff0c;…

Bolt.new:终极自动化编程工具

兄弟们&#xff0c;终极写代码工具来了—— Bolt.new&#xff01;全方位的编程支持&#xff1a; StackBlitz 推出了 Bolt․new&#xff0c;这是一款结合了 AI 与 WebContainers 技术的强大开发平台&#xff0c;允许用户快速搭建并开发各种类型的全栈应用。 它的主要特点是无需…

【小沐学GIS】QGIS导入导出OpenStreetMap数据(QuickMapServices、OSM)

文章目录 1、简介1.1 OpenStreetMap地图1.2 QGIS 2、安装插件2.1 QuickMapServices2.2 OSMDownloader2.3 Qgis2threejs 3、使用插件结语 1、简介 1.1 OpenStreetMap地图 https://www.openstreetmap.org/ https://extract.bbbike.org/ Openstreetmap是一种开源地图&#xff0c…

微服务swagger解析部署使用全流程

1、介绍 swagger是一个在线接口说明文档&#xff0c;在代码中通过注解的方式将说明问题集成到项目&#xff0c;代码发生修改&#xff0c;说明文档同步修改&#xff0c;前后台联调可以快速同步数据。 2、应用 1、引入依赖 <dependency><groupId>io.springfox<…

如何使用ssm实现基于Web的穿戴搭配系统的设计与实现+vue

TOC ssm784基于Web的穿戴搭配系统的设计与实现vue 第1章 绪论 1.1 研究背景 互联网概念的产生到如今的蓬勃发展&#xff0c;用了短短的几十年时间就风靡全球&#xff0c;使得全球各个行业都进行了互联网的改造升级&#xff0c;标志着互联网浪潮的来临。在这个新的时代&…

新机配置Win11

Win11跳联网 在连接网络的界面输入ShiftF10打开命令行&#xff0c;然后输入oobe\bypassnro然后会重启&#xff0c;在联网的界面就可以进行跳过了。 编码 在中国大陆Windows使用的编码是GBK编码 查看电脑系统版本 WinR输入winver即可 桌面图标 设置->个性化->主题…

Art. 1 | 信号、信息与消息的区别及其在通信中的应用

信号、信息与消息的区别及其在通信中的应用 通信技术是现代社会的基石&#xff0c;其广泛应用于日常生活的各个方面。从手机、互联网到企业信息管理&#xff0c;通信系统无处不在。在这一技术领域中&#xff0c;信号、信息和消息是三大基础概念&#xff0c;支撑着整个通信系统…