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

CircuitPython开发实战:串口通信与编辑器配置全攻略

1. 项目概述与核心价值如果你刚开始接触CircuitPython或者从Arduino这类环境转过来可能会觉得有点懵代码写好了怎么看到板子的输出板子报错了怎么知道错在哪里为什么我的代码文件一保存板子就重启了这些问题十有八九都跟“串口通信”和“开发环境配置”这两个基础环节有关。我刚开始玩ESP32和RP2040这些板子的时候没少在这上面栽跟头有时候一个下午就耗在找COM口或者解决文件写入失败上。简单来说串口就是你的电脑和CircuitPython开发板之间对话的“电话线”。板子运行的状态、print()函数的输出、运行时错误Traceback信息都通过这根线传到你的电脑屏幕上。而开发环境配置特别是你用的代码编辑器决定了你保存代码时是“轻轻放下”还是“咣当一声砸下去”后者可能会导致文件损坏或板子意外重启。本文的目的就是帮你把这套“电话系统”和“书写工具”调教得服服帖帖让你能把精力集中在创意和代码本身而不是和工具搏斗。我会从最底层的原理讲起让你明白为什么会有这些问题然后手把手带你搞定Windows、macOS、Linux三大平台下的终端配置并分享那些官方文档可能没细说但实际开发中一定会踩到的“坑”和应对技巧。无论你是刚入门的新手还是已经玩转了几块板子的爱好者相信这些从一线实战中总结出的经验都能让你的开发过程更顺畅。2. 串口通信基础与编辑器避坑指南2.1 为什么串口通信是调试的生命线在CircuitPython开发中你的代码code.py或main.py运行在板子的微控制器上。当代码执行到print(“Hello, World!”)或者发生错误时这些文本信息需要一种方式传递出来。板子通过USB接口虚拟出一个串行通信端口COM Port on Windows, tty on macOS/Linux。你的电脑上运行的终端程序如Putty、screen、tio就像是一个“对讲机”监听这个端口将传来的数据流实时显示在屏幕上。这里的关键参数是“波特率”Baud Rate你可以理解为双方约定的通话语速。CircuitPython固件默认使用115200的波特率。如果你的终端程序设置的波特率不对比如设成了9600那么你收到的将是一堆乱码就像一个人用正常语速说话另一个人却用慢速播放来听完全对不上。所以确保终端程序的波特率设置为115200是建立通信的第一步也是最常被忽略的一步。2.2 编辑器的“安全写入”一个关乎稳定性的隐形杀手当你通过USB将开发板连接到电脑时它会以一个名为CIRCUITPY的U盘形式出现。你直接把Python文件拖进去或保存进去板子就会自动加载运行。这非常方便但背后有个陷阱文件系统的写入方式。很多编辑器为了提高性能在保存文件时并不会立即将数据完全写入磁盘而是先写入缓存。对于普通U盘这没问题。但对于CIRCUITPY这个“活着的”文件系统它实际上是由板载MCU实时管理的这种延迟写入或分次写入可能导致文件状态不一致轻则导致程序重启重则损坏文件系统让CIRCUITPY盘符消失。因此选择一个能“安全写入”Safe Write或强制“同步”fsync的编辑器至关重要。这并非吹毛求疵而是保证开发流程稳定的基石。推荐与不推荐的编辑器实战清单强烈推荐已验证安全Visual Studio Code (VSCode) 社区首选。安装CircuitPython或Pymakr等插件后能获得非常好的开发体验包括代码高亮、自动补全和内置串口监视器。其保存机制默认是安全的。Thonny 专为Python和MicroPython设计对CircuitPython支持良好。它内置了串口终端和文件管理器保存操作针对嵌入式设备做了优化非常省心。Mu Editor Adafruit官方早期推荐的编辑器极度轻量专为教育场景和初学者设计开箱即用无需任何配置写入绝对安全。可用但需配置老手之选Notepad 如原文所述新版本在写入后会刷新文件。但为了万无一失我建议在“设置”-“偏好设置”-“备份”中将“启用会话快照和定期备份”的路径改到非CIRCUITPY的驱动器比如你的电脑硬盘。这能避免编辑器在后台频繁写入备份文件到板子占用空间并增加不必要的写入次数。Vim / Vi 终端神器但需要配置。必须禁止它在CIRCUITPY上生成交换文件.swp否则每次交换文件写入都会触发板子重启。有三种方法启动时加-n参数vim -n your_file.py在~/.vimrc中设置set noswapfile或将交换文件目录指向别处set directory/tmp//双斜杠很重要PyCharm 专业IDE确保在Settings - System Settings - Synchronization中“Safe Write”选项是打开的默认即开。不推荐/有风险Windows 记事本 (Notepad) 写入速度慢且行为不可靠可能导致文件未完全写入时就弹出设备。绝对不要用它编辑CIRCUITPY上的文件。IDLE (Python 3.8.0及更早版本) 早期版本不会强制立即同步更改。虽然新版本已修复但鉴于其功能单一不如直接用VSCode或Thonny。Nano / Geany (Linux) 这些编辑器不强制同步更改存在数据丢失风险。未经验证的其他编辑器 除非你明确知道它的写入机制并且测试过不会导致问题否则不要冒险。实操心得我的主力是VSCode配合CircuitPython插件和Serial Monitor扩展编码、保存、查看输出一条龙。对于快速修改单个文件Notepad配置好备份路径后也很顺手。新手无脑用Thonny或Mu是最快上手的方案能避开99%的环境问题。3. 各平台串口终端配置详解3.1 Windows平台从找COM口到稳定连接Windows下设备管理器是你的“设备地图”。很多新手卡在第一步找不到板子对应的COM口。第一步精准定位COM口拔掉你的开发板。右键点击“开始”菜单选择“设备管理器”。展开“端口COM和LPT”记下已有的端口列表通常是你电脑本身的串口或蓝牙虚拟端口。插入你的开发板。等待几秒设备管理器列表会自动刷新。观察“端口”类别下出现的新设备。它可能显示为板子名称如“Adafruit Feather RP2040”也可能显示为“USB串行设备”或“Silicon Labs CP210x USB to UART Bridge”。关键看后面括号里的COM编号例如(COM5)。这个新出现的COM号就是你的板子。第二步选用终端程序并配置PuTTY经典稳定下载并安装PuTTY。打开PuTTY在“会话”类别下连接类型选择“串行”。“串行线路”填写你刚才找到的COM口如COM5。“速度”填写115200。可选在“保存的会话”中输入一个名字如“My_CircuitPython_Board”点击“保存”下次直接双击即可。点击“打开”。如果代码没有运行你会看到一个黑色空白窗口如果有print输出或错误就会显示出来。VS Code现代集成在VS Code扩展商店搜索并安装“Serial Monitor”或“CircuitPython”相关串口插件。插件通常会提供一个侧边栏按钮或命令面板选项CtrlShiftP来打开串口监视器。首次使用可能需要选择COM口和波特率115200之后会自动连接。集成在编辑器内切换上下文非常方便。避坑技巧如果PuTTY打开后是空白按几下回车键试试。有时串口连接需要“激活”一下。如果还是没反应检查COM口是否正确板子是否正常工作比如LED是否在闪烁。切勿在设备管理器里禁用或卸载这个端口设备除非你确定它有问题。3.2 macOS平台权限与终端程序的选择macOS无需安装驱动但有时会遇到权限问题。第一步查找设备端口打开“终端”Terminal应用。拔掉板子输入命令ls /dev/tty.*这会列出所有当前以tty.开头的设备通常是蓝牙或内置调制解调器。插入板子再次输入ls /dev/tty.*你会看到多出来一个设备名字类似/dev/tty.usbmodem101或/dev/tty.usbserial-110。记下这个完整的路径这就是你的板子。第二步选择并连接终端tio推荐自动重连使用Homebrew安装brew install tio连接tio /dev/tty.usbmodem101(替换为你的设备名)tio会自动以115200波特率连接并显示连接信息。退出按CtrlT然后按Q。screen系统自带但有缺陷连接screen /dev/tty.usbmodem101 115200重要警告如原文所述screen在退出时不会正确清理DTR/RTS信号可能导致CircuitPython程序卡住不再输出。如果你必须用screen退出时不要用CtrlA然后K而是直接关闭终端窗口或者用Ctrl\强制退出。强烈建议用tio替代。常见问题如果运行tio或screen时提示“Permission denied”说明当前用户没有访问串口设备的权限。解决方法临时方案每次加sudosudo tio /dev/tty.usbmodem101输入密码。永久方案推荐将用户加入dialout或uucp组。查看设备所属组ls -l /dev/tty.usbmodem101输出中类似crw-rw---- 1 root dialout ...这里的dialout就是组名。将当前用户加入该组sudo usermod -a -G dialout $USER注销并重新登录或重启电脑使组权限生效。3.3 Linux平台设备名与权限管理Linux流程与macOS类似但设备命名规则和包管理工具不同。第一步查找设备端口在终端中操作拔掉板子输入ls /dev/ttyACM*或ls /dev/ttyUSB*大多数现代CDC串口设备如RP2040、ESP32-S2/S3会显示为ttyACM0而一些USB转串口芯片如CP2102, CH340会显示为ttyUSB0。如果命令无输出是正常的。插入板子再次输入ls /dev/ttyACM*或ls /dev/ttyUSB*此时应该会出现一个设备例如/dev/ttyACM0。第二步连接终端tio首选安装Ubuntu/Debian系用sudo apt install tioArch系用sudo pacman -S tio。连接tio /dev/ttyACM0(自动使用默认波特率CircuitPython兼容)。screen/minicom备用screen安装sudo apt install screen。连接screen /dev/ttyACM0 115200。退出按CtrlA然后按K再按Y确认。同样有和macOS上类似的信号问题但比macOS稍好。Linux权限问题与macOS类似但更常见如果出现“Permission denied”解决方法同上查看组ls -l /dev/ttyACM0记下组名通常是dialout。加用户到组sudo usermod -a -G dialout $USER注销并重新登录。排查技巧如果插入设备后/dev/下没有任何新的tty设备出现首先检查dmesg | tail命令的输出看内核是否识别到了USB设备以及是否有错误信息。这可能是驱动问题如缺少brltty包会抢走串口设备可卸载之sudo apt remove brltty或者是数据线问题请使用可靠的数据线而非仅能充电的线。4. 高频问题排查与实战解决方案配置好了环境日常开发中还是会遇到各种稀奇古怪的问题。下面这些是我和社区里朋友们踩过坑后总结出的“急救手册”。4.1 CIRCUITPY驱动器相关问题问题CIRCUITPY盘符不显示或瞬间消失。可能原因1防病毒/安全软件拦截。这是Windows平台最常见的原因。BitDefender, Kaspersky, Norton, Sophos等软件都曾被报告会阻止或误删CIRCUITPY驱动器。解决方案在安全软件中为CIRCUITPY对应的驱动器盘符如F:添加排除或信任规则。如果无效尝试临时完全禁用安全软件进行测试。可能原因2磁盘工具干扰。如三星魔术师Samsung Magician、硬盘哨兵Hard Disk Sentinel等磁盘管理工具可能会扫描所有驱动器导致嵌入式文件系统异常。解决方案退出或卸载这些工具。可能原因3文件系统损坏。频繁的不安全弹出或编辑器写入中断可能导致此问题。解决方案尝试对板子执行双复位Double-tap Reset。对于大多数Express板子快速按两次复位键会先进入UF2引导模式出现BOOT驱动器再按一次复位或等待几秒会重新启动CircuitPython并重建CIRCUITPY。如果无效可能需要重新刷写CircuitPython固件。问题在macOS上向CIRCUITPY写入文件极慢或出错。背景macOS Sonoma 14.4之前版本对小型FAT驱动器如8MB的CIRCUITPY有写入Bug14.4至15.1版本对1GB以下的小容量FAT驱动器写入极慢。解决方案升级系统确保macOS更新到15.2或更高版本此问题已基本修复。使用重挂载脚本针对老版本创建一个Shell脚本在插入板子后手动以“异步禁用”模式重新挂载CIRCUITPY。将脚本放在方便的位置如桌面双击运行。#!/bin/sh diskydf | grep CIRCUITPY | cut -d -f1 sudo umount /Volumes/CIRCUITPY sudo mkdir /Volumes/CIRCUITPY sleep 2 sudo mount -v -o noasync -t msdos $disky /Volumes/CIRCUITPY更换编辑器使用Thonny或Mu Editor它们通过特殊协议与板子通信能绕过文件系统直接传输文件不受此问题影响。4.2 内存MemoryError与库管理问题运行代码时出现MemoryError。CircuitPython板子RAM有限通常从几十KB到几百KB这是最常遇到的瓶颈。根本原因代码太长、导入的库太多或太大、变量数据如列表、字符串占用过多。排查与解决步骤检查空闲内存在串口REPL中直接运行import gc print(gc.mem_free())这能让你知道还剩多少字节可用。写一个简单的print(“Hello”)程序看看空闲内存再导入你的库和运行代码对比差值就能知道谁是大户。使用.mpy库文件确保你从 CircuitPython库包 下载的是.mpy格式的库而不是.py源文件。.mpy是预编译的字节码占用内存和空间更小。将库文件从库包中拷贝到CIRCUITPY的lib文件夹即可。优化代码删除不必要的注释和空白行。将长的常量字符串拆分或考虑是否必要。如果使用了大量函数考虑将部分功能模块移到单独的.mpy文件中。终极技巧冻结代码Freezing Code将你自己的主程序代码也编译成.mpy文件。这能显著减少内存占用但代价是你无法在板上直接编辑这个文件了。下载与你的CircuitPython版本匹配的mpy-cross编译器。在电脑上编译mpy-cross code.py会生成code.mpy。将code.mpy放到CIRCUITPY根目录并删除或重命名原来的code.py。问题导入库的顺序会影响内存会。因为内存分配是动态且会产生碎片的。先导入大库可能会在内存中留下碎片导致后续没有足够大的连续空间分配给你自己的变量。一个经验法则是先导入核心、小型的库再导入大型或第三方库最后导入你自己的模块。4.3 网络与蓝牙BLE连接问题如何让我的CircuitPython设备连接Wi-Fi首选方案使用原生支持Wi-Fi的芯片如ESP32, ESP32-S2, ESP32-S3, ESP32-C3。这些板子的CircuitPython固件内置了wifi和socketpool库可以直接连接网络是体验最好的方式。备选方案AirLift协处理器如果你的主板如某些SAMD51或RP2040板没有Wi-Fi但有一个SPI接口和至少4个空闲GPIO可以连接一个AirLift ESP32协处理器模块。这需要额外接线和安装adafruit_esp32spi库配置相对复杂。不推荐尝试在内存很小的M0系列板子上通过AirLift实现复杂网络功能很容易遇到内存不足。问题如何实现蓝牙低功耗BLE完全支持Central/PeripheralnRF52840, nRF52833以及CircuitPython 9.1.0 的ESP32/ESP32-C3/ESP32-S3 (8MB Flash)板子支持最完整的BLE功能既可以作为外围设备广播也可以作为中心设备扫描连接。仅支持外围设备Peripheral Only大多数搭载AirLift或NINA-FW协处理器的板子如PyPortal目前仅支持作为BLE外围设备。ESP32-S2没有蓝牙硬件。注意Flash大小对于ESP32系列4MB Flash的版本在CircuitPython 9中可能没有空间包含BLE库_bleio需要检查板子的具体型号或等待CircuitPython 10的支持。4.4 其他疑难杂症速查表现象可能原因解决方案板载RGB LED闪烁异常颜色非代码控制CircuitPython系统状态指示红色闪烁代码错误黄色闪烁USB枚举中绿色闪烁启动完成蓝色闪烁等待REPL连接。这是正常现象用于调试。串口终端看到“M105”等乱码程序崩溃Cura 3D打印软件干扰Cura会向所有串口发送GCODE命令探测打印机。在Cura设置中**禁用“USB打印”**功能或卸载Cura。BOOT驱动器板名BOOT不出现1. 板子不是UF2引导程序2. 进入引导模式方式不对3. 安全软件/驱动冲突1. 确认板子支持UF2大多数Adafruit Express板支持。2. 对于Express板快速双击复位键。对于非Express板可能需要按住某个按钮再上电。3. Windows上卸载旧的Adafruit驱动包检查并卸载可能冲突的软件如DriveDx on macOS。复制UF2文件到BOOT驱动器时卡在0%Western Digital (WD) 硬盘工具冲突卸载WD的USB驱动工具软件。Windows下访问BOOT驱动器导致资源管理器卡死第三方软件冲突已知冲突软件AIDA64更新到最新版或关闭、Kaspersky完全禁用、ESET NOD32卸载特定版本、Hard Disk Sentinel。浮点数计算精度问题CircuitPython使用30位软件浮点所有板子都支持浮点但精度约为5-6位十进制数非标准的32位单精度。对于高精度计算需注意。长整数大整数支持受限于固件空间大多数板子支持但部分Flash很小的SAMD21 M0板如Gemma M0, Trinket M0不支持整数范围限于31位。最后保持你的开发环境更新是避免很多问题的根本。定期访问 circuitpython.org/downloads 为你的板子下载最新固件并同步更新 库捆绑包 。新版本通常会修复已知Bug并提升性能。如果在尝试了所有方法后问题依旧Adafruit的官方论坛和Discord社区是寻求帮助的绝佳场所那里有大量热情的开发者和官方工程师。

