ChatGPT开发者实战指南:从API集成到应用部署的完整资源导航

news2026/5/13 19:22:55
1. 项目概述一份面向开发者的ChatGPT资源导航如果你是一名开发者、产品经理或者任何对AI应用构建感兴趣的技术爱好者最近几个月肯定被ChatGPT和GPT-3相关的新闻、工具和项目刷屏了。信息爆炸带来的一个直接问题是好东西太多太分散不知道从哪里开始也不知道哪些工具真正靠谱、能解决实际问题。我最初也有同样的困扰。在尝试将GPT能力集成到自己的项目和日常工作流中时我花费了大量时间在GitHub、Twitter和各种技术论坛上搜寻、测试和筛选。这个过程既痛苦又低效。于是我决定将这段时间收集、验证过的优质资源系统地整理出来形成这份“Awesome ChatGPT”清单。这不仅仅是一个链接合集更是一份带有个人使用体验和筛选标准的“实战指南”。我的目标是帮你绕过信息噪音直接触达那些能提升效率、激发灵感的工具和方案。这份清单涵盖了从最基础的官方API接入到各种提升体验的浏览器扩展、跨平台客户端再到能直接用于生产环境的示例应用和开发工具。无论你是想快速体验ChatGPT的强大还是正在寻找成熟的方案来构建自己的AI功能抑或是想了解GPT在特定领域如DevOps、网络安全的创新应用这里都能找到切入点。接下来我会分门别类地详细解读这些资源并分享我在使用过程中的一些关键心得和避坑经验。2. 核心资源分类与深度解析面对海量资源合理的分类是高效利用的前提。我将这些资源分为几个核心类别每一类都对应着不同的使用场景和需求层次。理解这些类别能帮助你快速定位到自己当前最需要的工具。2.1 官方基石与社区动态任何技术生态的探索都必须从官方源头开始。这能保证你获得的信息是最准确、最权威的避免被过时或错误的三方信息误导。1.1.1 官方资源是起点也是标准OpenAI API 文档这是所有开发的圣经。不要只把它当作查询参数的手册。我建议通读一遍指南和最佳实践部分特别是关于提示工程、Token计算和模型选择的章节。理解gpt-3.5-turboChatGPT同款模型和text-davinci-003等模型在成本、速度、功能上的差异是进行技术选型的基础。文档中的示例代码和Playground工具是快速上手的最佳途径。ChatGPT 官方应用除了聊天它本身就是一个绝佳的提示工程实验场。在这里测试你的问题表述、上下文提供方式观察模型的反应再将成功的“对话模式”迁移到API调用中可以大幅提升开发效率。发布博客阅读官方博客不仅能了解产品动态更能洞察OpenAI对技术演进、安全伦理和产品边界的思考。这些信息对于判断某项技术的长期稳定性和合规风险至关重要。1.1.2 融入社区保持信息敏感度技术迭代日新月异闭门造车很容易落后。活跃的社区是获取最新信息、解决棘手问题的宝贵渠道。OpenAI Discord 频道这里是全球开发者交流的一线阵地。你可以看到实时的问题讨论、非官方的技巧分享甚至能偶遇OpenAI的工程师。我的经验是善用搜索功能很多你遇到的奇怪报错或性能问题很可能已经有人提出并解决了。提问时提供清晰的代码片段、错误信息和已尝试的步骤能极大增加获得有效帮助的几率。注意社区信息良莠不齐对于任何非官方的“破解”、“免费”或“突破限制”的方法务必保持警惕评估其安全风险和对账号的潜在影响。2.2 第三方API工具与客户端库官方API虽然强大但有时我们需要更便捷的封装或针对特定场景的解决方案。第三方工具库在此发挥了巨大作用。1.2.1 非官方API封装灵活性与风险的权衡这类工具通常通过模拟浏览器会话或逆向工程官方接口来实现它们可能提供官方API暂未支持的功能如访问最新的ChatGPT网页版模型。Python (acheong08/ChatGPT)这是目前最流行的非官方Python库之一。它的优势在于能绕过API等待列表直接与ChatGPT网页版交互。我在一些需要快速原型验证且暂无官方API密钥的项目中用过它。但你必须清楚这种方式违反了OpenAI的服务条款账号存在被封禁的风险且接口稳定性完全依赖网页端的更新随时可能失效。JavaScript/TypeScript (transitive-bullshit/chatgpt-api)功能与Python版类似为Node.js环境提供了选择。作者维护积极社区活跃常包含一些前沿的实验性功能。Go (AlmazDelDiablo/gpt3-5-turbo-go)这是一个针对官方gpt-3.5-turboAPI的Go语言客户端库而非非官方封装。如果你在用Go构建后端服务这个库提供了类型安全的API调用方式比直接手写HTTP请求更优雅、更安全。1.2.2 如何选择我的建议是用于学习、实验或临时需求可以谨慎尝试非官方库但务必使用备用账号并做好随时切换的准备。用于生产环境或商业项目无条件选择官方API。稳定性、法律合规性和长期技术支持是商业项目的生命线。第三方封装库应仅作为官方API的补充客户端如上述Go库而不是替代品。2.3 浏览器扩展提升日常交互效率对于大多数非开发者的日常使用浏览器扩展是提升ChatGPT体验最直接的方式。它们将AI能力无缝嵌入到你的工作流中。1.3.1 核心功能型扩展侧边栏/弹出式访问 (ChatGPT_Extension)这类工具在任何网页都能快速唤出ChatGPT对话框无需切换标签页。我写邮件、整理资料时特别依赖它随时可以针对一段文本进行翻译、总结或润色。搜索引擎增强 (chat-gpt-google-extension)它将ChatGPT的回答与Google搜索结果并列展示。这相当于在一次搜索中同时获得了“事实性信息”搜索引擎和“整合性、创造性答案”AI。对于调研类工作效率提升是颠覆性的。对话增强 (Superpower ChatGPT)增加了历史记录管理、对话导出、字数统计等功能。如果你经常进行长对话或需要回顾整理聊天记录这个扩展几乎是必备的。1.3.2 高级功能型扩展联网搜索 (chatgpt-advanced)ChatGPT的知识截止于某个特定日期无法获取实时信息。这个扩展通过自动抓取网页内容并附加到你的提问中变相实现了“联网”功能。例如你可以问“基于今天科技新闻的头条写一份简报”。语音交互 (talk-to-chatgpt)通过语音输入和输出与ChatGPT对话。这不仅对无障碍访问友好也为一些特定场景如开车时构思想法、练习口语提供了可能。实操心得浏览器扩展权限很高安装前务必审查其代码仓库或开发者信誉避免安装恶意扩展窃取你的对话数据或API密钥。优先选择GitHub星标高、近期有更新的开源项目。2.4 跨平台集成让AI无处不在将ChatGPT集成到你已经高频使用的平台中是发挥其最大威力的关键。这部分的工具极大地拓展了AI的应用场景。1.4.1 通讯与协作平台Telegram/WhatsApp/Discord/Slack机器人这些脚本让你能在群组或私聊中直接机器人提问。对于团队协作可以搭建一个内部知识问答机器人对于个人可以创建一个私人的、可随时随地通过手机访问的AI助手。部署这些机器人通常需要一台服务器如VPS或使用Serverless函数如AWS Lambda, Vercel对新手有一定门槛但教程通常比较详细。示例部署一个最简单的Serverless Telegram Bot基于franalgaba/chatgpt-telegram-bot-serverless# 1. 克隆项目 git clone https://github.com/franalgaba/chatgpt-telegram-bot-serverless.git cd chatgpt-telegram-bot-serverless # 2. 安装依赖 (假设使用Node.js) npm install # 3. 配置环境变量 # 在Vercel或类似平台设置 # - OPENAI_API_KEY: 你的官方API密钥 # - TELEGRAM_BOT_TOKEN: 从BotFather申请的机器人令牌 # - AUTHORIZED_USER_ID: 你的Telegram用户ID可选用于限制访问 # 4. 部署到Vercel vercel --prod部署后将获得的Webhook URL设置为你的Telegram机器人的回调地址即可。1.4.2 开发与创作环境IDE插件 (VSCode, JetBrains, Neovim)这些插件将ChatGPT直接嵌入代码编辑器。你可以选中一段代码让它解释、重构、添加注释或查找Bug。我常用它来快速生成单元测试模板、编写重复性的样板代码或者理解一段陌生的算法。它就像一个坐在你旁边的资深代码审查员。办公套件集成 (Google Docs viadocGPT)在文档中直接调用AI进行写作辅助、翻译或头脑风暴。这比在浏览器和文档间来回切换流畅得多。1.4.3 桌面客户端跨平台应用 (如lencx/ChatGPT)这些用Tauri、Electron等框架打包的独立应用提供了比网页版更专注的体验通常支持多会话管理、快捷键和更好的离线缓存。如果你希望将ChatGPT作为一个常驻的桌面工具使用它们是很好的选择。2.5 专业领域与前沿应用示例这部分资源展示了GPT技术如何与特定领域深度结合为解决复杂问题提供了新思路。它们不仅是工具更是启发灵感的“案例库”。1.5.1 软件开发与运维 (DevOps)代码审查 (chatgpt-action)这是一个GitHub Action可以在提交代码时自动调用ChatGPT进行审查生成评论。虽然无法替代人工深度审查但对于捕捉常见的代码风格问题、可能的逻辑错误非常有效尤其适合在团队中建立基础的代码质量护栏。基础设施即代码生成 (aiac)告诉它“为AWS创建一个具有负载均衡器和自动扩展组的EC2集群”它就能生成对应的Terraform或CloudFormation模板草稿。这极大地加速了基础设施的初始化搭建但至关重要的一点是生成的结果必须由具备经验的工程师进行严格审核和测试后才能部署到生产环境以避免安全漏洞和配置错误。1.5.2 网络安全渗透测试报告生成 (FinGen)安全工程师可以将漏洞扫描结果如Nessus导出输入让AI辅助生成结构清晰、描述专业的渗透测试报告。这节省了大量文书工作时间让工程师更专注于技术本身。智能蜜罐 (Beelzebub)这是一个概念验证项目将ChatGPT集成到蜜罐中使其能够与攻击者进行更智能、更拟人的交互从而收集更多攻击手法和意图信息。这展示了AI在主动防御和威胁情报收集方面的潜力。1.5.3 创意与效率工具AR体验生成 (ChatARKit)通过自然语言描述如“在桌面上放一个旋转的红色立方体”直接生成ARKit代码。这降低了AR开发的门槛让设计师和创意人员也能快速构建原型。自动化PPT生成 (chat-gpt-ppt)输入主题和大纲自动生成包含内容和排版建议的PPT文件。虽然目前还达不到设计师的水平但对于需要快速产出内部汇报材料的场景是一个巨大的效率工具。3. 实战指南从资源到落地应用拥有了资源地图下一步是如何将它们转化为实际生产力。这里我将分享一套从零开始基于这些资源构建一个实用AI应用的具体流程和核心考量。3.1 明确需求与技术选型在动手之前想清楚你要解决什么问题。是做一个个人娱乐机器人还是一个严肃的生产力工具需求决定了技术路径。2.1.1 需求分析清单用户场景是谁在什么情况下使用是个人随时提问还是团队在Slack中协作核心功能仅仅是问答还是需要文件处理、联网搜索、长时记忆性能要求对响应速度延迟的要求有多高是否需要支持高并发成本预算官方API按Token收费需要预估一下使用量和大致的月度成本。合规与安全处理的数据是否敏感是否需要考虑用户隐私和数据留存政策2.1.2 技术选型决策树基于需求你可以参考以下流程做出选择是否需要最新ChatGPT模型非API版的对话能力是且仅为临时/个人使用 - 可考虑非官方API库如Python/JS版但接受风险。否或用于正式项目 - 选择官方gpt-3.5-turboAPI。交互形式是什么浏览器内辅助 -浏览器扩展。移动端/即时通讯 -Telegram/WhatsApp机器人。桌面端独立应用 -跨平台桌面客户端。集成到开发环境 -VSCode/JetBrains插件。是否需要特定领域增强需要联网 - 寻找支持搜索插件的客户端或自行集成搜索API。需要代码相关功能 - 在IDE插件或CLI工具中寻找。需要生成特定格式内容报告、PPT- 参考应用示例中的相关项目。3.2 环境搭建与基础配置选定技术栈后开始搭建开发环境。这里以最普遍、最推荐的“官方API Python后端 Telegram Bot前端”为例。2.2.1 获取核心密钥OpenAI API Key访问 OpenAI平台 注册并登录。在左侧菜单进入“API Keys”页面点击“Create new secret key”。妥善保存此密钥它一旦显示后无法再次查看。建议在代码中使用环境变量管理绝对不要提交到代码仓库。# 在.bashrc、.zshrc或系统环境变量中设置 export OPENAI_API_KEYsk-your-secret-key-hereTelegram Bot Token在Telegram中搜索BotFather。发送/newbot指令按提示设置机器人名称和用户名。创建成功后BotFather会提供一串Token格式如1234567890:ABCdefGhIJKlmNoPQRsTUVwxyZ。2.2.2 项目初始化与依赖安装我们将构建一个简单的Python机器人使用python-telegram-bot库和openai官方库。# 创建项目目录并进入 mkdir my-telegram-gpt-bot cd my-telegram-gpt-bot # 创建虚拟环境推荐 python -m venv venv source venv/bin/activate # Linux/macOS # venv\Scripts\activate # Windows # 安装依赖 pip install python-telegram-bot openai # 创建主程序文件和环境变量文件 touch bot.py .env2.2.3 基础代码结构在.env文件中配置密钥OPENAI_API_KEY你的OpenAI密钥 TELEGRAM_TOKEN你的Telegram机器人令牌在bot.py中编写核心逻辑import os import logging from dotenv import load_dotenv from telegram import Update from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes import openai # 加载环境变量 load_dotenv() openai.api_key os.getenv(OPENAI_API_KEY) TELEGRAM_TOKEN os.getenv(TELEGRAM_TOKEN) # 设置日志 logging.basicConfig(format%(asctime)s - %(name)s - %(levelname)s - %(message)s, levellogging.INFO) logger logging.getLogger(__name__) async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): 发送欢迎信息 user update.effective_user await update.message.reply_text(f你好 {user.first_name}! 我是你的AI助手直接发送消息开始对话吧。) async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE): 处理用户消息并调用ChatGPT回复 user_message update.message.text logger.info(f收到来自用户 {update.effective_user.id} 的消息: {user_message}) try: # 调用OpenAI API response openai.ChatCompletion.create( modelgpt-3.5-turbo, messages[ {role: system, content: 你是一个有帮助的助手。}, {role: user, content: user_message} ], max_tokens500, temperature0.7, ) reply response.choices[0].message.content except Exception as e: logger.error(f调用OpenAI API时出错: {e}) reply 抱歉我现在有点忙请稍后再试。 await update.message.reply_text(reply) def main(): 启动机器人 # 创建Application实例 application Application.builder().token(TELEGRAM_TOKEN).build() # 添加处理器 application.add_handler(CommandHandler(start, start)) application.add_handler(MessageHandler(filters.TEXT ~filters.COMMAND, handle_message)) # 启动机器人直到按Ctrl-C停止 application.run_polling(allowed_updatesUpdate.ALL_TYPES) if __name__ __main__: main()3.3 功能增强与优化一个基础的问答机器人已经完成。接下来我们可以利用清单中的灵感为其添加更多实用功能。2.3.1 添加上下文记忆简单的问答是“健忘的”。我们可以通过维护一个对话历史列表让AI记住之前的对话。# 使用一个简单的字典在内存中存储用户对话历史生产环境应使用数据库 user_conversations {} async def handle_message_with_memory(update: Update, context: ContextTypes.DEFAULT_TYPE): user_id update.effective_user.id user_message update.message.text # 初始化或获取该用户的对话历史 if user_id not in user_conversations: user_conversations[user_id] [ {role: system, content: 你是一个有帮助的助手对话风格亲切自然。} ] # 将用户新消息加入历史 user_conversations[user_id].append({role: user, content: user_message}) try: # 调用API传入整个对话历史 response openai.ChatCompletion.create( modelgpt-3.5-turbo, messagesuser_conversations[user_id], max_tokens500, temperature0.7, ) assistant_reply response.choices[0].message.content # 将助手回复也加入历史 user_conversations[user_id].append({role: assistant, content: assistant_reply}) # 可选限制历史记录长度防止Token超限和内存膨胀 if len(user_conversations[user_id]) 10: # 保留最近5轮对话10条消息 user_conversations[user_id] [user_conversations[user_id][0]] user_conversations[user_id][-9:] await update.message.reply_text(assistant_reply) except openai.error.InvalidRequestError as e: # 处理Token超长错误 if maximum context length in str(e): await update.message.reply_text(对话太长了我们重新开始吧) user_conversations[user_id] [user_conversations[user_id][0]] # 重置为仅保留系统提示 else: raise e2.3.2 集成联网搜索能力参考chatgpt-advanced扩展的思路我们可以让机器人先搜索再结合搜索结果回答。import aiohttp from bs4 import BeautifulSoup async def search_web(query): 一个简单的示例使用DuckDuckGo的HTML接口进行搜索需替换为更稳定的API async with aiohttp.ClientSession() as session: async with session.get(fhttps://html.duckduckgo.com/html/?q{query}) as resp: html await resp.text() soup BeautifulSoup(html, html.parser) # 提取前几条结果的摘要此处为简化示例实际解析更复杂 snippets [result.get_text() for result in soup.select(.result__snippet)[:3]] return .join(snippets) async def handle_message_with_search(update: Update, context: ContextTypes.DEFAULT_TYPE): user_message update.message.text # 判断是否需要搜索例如消息包含“今天”、“最新”等关键词 if any(keyword in user_message.lower() for keyword in [今天, 最新, 最近, 新闻]): search_context await search_web(user_message) enhanced_prompt f基于以下搜索信息{search_context[:1000]}... 请回答{user_message} else: enhanced_prompt user_message # 使用enhanced_prompt调用ChatGPT API... # ... (调用API和回复代码与之前类似)注意自行实现网页爬虫存在稳定性、法律和反爬问题。对于生产环境强烈建议使用付费的搜索引擎API如Google Custom Search JSON API、SerpAPI等它们提供稳定、结构化的数据。2.3.3 添加管理命令与安全措施为机器人添加一些管理功能如清除历史、查看使用统计等。async def clear_history(update: Update, context: ContextTypes.DEFAULT_TYPE): 清除当前用户的对话历史 user_id update.effective_user.id if user_id in user_conversations: del user_conversations[user_id] await update.message.reply_text(您的对话历史已清除。) else: await update.message.reply_text(您还没有对话历史。) # 在main()函数中添加命令处理器 application.add_handler(CommandHandler(clear, clear_history))4. 避坑指南与进阶思考在实战中你会遇到各种各样的问题。以下是我在开发和长期使用中积累的一些关键经验和常见问题的解决方案。4.1 成本、性能与稳定性优化3.1.1 控制API调用成本GPT-3.5-Turbo虽然比Davinci便宜很多但频繁使用成本依然可观。设置max_tokens上限这是控制单次回复长度的最有效手段。根据场景合理设置避免生成冗长无关的内容。实现缓存机制对于常见、重复的问题如“你是谁”可以将问答对缓存起来直接返回缓存结果避免重复调用API。可以使用Redis或内存缓存如functools.lru_cache实现。使用流式响应对于需要长时间生成的文本使用API的流式响应streamTrue可以让用户更快地看到部分结果提升体验但需注意前端实现复杂度。监控与告警在管理后台设置每日预算和用量告警防止意外超支。3.1.2 提升响应速度与稳定性设置合理的超时与重试网络或API服务可能不稳定。在客户端代码中设置连接超时和读取超时并实现指数退避的重试逻辑对于非关键错误如速率限制进行重试。import time from openai import error def ask_chatgpt_with_retry(messages, max_retries3): for i in range(max_retries): try: response openai.ChatCompletion.create(modelgpt-3.5-turbo, messagesmessages) return response except error.RateLimitError: wait_time 2 ** i # 指数退避 print(f达到速率限制等待 {wait_time} 秒后重试...) time.sleep(wait_time) except error.APIConnectionError: print(API连接错误重试...) time.sleep(1) raise Exception(重试多次后仍失败)异步处理对于机器人或Web应用使用异步框架如aiohttp,FastAPI处理API调用避免阻塞主线程提升并发处理能力。4.2 提示工程与内容安全3.2.1 设计有效的系统提示system消息是塑造AI行为的关键。一个好的系统提示能极大提升回复的相关性和质量。角色扮演“你是一位经验丰富的软件架构师擅长用简洁的语言解释复杂概念。”格式指定“请用Markdown列表形式回复并给出关键要点。”风格限定“回答请保持专业、中立避免使用比喻和俚语。”安全护栏“你绝对不能提供关于制造危险物品、进行非法活动或侵犯他人隐私的指导。如果被问到此类问题请礼貌拒绝并说明原因。”3.2.2 内容审核与过滤直接向用户开放无限制的AI对话存在风险生成有害、偏见或不当内容。使用OpenAI的审核API在将用户输入发送给ChatGPT之前或将其回复发送给用户之前调用OpenAI的审核端点/v1/moderations进行检查。后处理过滤建立自己的关键词黑名单对输入和输出进行扫描。上下文隔离确保不同用户的对话历史完全隔离防止信息泄露。4.3 常见问题排查速查表下表汇总了开发过程中最常见的一些错误及其解决方法问题现象可能原因解决方案openai.error.AuthenticationErrorAPI密钥错误、过期或未设置。1. 检查环境变量OPENAI_API_KEY是否正确设置并已加载。2. 在OpenAI平台检查密钥是否被删除或禁用。3. 确保代码中引用了正确的密钥变量。openai.error.RateLimitError达到API调用速率限制或配额限制。1. 免费用户有每分钟和每日的请求限制付费用户根据等级不同有限制。2. 实现指数退避重试逻辑见上文代码。3. 升级账户层级或联系OpenAI调整限制。openai.error.InvalidRequestError: maximum context length对话历史消息列表的总Token数超过了模型上限如gpt-3.5-turbo为4096。1. 缩短max_tokens参数。2. 主动截断或总结旧的对话历史。3. 对于长文档可以将其拆分分段处理后再整合。机器人回复慢或无响应网络延迟、API服务波动、或代码同步阻塞。1. 检查网络连接。2. 为API调用设置超时如10-30秒。3. 将同步代码改为异步调用避免阻塞。回复内容质量差、无关或胡言乱语temperature参数设置过高、系统提示不明确、或对话历史混乱。1. 降低temperature值如从0.8降至0.2使输出更确定。2. 优化system消息给出更明确的指令。3. 清理对话历史重置到一个干净的状态。Telegram Bot 收不到消息或无法回复Token错误、Webhook未设置或设置错误、服务器无法被公网访问。1. 确认Telegram Bot Token正确无误。2. 如果使用Webhook确保URL是HTTPS且可访问。3. 如果使用getUpdates轮询模式确保程序持续运行且网络通畅。4.4 进阶方向与生态展望当你熟练掌握了基本集成后可以探索更前沿的方向这些往往藏在Awesome清单那些星星不多的新项目中。Function Calling利用GPT-3.5-Turbo和GPT-4的“函数调用”能力让AI不仅能回答还能触发外部动作如查询数据库、发送邮件。这是构建真正智能助理的核心。Fine-tuning微调虽然对于ChatGPT模型微调支持有限但对于基础的Completion模型使用你自己的数据对模型进行微调可以在特定领域如法律、医疗文本生成获得远超提示工程的效果。多模态交互关注OpenAI发布的DALL·E、Whisper等模型思考如何将文本生成与图像生成、语音识别与合成结合创造更丰富的交互体验。开源替代模型社区中如LLaMA、Vicuna等开源大模型正在快速发展。虽然目前能力与GPT-4有差距但在成本、隐私和可定制性上有独特优势。可以尝试使用这些模型在本地或私有云上部署服务。这份Awesome清单是一个动态的起点而不是终点。AI领域的变化速度极快新的工具、更好的实践每天都在涌现。最好的使用方式是将其作为灵感来源和搜索入口结合官方文档和社区讨论始终保持动手实践和批判性思考。真正的价值不在于你收集了多少链接而在于你利用这些工具解决了什么问题创造了什么新的可能性。

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