自托管Telegram AI机器人:集成GPT/Claude/Ollama与Web应用生成

news2026/5/1 18:29:58
1. 项目概述打造你的全能AI助手Telegram机器人如果你和我一样是个AI工具的重度用户每天在ChatGPT、Claude、Midjourney之间来回切换那么你肯定也幻想过要是能有一个统一的入口把这些顶级的AI能力都集成起来随时随地用起来那该多好。更棒的是这个入口最好就在我们每天高频使用的聊天软件里比如Telegram。今天要聊的这个项目sets88_telegram_bot就是这样一个“梦想成真”的解决方案。它不是一个简单的聊天转发器而是一个功能强大到令人惊讶的AI助手平台直接运行在你的Telegram私聊或群组里。简单来说这是一个自托管的Telegram机器人。你把它部署在自己的服务器上它就成为了你的私人AI管家。它最核心的价值在于“聚合”与“集成”。它打通了OpenAI的GPT系列、Anthropic的Claude系列、本地的Ollama开源模型以及Replicate平台上的数十个图像、视频生成模型。这意味着你不再需要为每个AI服务单独打开网页、复制粘贴。无论是需要GPT-4帮你分析代码还是想让Claude 3.5 Sonnet帮你写份报告或是用Stable Diffusion快速生成一张概念图你只需要在Telegram里这个机器人或者直接发送指令一切都能搞定。这个项目适合谁呢首先它非常适合技术爱好者、开发者或者小团队希望拥有一个可控、私密且功能全面的AI协作工具。其次对于内容创作者、研究者或任何需要频繁调用多种AI能力进行脑暴、写作、设计的人来说它能极大提升效率。最后它的权限系统和Web应用生成器功能甚至让它可以作为一个轻量级的自动化工具平台来使用。接下来我会带你从零开始深入拆解这个项目的部署、配置以及每一个亮眼功能的实战用法并分享我在搭建和深度使用过程中踩过的坑和总结出的技巧。2. 核心架构与设计思路解析2.1 为什么选择Telegram Bot作为载体在开始动手之前我们得先理解这个项目的基础设计哲学为什么是Telegram Bot市面上有很多搭建AI聊天界面的方案比如Web界面、桌面应用、甚至是Slack/Discord机器人。选择Telegram在我看来是基于以下几个非常务实的考量第一触达效率极高。Telegram作为一个全球性的即时通讯工具其消息推送是实时且可靠的。这意味着AI的回复能像朋友的消息一样立刻出现在你的通知栏里无需你主动去刷新一个网页。这种“被动接收”的模式在移动场景下尤其友好。第二生态成熟开发成本低。Telegram为机器人提供了极其完善的官方Bot API文档清晰功能强大。像发送富文本、图片、视频、文件创建复杂的交互式键盘Inline Keyboard甚至构建内嵌的Web应用Mini Apps都有现成的接口。项目利用这些能力可以快速构建出体验流畅的交互界面而不需要从零开始造轮子。第三天然的多模态支持。Telegram本身就是一个支持文本、图片、语音、视频、文档等多种格式的聊天工具。这正好与当前多模态AI的发展趋势完美契合。用户可以直接在聊天窗口里上传一张图片让AI分析或者发送一段语音让Whisper转写成文字整个过程无比自然没有任何格式转换的割裂感。第四隐私与控制的平衡。通过自托管所有的对话数据、API调用都经过你自己的服务器。相比于使用第三方托管的前端服务你对数据流拥有完全的控制权。Telegram Bot作为一个“客户端”只负责交互核心逻辑和密钥管理都在你自己的后端这种架构在隐私方面更让人安心。基于这些点这个项目选择Telegram Bot作为前端可以说是一个在用户体验、开发效率和隐私控制之间找到了最佳平衡点的决策。2.2 模块化设计如何优雅地集成众多AI服务面对OpenAI、Anthropic、Ollama、Replicate等多个服务商每个的API格式、认证方式、计费模式都不同如何让它们在一个机器人里和谐共处这是项目架构要解决的核心问题。从代码结构来看它采用了典型的适配器模式Adapter Pattern和工厂模式Factory Pattern。适配器模式体现在对每个AI服务提供商的封装上。项目里会有类似OpenAIClient、AnthropicClient、OllamaClient、ReplicateClient这样的类。每个类都负责与对应服务的API进行通信处理各自的认证、错误重试、速率限制等细节。但它们会对上层提供一个统一的、简化的接口比如一个通用的generate_text(prompt, model)方法。这样当机器人业务逻辑需要调用AI时它不需要关心底层是调用的GPT-4还是Claude 3它只需要知道“我要生成文本”并指定一个模型标识符即可。工厂模式则负责根据用户的请求或配置动态地创建和返回正确的客户端实例。例如当用户输入/gpt 帮我写个邮件工厂会读取配置发现gpt这个命令映射到OpenAI服务于是它便实例化一个配置了GPT-4 API密钥的OpenAIClient并返回。这种设计使得增加一个新的AI服务变得非常容易你只需要实现一个新的客户端适配器并在工厂的映射表里注册一下业务代码几乎不需要改动。此外项目还引入了一个统一的对话上下文管理模块。无论用户是与哪个模型交互他们的对话历史、系统指令Persona偏好都会被持久化存储可能在内存、数据库或Redis中。这确保了AI能记住之前的交流内容实现连贯的多轮对话。这个上下文管理器是独立于具体AI模型的它只负责维护“用户说了什么AI回复了什么”这个序列在每次调用时将整理好的历史记录作为prompt的一部分发送给对应的AI客户端。这种高度模块化的设计不仅让代码清晰可维护也为后面我们要讲到的“17种AI人格”和“权限系统”等功能打下了坚实的基础。因为切换人格本质上就是更换系统指令system prompt和上下文控制权限就是在工厂和客户端层面增加一层过滤和校验逻辑。3. 从零开始的部署与配置实战理论讲得再多不如动手做一遍。这一部分我会以一台全新的Ubuntu 22.04 LTS服务器为例带你完整走一遍部署流程。我会假设你已经有了一台拥有公网IP的VPS并且具备基础的Linux命令行操作知识。3.1 基础环境准备与项目克隆首先通过SSH连接到你的服务器。我们需要确保系统环境是干净的并且安装了必要的工具。# 更新系统包列表并升级现有软件 sudo apt update sudo apt upgrade -y # 安装Python3、pip以及项目可能依赖的系统库 # python3-venv 用于创建虚拟环境git用于克隆代码ffmpeg用于可能的音频处理 sudo apt install -y python3 python3-pip python3-venv git ffmpeg # 验证Python版本建议使用Python 3.8或更高版本 python3 --version接下来我们为这个机器人创建一个专门的用户来运行这是一个好的安全实践可以避免使用root权限运行应用。# 创建一个名为telegrambot的系统用户并指定其家目录 sudo useradd -m -s /bin/bash telegrambot # 切换到新用户 sudo su - telegrambot现在以telegrambot用户身份克隆项目代码库。# 克隆项目到用户家目录 git clone https://github.com/sets88/sets88_telegram_bot.git cd sets88_telegram_bot项目根目录下通常会有一个requirements.txt文件列出了所有Python依赖。但我们先不急着安装因为我们需要先配置好关键信息。3.2 核心配置文件详解与避坑指南项目的配置核心是config.json文件。通常项目会提供一个config.json.example作为模板。我们的第一步就是复制它并开始编辑。# 复制示例配置文件 cp config.json.example config.json # 使用nano或vim编辑配置文件 nano config.json打开config.json你会看到一个JSON结构。我们需要重点关注并配置以下几个部分我会逐一解释每个字段的含义和配置时的注意事项。1.TELEGRAM_TOKEN机器人的生命线这是你从BotFather那里获取的令牌。没有它你的机器人就是个“死”的。获取步骤在项目描述里很清晰在Telegram里找到BotFather发送/newbot按提示操作即可。拿到令牌后像这样填写TELEGRAM_TOKEN: 1234567890:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw注意这个令牌等同于你机器人的密码。一旦泄露别人就可以控制你的机器人发送消息、获取聊天信息。因此绝对不要将它提交到公开的Git仓库中。我们的config.json文件也应该被加入.gitignore。2.ALLOWED_USER_IDS设置访问白名单这是一个非常重要的安全配置。它决定了哪些Telegram用户可以与你的机器人交互。格式是一个字典键是用户的数字ID值是显示名称。ALLOWED_USER_IDS: { 123456789: 我的大号, 987654321: 我的小号 }如何获取自己的Telegram User ID最方便的方法是直接在Telegram里搜索userinfobot或getmyid_bot给它们发送任意消息它们就会回复你的ID。务必确保这里填写的ID是数字并且用双引号括起来JSON格式要求。3. API密钥配置按需这部分根据你想使用的AI服务来选择性填写。OPENAI_API_KEY: 你的OpenAI平台API密钥。ANTHROPIC_API_KEY: 你的Anthropic Claude平台API密钥。REPLICATE_API_KEY: 你的Replicate平台API密钥。OLLAMA_HOST: 如果你使用本地Ollama这里是Ollama服务的地址默认为http://localhost:11434。如果你的Ollama也装在这台服务器上保持默认即可。实操心得在初期测试时建议先只配置一个你最熟悉的API比如OpenAI让机器人先跑起来。等核心功能验证无误后再逐步添加其他服务的密钥。这样可以有效隔离问题方便排查。4.USER_PERMISSIONS精细化的权限控制这是项目的高级功能之一允许你为不同用户分配不同的能力。配置结构如下USER_PERMISSIONS: { 123456789: { is_admin: true, can_use_tools: true, can_use_ollama_llm_models: true, allowed_models: [gpt-4, claude-3-5-sonnet-20241022] }, default: { is_admin: false, can_use_tools: false, can_use_ollama_llm_models: false, allowed_models: [gpt-3.5-turbo] } }is_admin: 管理员权限可能包括查看日志、管理其他用户等高级操作。can_use_tools: 是否允许使用函数调用Function Calling等工具能力比如联网搜索。can_use_ollama_llm_models: 是否允许使用本地Ollama模型如果配置了的话。allowed_models: 一个列表指定该用户允许使用的具体模型。这可以实现“套餐”式管理例如给免费用户只能用GPT-3.5付费用户可以用GPT-4和Claude。default键下的配置是默认权限适用于所有不在USER_PERMISSIONS中明确列出的用户。这是一个非常强大的功能特别是在你打算将机器人分享给团队成员或有限用户时可以有效地控制成本和功能范围。5. Web App Builder 配置可选但强大如果你想使用那个令人兴奋的“描述即生成Web应用”功能需要配置这两项WEBAPP_BASE_URL: https://your-server-public-ip-or-domain.com, WEBAPP_PORT: 8180WEBAPP_BASE_URL: 你的服务器公网可访问的地址。必须是HTTPS因为Telegram Mini Apps要求安全连接。如果你没有域名暂时用IP地址也可以但某些功能可能受限。WEBAPP_PORT: 内置aiohttp服务器监听的端口默认8180。确保你的服务器防火墙开放了这个端口。配置完成后保存并退出编辑器。3.3 依赖安装与首次启动现在我们来安装Python依赖并尝试启动机器人。# 确保仍在项目目录下 cd ~/sets88_telegram_bot # 创建Python虚拟环境推荐避免污染系统Python环境 python3 -m venv venv # 激活虚拟环境 source venv/bin/activate # 安装项目依赖 pip install -r requirements.txt安装过程可能会持续几分钟具体取决于网络速度和依赖数量。完成后检查项目目录下是否存在一个run.sh脚本。这个脚本通常包含了启动机器人所需的环境变量和命令。# 查看run.sh内容通常很简单 cat run.sh # 内容可能类似于python3 bot.py 或 uvicorn main:app --host 0.0.0.0 --port 8180 # 赋予执行权限并运行 chmod x run.sh ./run.sh如果一切配置正确你应该能在终端看到机器人启动的日志比如“Bot started successfully”、“Web app server listening on port 8180”之类的信息。首次启动常见问题排查ImportError: No module named ‘xxx’: 依赖安装不完整。请确保在虚拟环境下 (source venv/bin/activate) 重新运行pip install -r requirements.txt。ConnectionError 或 SSL错误: 通常是网络问题或者你的服务器无法访问外部API如OpenAI。请检查服务器的网络连接并确保没有防火墙规则阻止出站连接。Telegram Token无效: 日志会明确提示“Unauthorized”。请仔细检查TELEGRAM_TOKEN是否复制正确前后没有多余的空格或换行符。Permission denied (config.json): 确保config.json文件对运行程序的用户这里是telegrambot有读取权限。可以执行chmod 600 config.json。当看到成功启动的日志后打开Telegram找到你创建的机器人通过BotFather给你的链接发送一条消息比如/start。如果配置了白名单请确保发送消息的账号ID在ALLOWED_USER_IDS里。你应该能立刻收到机器人的回复4. 核心功能深度体验与使用技巧机器人成功运行后我们就可以深入探索它的各项功能了。这部分不是简单的功能罗列而是结合我自己的使用经验告诉你每个功能怎么用最顺手以及背后的原理。4.1 与多模型AI对话无缝切换的艺术最基本的用法就是直接和AI聊天。你可以通过命令或自然语言来指定模型。默认对话直接给机器人发送文字它会使用配置中设置的默认模型可能是GPT-3.5来回复。指定模型使用类似/gpt 写一首诗或/claude 解释一下量子计算这样的命令。机器人内部有一个命令到模型服务的映射表。切换对话模式更高级的用法是使用/persona命令来切换AI人格。项目内置了17种人格比如“IT专家”、“创意写手”、“段子手”等。切换后后续的对话都会基于该人格预设的系统指令进行这能极大地改变AI的回复风格和专注领域。实操技巧利用上下文记忆这个机器人的一大优点是它有完整的对话记忆。你可以进行长达数十轮的多轮对话AI能很好地保持上下文。这意味着你可以让它帮你逐步分解一个复杂任务比如“设计一个数据库架构”然后不断追问细节。混合使用模型针对不同任务灵活切换模型。我的经验是需要严谨逻辑、代码生成或复杂分析时用GPT-4或Claude 3.5 Opus需要快速生成想法、进行头脑风暴时用Claude 3.5 Haiku速度快成本低进行创意写作或需要“更有趣”的回复时可以切换到对应的“创意写手”人格。本地模型备用当你的OpenAI或Anthropic额度用尽或者单纯想处理一些隐私性高的内容时可以切换到本地的Ollama模型如Qwen或Llama。虽然效果可能略逊于顶级闭源模型但对于很多日常任务完全足够且零成本、零延迟。4.2 多模态交互让AI“看见”和“听见”这是让Telegram机器人体验远超Web界面的地方。图片分析直接将手机相册里的图片拖进Telegram对话发送给机器人。机器人接收到图片后可以调用多模态模型如GPT-4V或Claude 3.5进行识别和分析。你可以问“这张图里有什么”、“根据这张图表写一份分析报告”、“帮我翻译图片里的英文”。语音转文字发送一段语音消息。机器人会利用Whisper模型如果配置了OpenAI API将其转写成文字然后既可以基于文字内容进行回复也可以选择用TTS文本转语音再语音回复你。这对于开车、散步时与AI交互特别方便。文件处理发送一个文本文件如.txt,.pdf,.docx机器人可以读取其中的内容并进行总结、翻译或问答。避坑指南图片大小与格式Telegram会对图片进行压缩。如果原图细节对分析至关重要如复杂的图表、小字最好以“文件”形式发送而不是“图片”形式发送这样可以传输原图。语音识别精度Whisper的识别精度很高但对背景噪音比较敏感。在嘈杂环境下录制的语音识别错误率会上升。对于重要内容发送后最好快速浏览一下转写的文字是否正确。API成本图片分析和语音识别Whisper都会消耗额外的API Token成本比纯文本对话高。特别是高分辨率图片可能会被分割成多个片段进行分析费用不菲。在USER_PERMISSIONS中限制普通用户使用这些功能是控制成本的有效手段。4.3 函数调用与工具使用从聊天到行动函数调用Function Calling是让LLM从“思想家”变为“执行者”的关键。这个机器人集成了此功能。当AI模型认为需要执行某个外部操作才能更好回答你时它会“调用”一个函数。例如你问“今天北京天气怎么样” AI模型会调用内置的“搜索网络”函数获取实时天气信息再组织语言回复你。你问“帮我把‘Hello World’翻译成法语并生成一张表达欢迎的图片。” AI可能会先调用翻译函数再调用DALL-E或Stable Diffusion的图片生成函数。配置与使用 在config.json中你需要确保can_use_tools权限对相应用户开放。同时可能需要配置一些工具所需的API比如搜索引擎的API如果项目集成了Serper或SearxNG等。个人体会 函数调用功能极大地扩展了机器人的能力边界使其不再是一个封闭的知识库而是一个可以主动获取信息、执行操作的智能体。但它的稳定性高度依赖于模型对“何时该调用函数”的判断。有时模型会过于“积极”在不需要时也尝试调用有时又会过于“保守”。这需要你在系统指令Persona或对话中给予更明确的引导。4.4 Web App Builder最具革命性的功能这是整个项目中最让我惊艳的功能值得单独用一大节来详细说明。它允许你用自然语言描述直接生成一个可交互的Web应用并直接在Telegram聊天窗口内运行。工作原理浅析意图理解当你发送类似“创建一个深色主题的计算器”的描述时机器人背后的LLM很可能是GPT-4或Claude 3.5会理解你的需求。代码生成LLM根据理解生成一个完整的、自包含的HTML/CSS/JavaScript单文件应用。这个文件包含了实现计算器所有逻辑加减乘除、显示等的前端代码。托管与链接机器人将这个HTML文件保存在服务器上并生成一个唯一的URL。然后它在Telegram聊天中发送一个特殊的“打开Web应用”按钮。Mini App渲染你点击按钮Telegram客户端会在其内部打开一个特殊的浏览器视图这就是Telegram Mini Apps加载并运行刚刚生成的HTML应用。整个过程无需离开Telegram。实战示例与技巧 假设你想为团队做一个简单的“每日站会进度提交”应用。 你可以对机器人说“创建一个每日站会进度跟踪器。需要一个输入框填写姓名三个多行文本框分别填写‘昨天完成’、‘今天计划’、‘遇到的障碍’最后有一个提交按钮。样式要简洁专业用蓝色主题。”机器人会在几秒钟内生成一个应用。你点开试用发现提交后数据没地方存。你可以接着说“添加一个功能提交后把数据通过POST请求发送到/api/submit_standup这个端点并在页面上显示‘提交成功’的提示。”这时机器人生成的代码就会包含Fetch API调用。而/api/submit_standup这个端点需要你在部署机器人的服务器上额外实现一个简单的后端服务来接收数据。这体现了这个功能的另一面它生成的是纯前端代码但可以与你已有的后端API无缝对接。项目更贴心的是它内置了几个通用的API端点供生成的App调用POST /api/llm: 让App能直接调用机器人背后的LLM。这意味着你生成的“AI文本总结器”App其逻辑可以简单到只是把用户输入发给这个API然后显示结果。POST /api/replicate: 让App能调用图像生成模型。GET /api/models: 获取当前用户可用的模型列表。高级用法与限制迭代开发你可以不断用自然语言指令来修改已生成的应用。“把提交按钮改成绿色”、“在顶部加个标题”、“增加一个重置表单的按钮”。机器人会理解这是对上一个应用的修改并生成更新后的版本。分享与协作生成的每个应用都有一个唯一的Telegram deep link。你可以把这个链接分享给其他Telegram用户他们点开就能使用这个应用前提是他们也拥有访问你这个机器人的权限。局限性目前它生成的是相对简单的静态前端应用。复杂的业务逻辑、数据库操作等仍然需要你自行开发后端。它更像是一个“超级前端原型生成器”或“轻量级工具制作器”但对于快速验证想法、创建团队内部小工具来说效率是革命性的。配置要点回顾 要启用此功能务必正确配置WEBAPP_BASE_URL必须是HTTPS和WEBAPP_PORT。如果你的服务器前面有Nginx反向代理确保代理规则将对应路径的请求转发到了WEBAPP_PORT。5. 高级配置、优化与故障排除当基本功能跑通后我们可能会追求更稳定的运行、更优的性能以及更个性化的配置。这部分分享一些进阶内容。5.1 使用进程守护与管理以Systemd为例我们不能一直开着SSH窗口运行./run.sh。我们需要让机器人在后台稳定运行并在服务器重启后能自动启动。在Linux上最常用的方式是使用systemd服务。以telegrambot用户身份创建一个服务单元文件sudo nano /etc/systemd/system/sets88-telegram-bot.service将以下内容写入文件请根据你的实际路径修改WorkingDirectory和ExecStart[Unit] DescriptionSets88 Telegram AI Bot Service Afternetwork.target [Service] Typesimple Usertelegrambot Grouptelegrambot WorkingDirectory/home/telegrambot/sets88_telegram_bot EnvironmentPATH/home/telegrambot/sets88_telegram_bot/venv/bin ExecStart/home/telegrambot/sets88_telegram_bot/venv/bin/python /home/telegrambot/sets88_telegram_bot/bot.py # 如果项目使用run.sh脚本则可能是 # ExecStart/bin/bash /home/telegrambot/sets88_telegram_bot/run.sh Restarton-failure RestartSec10 StandardOutputjournal StandardErrorjournal [Install] WantedBymulti-user.target保存退出后执行以下命令# 重新加载systemd配置 sudo systemctl daemon-reload # 启用服务使其开机自启 sudo systemctl enable sets88-telegram-bot.service # 启动服务 sudo systemctl start sets88-telegram-bot.service # 查看服务状态和日志 sudo systemctl status sets88-telegram-bot.service sudo journalctl -u sets88-telegram-bot.service -f现在你的机器人就在后台以服务形式运行了。你可以随时用sudo systemctl restart sets88-telegram-bot来重启它。5.2 配置反向代理与HTTPS为Web App Builder为了让Web App Builder生成的Mini Apps能被安全访问Telegram要求HTTPS我们通常需要在机器人服务器前放置一个反向代理如Nginx并配置SSL证书。假设你的域名是bot.yourdomain.com并且已经指向了服务器IP。安装Nginx和Certbotsudo apt install -y nginx certbot python3-certbot-nginx配置Nginx站点 创建配置文件/etc/nginx/sites-available/telegram-botserver { listen 80; server_name bot.yourdomain.com; # 重定向HTTP到HTTPS return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; server_name bot.yourdomain.com; # SSL证书路径由Certbot自动配置 ssl_certificate /etc/letsencrypt/live/bot.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/bot.yourdomain.com/privkey.pem; # 反向代理到机器人的Web App端口 location / { proxy_pass http://127.0.0.1:8180; # 与config.json中的WEBAPP_PORT一致 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } # 可选代理Bot API本身如果你希望通过域名访问某些管理端点 # location /api/ { # proxy_pass http://127.0.0.1:你的Bot主端口; # ... 其他proxy_set_header # } }启用站点并获取SSL证书sudo ln -s /etc/nginx/sites-available/telegram-bot /etc/nginx/sites-enabled/ sudo nginx -t # 测试配置语法 sudo systemctl reload nginx # 使用Certbot获取并自动配置SSL证书 sudo certbot --nginx -d bot.yourdomain.comCertbot会自动修改Nginx配置启用HTTPS。更新机器人配置 最后别忘了将config.json中的WEBAPP_BASE_URL更新为https://bot.yourdomain.com。5.3 常见问题与故障排查实录在长期使用中你可能会遇到以下问题。这里是我的排查笔记问题1机器人突然不响应了但进程还在。可能原因Telegram Bot API的长期轮询连接超时或中断。排查查看服务日志sudo journalctl -u sets88-telegram-bot.service -n 50。常见错误是网络波动或Telegram API临时故障。解决重启服务通常能解决sudo systemctl restart sets88-telegram-bot。为了更稳定可以考虑在代码层面增加更完善的错误重试和心跳机制如果原项目没有的话。问题2调用OpenAI/Anthropic API时超时或报错。可能原因1服务器到API服务商的网络不稳定。排查在服务器上使用curl或ping测试到api.openai.com或api.anthropic.com的连接。也可能是DNS解析问题。解决考虑使用代理需在代码中配置HTTP_PROXY环境变量或修改客户端请求逻辑或者检查服务器防火墙规则。可能原因2API密钥额度用尽或失效。排查登录对应的API平台控制台检查用量和密钥状态。解决更换新的API密钥或在代码中配置多个密钥进行轮询。问题3生成的Web App点开后是空白页或错误。可能原因1WEBAPP_BASE_URL配置错误不是HTTPS或者域名/端口无法从公网访问。排查直接在浏览器访问https://your-domain.com你的WEBAPP_BASE_URL看是否能访问可能会显示404但至少连接是通的。检查Nginx日志sudo tail -f /var/log/nginx/error.log。可能原因2Telegram Mini Apps的缓存。Telegram客户端可能会缓存旧的App版本。解决尝试完全关闭Telegram并重新打开或者使用Telegram的“清除缓存”功能在设置-数据和存储中。问题4Ollama本地模型响应速度极慢。可能原因服务器资源CPU、内存不足或者模型文件过大。排查使用htop或nvidia-smi如果有GPU查看资源占用。检查Ollama服务日志journalctl -u ollama。解决尝试拉取更小的模型变体如qwen2:7b而不是qwen2:72b。确保服务器有足够的内存通常7B模型需要约14GB RAM包括模型权重和运行开销。如果条件允许使用GPU会极大加速。问题5权限系统不生效用户还是能访问未授权的功能。可能原因USER_PERMISSIONS配置格式错误或者用户ID类型不匹配字符串 vs 数字。排查仔细检查config.json格式确保JSON是有效的。确认在ALLOWED_USER_IDS和USER_PERMISSIONS中使用的用户ID是同一类型建议都使用带引号的字符串。解决修改配置后务必重启机器人服务使配置生效。部署和运维这样一个功能聚合的AI机器人就像打理一个数字花园。初期搭建需要一些耐心但一旦它稳定运行起来所带来的效率和乐趣是巨大的。它不仅仅是多个AI的快捷方式更是一个可编程的、处于你常用通信环境中的智能工作伙伴。从简单的问答到复杂的多步骤任务编排再到生成即用即走的小工具它的可能性会随着你的使用习惯不断拓展。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2572732.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;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…