相关文章:

CircuitPython开发实战:串口通信与编辑器配置全攻略

1. 项目概述与核心价值 如果你刚开始接触CircuitPython,或者从Arduino这类环境转过来,可能会觉得有点懵:代码写好了,怎么看到板子的输出?板子报错了,怎么知道错在哪里?为什么我的代码文件一保存…...

终极Cookie本地导出指南:如何安全获取cookies.txt文件

终极Cookie本地导出指南:如何安全获取cookies.txt文件 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在Web开发、API测试和自动化脚本…...

《QGIS空间数据处理与高级制图》011:SHP 批量转 GPKG(单文件夹 / 递归多文件夹)

作者:翰墨之道,毕业于国际知名大学空间信息与计算机专业,获硕士学位,现任国内时空智能领域资深专家、CSDN知名技术博主。多年来深耕地理信息与时空智能核心技术研发,精通 QGIS、GrassGIS、OSG、OsgEarth、UE、Cesium、OpenLayers、Leaflet、MapBox 等主流工具与框架,兼具…...

思源宋体TTF中文版:7款字重一键解锁专业中文排版

思源宋体TTF中文版:7款字重一键解锁专业中文排版 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文设计项目找不到合适的免费字体而烦恼吗?Source Han …...

算法联盟·全域数学公理体系下黑洞标量毛发与LVK引力波O4全维理论、求导、证明、计算、验证、分析

