AI客户端选型指南:从开源工具到本地部署的完整实践

news2026/5/5 10:45:11
1. 项目概述一个AI客户端的“Awesome”清单如果你最近在折腾各种AI应用特别是那些需要自己部署、对接不同大模型API的客户端工具那你大概率和我一样经历过一段“选择困难症”时期。市面上工具层出不穷有开源的、闭源的、跨平台的、专注某一功能的每个都宣称自己最好用。到底哪个工具最适合我的工作流哪个对开发者最友好哪个对普通用户最易上手这些问题在我第一次看到wlemuel/awesome-ai-client这个项目时感觉找到了一个“藏宝图”。简单来说这是一个托管在 GitHub 上的清单List类项目遵循“Awesome”系列的传统。它的核心使命不是开发一个新软件而是做一件看似简单却极具价值的事情系统地收集、分类和评测那些优秀的AI客户端应用。这里说的“AI客户端”主要指那些允许用户通过图形界面或命令行与OpenAI的GPT系列、Anthropic的Claude、Google的Gemini以及众多开源大模型如Llama、Qwen、ChatGLM等进行交互的桌面或移动端应用程序。这个项目解决了一个非常实际的痛点信息过载与筛选成本。对于开发者它提供了一个快速选型的参考避免重复造轮子对于研究者或普通用户它是一份权威的“选购指南”帮你找到最趁手的工具。项目维护者wlemuel通过设定明确的收录标准如开源、活跃维护、特色功能等并持续更新让这个清单保持了较高的质量和时效性。接下来我们就深入拆解这份清单的价值所在以及如何最大化地利用它。2. 清单的核心价值与分类逻辑一份好的清单其价值远不止是罗列。awesome-ai-client的含金量体现在其精心设计的分类体系和每个条目附带的简明信息上。它不是简单地把一堆GitHub仓库链接扔在一起而是试图构建一个多维度的评估框架帮助用户从不同视角找到所需。2.1 多维度的分类体系项目通常按照以下几个核心维度对客户端进行分类这也是用户筛选时最需要关注的几个方面1. 按许可证与商业模式分类这是首要过滤器。清单会明确区分开源 (Open Source):如ChatGPT-Next-Web,Open WebUI(原名Ollama WebUI)。这类客户端的代码完全公开允许自由修改、分发和用于商业目的。对于注重隐私、需要自定义功能或希望学习实现的开发者来说这是首选。免费但闭源 (Freeware):如某些跨平台桌面客户端。它们可以免费使用但源代码不公开。优势在于通常由团队维护体验可能更精致、稳定但用户无法掌控底层也无法自行修复问题或添加特定功能。商业/付费 (Commercial):提供高级功能的付费客户端或SaaS服务。清单中可能会标注其付费点如团队协作、更高频次的使用限额、专属支持等。2. 按技术架构与部署方式分类这决定了你需要什么样的技术基础去使用它。Web应用 (Web App):通过浏览器访问。这类客户端部署最灵活可以跑在本地localhost也可以部署到服务器供团队使用。例如ChatGPT-Next-Web就是一个典型的可以一键部署的Web应用。桌面客户端 (Desktop Client):如基于Electron或Tauri开发的跨平台应用Windows, macOS, Linux。它们能提供更接近原生应用的体验更好的系统集成如全局快捷键、托盘图标并且通常将配置和对话历史存储在本地隐私性相对更好。命令行工具 (CLI):如aichat,shell_gpt。这类工具极客风十足适合嵌入自动化脚本、在服务器上使用或作为开发工作流的一部分追求的是效率和可编程性。浏览器扩展 (Browser Extension):增强现有网页版AI服务如ChatGPT官网的功能或提供划词翻译、总结等快捷操作。3. 按核心功能特色分类这是选择时的“决胜局”。清单会突出每个客户端的杀手锏功能多模型支持 (Multi-model Support):是否支持同时配置和管理多个不同供应商的APIOpenAI, Anthropic, Google, 开源模型API等。这是很多高级用户的核心需求。本地模型集成 (Local Model Integration):是否支持与Ollama,LM Studio,text-generation-webui等本地模型推理框架无缝对接。这对于不想依赖API、追求数据隐私或需要特定微调模型的用户至关重要。高级对话功能是否支持对话分支多轮对话树、角色预设System Prompt模板、知识库/文件上传RAG、联网搜索等。隐私与安全是否明确声明数据不上传、支持完全离线运行、对话历史本地加密存储等。2.2 清单条目的信息结构一个典型的条目会包含项目名称与链接直接导向GitHub仓库或官网。简短描述一两句话概括其核心定位和最大亮点。技术栈如“Electron React”、“Python Tkinter”、“Vue3 FastAPI”。这对开发者选型或二次开发很有帮助。关键特性图标或标签用徽章Badge快速展示如开源、️跨平台、多API支持、文件上传。星标数 最近更新GitHub的星标数是一个重要的流行度与活跃度参考。最近更新时间则反映了项目是否还在积极维护。注意使用这类清单时务必警惕“僵尸项目”。一个两年前最后一次更新、却有几千星的项目可能依赖已经过时存在安全漏洞或无法适配最新的模型API。优先考虑近期如6个月内有提交记录的项目。3. 从清单到决策如何挑选最适合你的AI客户端有了这份清单我们该如何用它来做出最终选择呢这不仅仅是一个“点菜”的过程更是一个需求匹配的分析过程。我根据自己的经验总结了一个四步筛选法。3.1 第一步明确你的核心用户场景与需求在打开清单之前先问自己几个问题我是谁开发者、研究人员、文案工作者、学生还是普通好奇用户我的主要使用场景是什么是日常问答、辅助编程、文档总结、创意写作还是作为某个应用的集成组件我的技术背景如何我是否愿意且能够自行部署一个Web服务我是否熟悉命令行我对隐私的要求有多高我的预算是多少仅限于免费工具还是愿意为专业功能付费例如场景A普通用户仅使用ChatGPT Plus追求美观易用。需求可能是一个漂亮的桌面客户端支持快捷键呼出、历史记录搜索、多会话管理。那么清单中“桌面客户端”类别下的闭源免费工具可能更合适。场景B开发者需要同时调试GPT-4、Claude和本地Llama模型。需求是必须支持多API配置最好能方便地切换和对比不同模型的输出对话历史最好能导出为结构化数据如JSON支持自定义System Prompt模板。那么清单中功能全面的开源Web应用或桌面客户端是首选。场景C隐私极度敏感的研究员所有数据不能出本地。需求是必须100%离线运行能与本地Ollama完美集成支持加载多种GGUF格式模型。那么筛选条件应立刻锁定在“开源”“本地模型集成”特性突出的项目上。3.2 第二步利用清单进行初筛与横向对比根据第一步确定的需求关键词在清单的目录或README中快速定位相关分类。然后不要急于点开链接先在一个表格里横向对比2-3个最符合条件的候选项目。我通常会自制一个简单的对比表特性维度候选项目A (如ChatGPT-Next-Web)候选项目B (如Open WebUI)候选项目C (如某个桌面客户端)许可证MIT (开源)MIT (开源)免费闭源部署方式Docker / Vercel / 手动部署Docker / 本地安装直接下载安装包多模型支持✅ OpenAI, Azure, 自定义代理✅ OpenAI, Ollama, OpenRouter等⚠️ 仅限OpenAI (可能)本地模型⚠️ 需通过自定义代理间接支持✅ 原生深度集成Ollama❌ 不支持UI美观度简洁现代功能丰富类似ChatGPT官网依赖具体客户端设计高级功能角色预设、联网搜索知识库、插件系统、多用户可能具备特色功能如语音活跃度星标数高近期有更新星标数高近期有更新需查看官网或仓库确认隐私控制可自行部署数据自控可本地部署数据自控取决于客户端政策这个对比过程能迅速帮你排除明显不符合要求的选项并聚焦于核心差异点。3.3 第三步深入考察与快速验证经过横向对比筛选出1-2个最终候选者。这时就需要深入清单中提供的项目链接了。访问GitHub仓库这是最重要的一步。仔细阅读项目的README.md这是项目的门面。好的README应该包含清晰的安装部署指南、功能截图、配置说明和常见问题解答。查看Issues和Pull Requests打开Issues页面看看最近有没有未解决的严重Bug如“API连接失败”、“内存泄漏”。再看Pull Requests看看社区是否活跃维护者是否及时合并代码。一个有很多开启的Issue但很久没有回应的项目需要谨慎。检查Release版本查看最近的Release版本更新频率和说明。频繁的Release通常意味着积极的维护和Bug修复。尝试快速部署/安装对于开源项目如果README提供了简单的部署方式如一句Docker命令强烈建议在你的测试环境本地电脑或一台测试服务器上快速尝试一下。这是验证项目是否“名副其实”的最直接方法。很多问题如依赖缺失、配置复杂只有在实操中才会暴露。实操心得对于Docker部署的项目一个非常实用的技巧是先不要急着修改任何默认配置就用最简单的docker run命令先把它跑起来。如果能成功访问登录页说明基础环境没问题。然后再去仔细研究如何配置API Key、模型等。这能避免一开始就陷入复杂的配置泥潭打击信心。3.4 第四步做出选择并持续关注基于以上步骤你应该可以做出一个相对理性的选择。没有“最好”的工具只有“最适合”你当前场景的工具。选定之后建议做两件事给选中的项目点个Star并Watch它。这不仅是对开发者的鼓励也能让你通过GitHub通知及时了解该项目的重大更新、安全漏洞修复或新功能发布。将awesome-ai-client这个清单本身也加入你的书签或Watch列表。AI领域发展日新月异新的优秀客户端可能随时出现。定期回顾这个清单可以让你保持对工具生态的敏感度在需求变化时能快速找到替代或升级方案。4. 代表性项目深度解析与实操指南为了让大家更有体感我们以清单中两个极具代表性、但定位迥异的开源项目为例进行深度解析并附上从零开始的部署实操指南。这两个项目是ChatGPT-Next-Web和Open WebUI。4.1 ChatGPT-Next-Web极致简洁的多模型Web门户项目定位一个“一键部署”、界面极简、专注于对话体验的ChatGPT风格Web应用。它的目标是成为你访问各种大模型API的统一、美观的前端。核心优势部署极其简单支持Vercel免费服务器一键部署、Docker部署、本地运行对新手友好。界面高度还原几乎复刻了ChatGPT官网的交互体验学习成本为零。轻量且高效代码简洁功能聚焦于核心对话响应速度快。支持多模型API除了OpenAI还支持配置Azure OpenAI、Google Gemini、Claude以及众多国内大模型和开源模型API通过统一接口格式。实操部署指南以Docker为例假设你已安装Docker和Docker Compose。准备配置文件创建一个目录例如chatgpt-next-web并在其中创建docker-compose.yml文件。version: 3.8 services: chatgpt-next-web: image: yidadaa/chatgpt-next-web # 官方镜像 container_name: chatgpt-next-web ports: - 3000:3000 # 将容器3000端口映射到主机3000端口 environment: - OPENAI_API_KEYsk-xxx # 你的OpenAI API Key - OPENAI_API_BASE_URLhttps://api.openai.com/v1 # API基础地址可改为代理地址 - CODEyour_access_code # 可选设置访问密码逗号分隔多个密码 - HIDE_USER_API_KEY1 # 可选禁止用户在UI中输入自己的API Key - DISABLE_GPT40 # 可选禁用GPT-4模型 restart: unless-stopped启动服务在终端中进入该目录执行命令。docker-compose up -d访问http://你的服务器IP:3000即可使用。如果设置了CODE首次访问需要输入密码。关键配置解析OPENAI_API_BASE_URL: 这是配置的精华所在。如果你使用第三方代理服务用于访问某些区域受限的API只需将此地址改为代理服务商提供的地址即可项目会自动适配。多模型配置在Web界面的设置中你可以添加多个“模型供应商”。每个供应商需要填写名称、API地址和Key。这样你就可以在侧边栏轻松切换不同的模型进行对话。注意事项该项目默认将所有对话历史存储在浏览器的LocalStorage中。这意味着如果你清除了浏览器数据或换了电脑历史记录会丢失。对于重要对话请养成手动导出支持Markdown格式的习惯。如果部署在公网务必设置强壮的CODE访问密码否则你的API额度可能被他人盗用。4.2 Open WebUI (原名 Ollama WebUI)本地模型的全功能控制中心项目定位一个功能极其丰富的Web UI最初为Ollama设计但现已扩展为支持多种后端OpenAI API, vLLM等的“AI操作系统”。它的目标是提供一个可自托管、功能堪比ChatGPT Plus的企业级或个人AI平台。核心优势与Ollama深度集成这是它最大的特色。可以无缝地查看、下载、运行和管理本地Ollama中的模型并提供类似ChatGPT的Web界面进行对话。功能全面支持多模态图片理解、RAG上传文档构建知识库、插件系统、Web搜索、多用户角色权限管理、完整的对话历史管理支持数据库持久化。现代化架构前后端分离基于FastAPI和SvelteKit扩展性强。实操部署指南Docker Compose Ollama这个部署稍复杂因为它通常需要和Ollama服务一起协作。准备docker-compose.yml文件version: 3.8 services: ollama: image: ollama/ollama:latest container_name: ollama volumes: - ollama_data:/root/.ollama # 持久化存储模型数据 ports: - 11434:11434 # Ollama的API端口 restart: unless-stopped networks: - ai-network open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui depends_on: - ollama ports: - 8080:8080 # Open WebUI的访问端口 volumes: - open-webui_data:/app/backend/data # 持久化存储WebUI数据对话、用户等 environment: - OLLAMA_BASE_URLhttp://ollama:11434 # 关键指向Ollama服务 - WEBUI_SECRET_KEYyour_secret_key_here # 建议设置一个随机密钥 - WEBUI_NAMEMy Local AI Hub # 自定义名称 restart: unless-stopped networks: - ai-network volumes: ollama_data: open-webui_data: networks: ai-network: driver: bridge启动服务并初始化docker-compose up -d等待所有容器启动完成后访问http://你的服务器IP:8080。首次访问需要注册一个管理员账户。在Open WebUI中拉取并运行模型登录后进入“Settings”或“Models”页面。你应该能看到它已经连接到了本地的Ollama服务。在模型管理界面你可以直接搜索并拉取模型例如llama3.1:8b。拉取过程可能需要较长时间取决于模型大小和网络。拉取完成后选择该模型就可以开始对话了。体验高级功能文件上传/RAG在聊天界面点击附件图标上传PDF、Word、TXT等文件之后你的提问可以基于文档内容进行。插件与工具在设置中探索并启用插件如计算器、维基百科搜索等。多用户管理如果你是部署给团队使用可以创建多个用户并分配不同角色和权限。踩坑记录部署时最常见的问题是Open WebUI容器无法连接到Ollama容器。确保docker-compose.yml中OLLAMA_BASE_URL的地址正确使用了Docker网络名ollama。如果部署在非本地环境或者Ollama是单独部署的需要将地址改为对应的IP和端口。另外Ollama拉取模型需要较大磁盘空间请确保宿主机有足够容量。5. 常见问题与进阶使用技巧在实际使用和部署这些AI客户端的过程中你一定会遇到各种各样的问题。下面我整理了一些高频问题和解决思路以及一些能提升体验的进阶技巧。5.1 部署与连接类问题Q1: 部署后访问页面显示“无法连接”或空白页检查端口映射确认docker-compose.yml或docker run命令中的端口映射如- 3000:3000是否正确且主机端口未被其他程序占用。使用netstat -tulpn | grep :3000(Linux) 或lsof -i :3000(macOS) 检查。查看容器日志这是最重要的排错手段。运行docker logs 容器名查看是否有启动错误例如环境变量缺失、依赖安装失败等。防火墙设置如果部署在云服务器确保安全组/防火墙规则允许了对应端口如3000, 8080的入站流量。Q2: 客户端无法连接到我的模型APIOpenAI/Ollama等检查API基础地址和Key99%的问题出在这里。确认环境变量或设置界面中的API_BASE_URL和API_KEY完全正确。对于OpenAIURL通常是https://api.openai.com/v1对于Ollama是http://主机IP:11434。网络连通性如果API服务在另一台机器或云端确保客户端所在环境能访问到该地址和端口。可以在客户端服务器上尝试curl API_BASE_URL测试连通性。代理问题如果你的网络需要通过代理访问外部API需要在客户端配置或部署环境如Docker容器中设置代理。对于Docker可以在docker-compose.yml中为服务添加environment部分设置HTTP_PROXY和HTTPS_PROXY。Q3: 使用Ollama时拉取或运行模型非常慢甚至失败镜像源问题Ollama默认从Docker Hub拉取模型国内可能很慢。可以尝试配置镜像加速器。修改Ollama的启动命令或环境变量例如在docker-compose.yml的ollama服务下添加environment: - OLLAMA_HOST0.0.0.0确保监听所有IP然后通过OLLAMA_MODELS环境变量指定镜像源但需注意官方对镜像源的支持情况。磁盘空间不足一个7B参数的模型可能就需要4-8GB的磁盘空间。使用docker system df和df -h检查Docker和宿主机的磁盘使用情况。内存不足运行模型需要足够的内存。通过docker stats查看容器内存占用并确保宿主机有足够的可用内存。对于大模型可能需要16GB甚至32GB以上内存。5.2 配置与使用类问题Q4: 如何让我的对话历史持久化不随浏览器关闭而丢失对于ChatGPT-Next-Web等轻量客户端默认存储在浏览器本地不是为持久化设计。如果需要可以考虑寻找支持后端数据库存储的衍生版本或类似项目。对于Open WebUI等全功能客户端它们通常内置了数据库如SQLite。确保你按照部署指南将数据卷volume正确挂载到了容器外的持久化目录如./data:/app/backend/data。这样即使删除容器数据也不会丢失。Q5: 如何在一台服务器上部署多个不同的AI客户端使用不同端口这是最直接的方法。在docker-compose.yml中为每个服务分配不同的主机端口例如一个用3000:3000另一个用8080:8080。使用反向代理推荐对于生产环境或想用域名访问的情况使用Nginx或Caddy作为反向代理是标准做法。这样你可以用不同的子域名如chat.yourdomain.com,webui.yourdomain.com或路径来访问不同服务且只需要暴露80/443端口更安全。# Nginx 配置示例片段 server { listen 80; server_name chat.yourdomain.com; location / { proxy_pass http://localhost:3000; # 指向ChatGPT-Next-Web proxy_set_header Host $host; # ... 其他代理设置 } } server { listen 80; server_name webui.yourdomain.com; location / { proxy_pass http://localhost:8080; # 指向Open WebUI proxy_set_header Host $host; # ... 其他代理设置 } }5.3 进阶技巧与优化技巧1为Open WebUI配置外部模型服务Open WebUI不仅支持Ollama还支持OpenAI兼容的API。这意味着你可以将你的Azure OpenAI服务、Groq云API或是你自己用vLLM、TGI部署的开源模型API接入进来。在Open WebUI设置中找到“连接器”或“模型供应商”管理。添加一个新的供应商类型选择“OpenAI”。在“API Base URL”中填入你的外部API地址如https://api.groq.com/openai/v1。填入对应的API Key。保存后在模型列表里应该就能看到该服务提供的模型了。这样你就在一个界面里统一管理了本地和云端的模型。技巧2使用环境变量文件管理敏感配置在docker-compose.yml中直接写入API Key等敏感信息不安全也不利于管理。最佳实践是使用环境变量文件。创建一个名为.env的文件确保它在.gitignore中内容如下OPENAI_API_KEYsk-your-real-key-here WEBUI_SECRET_KEYa-very-long-random-string ACCESS_CODEmysecretcode1,mysecretcode2在docker-compose.yml中移除具体的环境变量值改为引用文件services: my-ai-app: image: some-image env_file: - .env # 指定环境变量文件 # ... 其他配置这样敏感信息与编排文件分离更安全也方便在不同环境开发、生产间切换配置。技巧3监控与资源管理对于长期运行的服务简单的监控很有必要。基础监控使用docker stats命令可以实时查看所有容器的CPU、内存使用率。日志收集使用docker logs --tail 100 -f 容器名可以持续查看最新日志。对于生产环境可以考虑配置Docker的日志驱动将日志发送到ELK或Loki等集中式日志系统。资源限制在docker-compose.yml中可以为服务设置资源限制防止某个容器耗尽主机资源。services: ollama: # ... deploy: resources: limits: cpus: 4.0 memory: 16G reservations: memory: 8G6. 生态观察与未来展望awesome-ai-client清单本身就像一个AI客户端生态的晴雨表。通过观察它的更新趋势我们可以洞见一些行业动向。当前趋势一从“单一模型”到“模型聚合与管理平台”早期的客户端大多只对接OpenAI一家。现在几乎所有新出现的、有野心的客户端都将“多模型支持”作为标配。未来的客户端竞争很可能不在UI的美观程度上而在其模型管理能力上。谁能更优雅地统一配置、切换、对比来自不同供应商云端API、本地推理的数十甚至上百个模型谁就能赢得专业用户的青睐。Open WebUI的插件化和OpenAI兼容接口设计正是这一趋势的体现。当前趋势二从“纯聊天”到“智能体工作流”简单的问答已经不能满足需求。集成RAG知识库问答、联网搜索、代码解释器、函数调用Tools甚至编排复杂多步骤任务的工作流正在成为高端客户端的差异化功能。客户端正在演变为个人或团队的“AI智能体调度中心”。清单中一些项目已经开始标注“Workflow”、“Agent”等特性标签。当前趋势三本地优先与隐私强化随着Llama、Qwen等优秀开源模型的涌现完全在本地运行的AI能力从幻想变为现实。因此与Ollama等本地推理框架的“开箱即用”式集成成为了一个巨大的加分项。同时明确声明“数据不离线”、“端到端加密”的客户端更能吸引企业和对隐私敏感的用户。对于开发者而言这个清单不仅是工具集更是灵感库。你可以看到各种技术栈Next.js, SvelteKit, Tauri, Electron的实现看到不同的架构设计。也许下一个被收录进这个“Awesome”清单的项目就出自你的手中。最后回归到使用者的角度我的建议是不要追求“一步到位”找到那个完美的工具。AI的发展速度和你的需求都在变化。利用好awesome-ai-client这样的清单保持开放心态勇于尝试。可以先从最简单、最易部署的一个开始用它去真实地解决一个问题。在用的过程中你自然会更清楚地知道自己到底需要什么那时再回过头来审视这份清单你的选择将会清晰得多。毕竟工具的价值最终体现在它帮你完成了什么。

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

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

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

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

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

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…