算法联盟全域数学公理体系下黑洞标量毛发与LVK引力波O4全维理论、求导、证明、计算、验证、分析 算法联盟 全域数学公理体系下黑洞标量毛发与 LVK 引力波O4 全维理论、求导、证明、计算、验证、分析 所属体系:算法联盟 ROOT 全域数学网格第一性原理(AI科…...

Android 数字人动画序列帧选型优化:PNG vs WebP 格式深度对比实践

一、项目背景近期开发遇到数字人动画落地优化需求,业务流程为:单张人物原图 → 生成数字人短视频 → 导出带 Alpha 透明通道的序列帧,最终需要在 Android 页面中流畅播放数字人序列帧动画。整个流程核心难点:选择合适的透明序列帧…...

大模型小白入门指南:3分钟读懂核心逻辑+高性价比产品推荐(建议收藏+转发)

大模型小白入门指南:3分钟读懂核心逻辑高性价比产品推荐(建议收藏转发) 本文通俗易懂地拆解了大众对大模型的三个常见误区,如“大模型高级聊天机器人”、“大模型会说谎”、“AI会取代人类”。通过比喻方式解释了大语言模型和多模…...

如何摆脱游戏卡顿困扰:DLSS Swapper的智能性能管理方案

如何摆脱游戏卡顿困扰:DLSS Swapper的智能性能管理方案 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 当我们沉浸在《赛博朋克2077》的夜之城,或是探索《艾尔登法环》的交界地时,突…...

终极英雄联盟自动BP与战绩查询工具:Seraphine完全指南

终极英雄联盟自动BP与战绩查询工具:Seraphine完全指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否曾在排位赛中因手动查询对手战绩而手忙脚乱?是否因为错过接受对局而懊恼不…...

实战解析:XiaoMusic技术架构深度剖析与智能音箱语音控制实现方案

实战解析:XiaoMusic技术架构深度剖析与智能音箱语音控制实现方案 【免费下载链接】xiaomusic 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 在智能音箱生态中,小爱音箱…...

驾驶舱前端设计方案:从“花架子”到“真能用”的组件化实战

很多人一提起“驾驶舱”或“ dashboard ”,脑海里浮现的就是:满屏图表、深色背景、会转动的3D地球、还有一堆看起来很高端但没人点开的按钮。但真正在一线做过驾驶舱的人都知道——大部分驾驶舱,上线当天截个图发朋友圈之后,就再也…...

日常记录:SQL学习总结

一、什么是SQL注入SQL注入,就是通过把恶意SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器使数据库执行恶意SQL命令目的的入侵行为。关键:闭合原有 SQL 语句,构造恶意新语句。二、SQL注入漏洞分类三…...

生物记录仪能耗优化:机器学习与传感器融合实践

1. 生物记录仪能耗挑战与机器学习解决方案在野生动物行为研究领域,生物记录仪(bio-logger)已成为不可或缺的工具。这些小型电子设备通常搭载多种传感器,如加速度计、陀螺仪和磁力计等,用于记录动物的运动轨迹和行为模式。然而,这类…...

SwarmVault:去中心化AI数据存储与管理的实践指南

1. 项目概述与核心价值最近在探索分布式存储和AI应用结合的前沿领域时,我遇到了一个非常有意思的项目:swarmclawai/swarmvault。这个名字本身就透露了它的野心——将去中心化存储网络Swarm与人工智能(AI)能力相结合,构…...

3分钟解决Windows热键冲突:Hotkey Detective让你重掌键盘控制权

3分钟解决Windows热键冲突:Hotkey Detective让你重掌键盘控制权 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective …...

AKTools深度解析:3分钟构建跨语言金融数据API的实战指南

AKTools深度解析:3分钟构建跨语言金融数据API的实战指南 【免费下载链接】aktools AKTools is an elegant and simple HTTP API library for AKShare, built for AKSharers! 项目地址: https://gitcode.com/gh_mirrors/ak/aktools AKTools是一款为AKShare开源…...

【信息科学与工程学】【通信工程】第一百二十二篇 数字通信函数01

数字通信算法/函数库 函数编号:​ F001 函数名称:​ qpsk_modulator 类型:​ 调制 (Modulation) 通信分析:​ 该函数实现经典的正交相移键控调制,将输入的二进制比特流映射为复数符号(IQ数据)。它是数字通信发射机的基础模块,将数字信息加载到载波相位上,具有恒包络特…...

Revelation光影包:5分钟打造电影级Minecraft视觉体验

Revelation光影包:5分钟打造电影级Minecraft视觉体验 【免费下载链接】Revelation An explorative shaderpack for Minecraft: Java Edition 项目地址: https://gitcode.com/gh_mirrors/re/Revelation 想让你的Minecraft方块世界瞬间拥有电影大片般的视觉效果…...

Midjourney Pro订阅值不值得?深度拆解12项独家能力与企业级工作流增效实测数据

更多请点击: https://intelliparadigm.com 第一章:Midjourney Pro订阅的核心价值定位 Midjourney Pro 并非简单的“更高额度”升级包,而是面向专业创作者与团队工作流重构的关键基础设施。其核心价值体现在稳定性、可控性与协同效率三个不可…...

MTEB 排行榜之外:嵌入模型在 JRXML 场景下的选择逻辑

前文引用:通用分块器搞不定 JRXML:一个领域感知分块器的三层设计 分块之后,每一段文本需要转成一个向量,才能存进向量数据库做相似度检索。这个"文本 → 向量"的函数就是文本嵌入模型(Embedding Model&#…...

【Langchain】 ChatPromptTemplate:从“手动拼字符串“到“专业模板“的进化之路

零基础看懂 ChatPromptTemplate:从"手动拼字符串"到"专业模板"的进化之路一句话总结:ChatPromptTemplate 是 LangChain 中专门用来组装聊天消息的"模板引擎",它能让你像填空题一样,把变量插进预设的…...

LizzieYzy:围棋AI分析的终极免费工具,5分钟快速上手

LizzieYzy:围棋AI分析的终极免费工具,5分钟快速上手 【免费下载链接】lizzieyzy LizzieYzy - GUI for Game of Go 项目地址: https://gitcode.com/gh_mirrors/li/lizzieyzy 围棋AI分析、免费围棋助手、LizzieYzy快速入门、围棋复盘工具、AI棋力提…...

基于SDR与FPGA的全栈开源Wi-Fi设计:openwifi架构解析与实战

1. 项目概述:当Wi-Fi遇见SDR,一个开源全栈无线设计的诞生如果你和我一样,在无线通信领域摸爬滚打多年,从研究协议栈到调试硬件驱动,总会遇到一个痛点:商用Wi-Fi芯片就像一个黑盒子。你能用iwconfig配置它&a…...

百度网盘直链解析终极指南:5分钟告别限速下载的完整教程

百度网盘直链解析终极指南:5分钟告别限速下载的完整教程 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘那令人崩溃的下载速度而烦恼吗?…...

LaTeX-PPT:如何在PowerPoint中3分钟实现专业数学公式排版

LaTeX-PPT:如何在PowerPoint中3分钟实现专业数学公式排版 【免费下载链接】latex-ppt Use LaTeX in PowerPoint 项目地址: https://gitcode.com/gh_mirrors/la/latex-ppt 还在为PowerPoint中编辑复杂数学公式而头疼吗?LaTeX-PPT这款开源插件将彻底…...

大语言模型角色扮演:从提示工程到智能体框架的完整指南

1. 项目概述:当大语言模型学会“扮演”角色如果你最近在关注大语言模型(LLM)的应用,可能会发现一个有趣的现象:单纯让模型回答“11等于几”或者写一封邮件,已经越来越难以满足我们的好奇心和实际需求了。一…...

【权威实测】Perplexity UI v2.8.3组件查询API响应延迟骤降76%的6项必调参数

更多请点击: https://intelliparadigm.com 第一章:Perplexity UI组件库查询的性能瓶颈全景图 Perplexity UI 是一个面向复杂数据交互场景的前端组件库,其核心查询能力依赖于动态 Schema 解析与实时渲染管道。在高并发、多层级嵌套组件查询场…...

终极免费Cookie导出工具:Get cookies.txt LOCALLY完整使用指南

终极免费Cookie导出工具:Get cookies.txt LOCALLY完整使用指南 【免费下载链接】Get-cookies.txt-LOCALLY Get cookies.txt, NEVER send information outside. 项目地址: https://gitcode.com/gh_mirrors/ge/Get-cookies.txt-LOCALLY 在当今数字化时代&#…...

NoSleep:3种工作模式,解决Windows自动休眠的9大场景难题

NoSleep:3种工作模式,解决Windows自动休眠的9大场景难题 【免费下载链接】NoSleep Lightweight Windows utility to prevent screen locking 项目地址: https://gitcode.com/gh_mirrors/nos/NoSleep 你是否曾因Windows自动休眠而中断重要的远程演…...

Rust实现PDF解析与渲染:pdf_oxide库的安全高性能实践

1. 项目概述:当Rust遇上PDF,一场性能与安全的革命如果你在Rust社区或者高性能数据处理领域待过一阵子,大概率听说过或用过pdf_oxide这个库。乍一看,它只是GitHub上一个名为yfedoseev/pdf_oxide的仓库,一个用纯Rust编写…...