news 2026/9/6 6:46:27

LLM应用开发实战:深度拆解awesome-llm-apps案例库与落地技巧

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LLM应用开发实战:深度拆解awesome-llm-apps案例库与落地技巧

如果你最近在 GitHub 上逛 LLM 相关的仓库,大概率会撞见Shubhamsaboo/awesome-llm-apps这个项目。它不是什么框架,也不是一个开箱即用的产品,而是一个把当前主流 LLM 应用案例全部整理到一起的清单仓库——但就是这份清单,让它在圈子里火得不行。对于刚入门 LLM 应用开发的朋友来说,它相当于一份“抄作业合集”;对于已经在做 AI 应用的老手来说,它也是个很好的灵感库,能在你想不到用什么方案的时候直接给你一个可运行的参考。

这篇文章我就从实际使用的角度,把这个仓库真正拆开揉碎,讲清楚里面各类应用到底是怎么设计的、适合什么场景、跑起来有哪些坑,以及我自己在落地 LLM 应用时总结出来的一些判断标准。不管你是想快速跑通一个 demo,还是准备基于这些案例改造出属于自己的 AI 产品,这篇应该都能给你省不少时间。

1. awesome-llm-apps 到底是什么

1.1 这个仓库解决了什么问题

先说结论:awesome-llm-apps本质上是一个精选应用案例集合,由维护者 Shubham Saboo 长期更新,把 GitHub 上质量较高、能跑通、有一定代表性的 LLM 应用按技术栈和业务场景分类收录。它不像 LangChain 那样是一个开发框架,也不像 Hugging Face 那样是一个模型托管平台,它最大的价值在于“案例索引”。

很多人在开始做 LLM 应用时会遇到一个尴尬期:模型 API 调通了、Prompt 也会写了,但真要做一个完整的 RAG 问答系统或者 Agent 工具调用应用,就不知道怎么把各种组件拼起来。这个仓库就是把“拼好了”的示例直接摆在你面前。比如你想做一个基于自己文档的问答机器人,仓库里就有对应的 RAG 教程项目,从文档加载、向量化、检索到生成,每一步都能看到具体代码。

从我的使用体验来看,它的定位特别像技术圈的“菜谱”:你不会做一道菜的时候,不需要从食材种植开始学起,照着菜谱做一遍,味道基本不会差。之后你再想创新,在这个基础上调整就行。

1.2 仓库的整体分类逻辑

仓库的分类方式值得先摸清楚,不然你一进去看到几十个项目的 README 列表,很容易看花眼。它主要按这么几个维度组织:

  • 按基础模型厂商划分:OpenAI 系、Anthropic Claude 系、Google Gemini 系、Meta Llama 系等。这样做的好处是你用什么模型 API,就直接看对应文件夹,不用在混合项目里翻找。
  • 按应用框架划分:LangChain 应用、LlamaIndex 应用、多智能体框架(如 CrewAI、AutoGen)应用等。这部分适合那些已经决定用某个框架、想找现成范例的人。
  • 按业务场景划分:RAG 问答、代码助手、DevOps 运维、医疗健康、金融分析、个人生产力工具等。这一维度对应的是“我想解决一个问题,看有没有人做过”。

实际使用中,我会先按业务场景找到最接近自己需求的项目,然后再看它用的是哪个框架、哪个模型,这样能最快定位到可复用的代码。如果你一上来就按框架去筛,反而容易迷失,因为很多场景在多个框架里都有实现,选哪个还得结合你自己的技术栈偏好。

我在本地整理这个仓库时,通常不看它的根目录 README,而是直接进每个子目录看里面的 README 和依赖配置文件。根目录适合了解全貌,子目录才是真正有干货的地方。

2. 仓库里的核心应用类型拆解

2.1 RAG 应用:把文档喂给 LLM 的正确姿势

RAG(Retrieval-Augmented Generation,检索增强生成)是当前 LLM 落地最广的方向,仓库里这一类的项目也最多。我记得里面有基于 LlamaIndex 做的文档问答,也有用 LangChain 配合向量数据库做的知识库机器人。它们的核心流程其实一致:先加载文档,切片,做 Embedding,存向量库;用户提问时,把问题向量化后做相似度检索,把命中的片段拼进 Prompt,再让模型生成答案。

但光知道流程不够,实际跑起来有几个细节特别容易被忽略。第一个是切片策略。很多新手直接把整个 PDF 页面作为一个 chunk,结果检索出来的内容太杂,模型回答时容易“跑偏”。仓库里不少成熟项目的做法是先按标题结构做切分,或者用固定 token 数加重叠窗口。我自己实践下来,chunk 大小设在 300 到 800 token 之间比较稳妥,太小则上下文不足,太大则检索精度下降。

第二个是向量数据库的选择。仓库里有的项目用 Chroma,有的用 Pinecone 或者 Weaviate。如果你只是本地做知识库验证,我建议直接用 Chroma,零配置、轻量、社区活跃。如果是生产环境,则要看数据量级和并发要求,Pinecone 这类托管服务会更省心,但成本也高。

第三个是重排(Rerank)。这是很多人忽略的优化点。初检可能召回 20 个片段,但真正有用的可能只有三四个。单纯按向量相似度排序,很多时候排在前面的并不是最相关的。加一个 reranker 模型对召回结果做二次排序,回答质量能提升一个档次。仓库里部分高级项目中已经集成了这个环节,值得重点看。

2.2 Agent 应用:让 LLM 自己动手干活

如果说 RAG 解决的是“让 LLM 知道更多知识”,Agent 解决的就是“让 LLM 真正动手做事”。awesome-llm-apps里专门有 ChatGPT Agent 和 Claude Agent 的目录,里面的案例包括自动写邮件、自动做数据分析、自动操作浏览器等。

Agent 的核心机制是“工具调用”(Function Calling / Tool Use)。模型本身不执行代码,但它可以从用户请求中解析出意图,然后生成一个结构化的调用指令,由程序去执行这个函数,把结果再传回模型,让模型根据结果继续推理或给出最终答复。这个循环在仓库的优秀项目里被封装得很好。

我印象比较深的是里面有一个基于 ChatGPT 的个人助理项目,它把日历、邮件、待办事项全部封装成工具,模型会根据用户的一句“明天下午三点跟张三开个会,然后提醒我带合同”,自动决定调用哪些工具、按什么顺序调用。这就是 Agent 相对普通聊天机器人的最大区别:它具备“计划 + 调用 + 反思”的能力。

不过 Agent 也是最容易失控的部分。实际调试中,经常出现模型调用了错误的工具参数、在循环里反复调用同一个工具出不来、或者一步错步步错的情况。仓库里做得好的一些项目,都会在工具描述上花心思,把参数说明写清楚,同时限制工具数量,避免把太多能力暴露给模型。这一点是我自己踩过坑才深刻体会到的:工具定义不是越多越好,模型在多个工具之间做选择时,描述模糊就会乱选。

2.3 多智能体协作:一个不够,来一群

仓库里另一个亮眼的部分是多智能体(Multi-Agent)系统,用的框架包括 CrewAI、AutoGen 和 LangGraph。多智能体的思路是让多个具备不同角色和能力的 Agent 协作完成一个复杂任务,比如一个负责写代码,一个负责审查代码,一个负责写测试用例。每个 Agent 有独立的 Prompt 和工具集,它们之间可以传递消息、互相“讨论”。

这种模式在处理复杂任务时非常有优势。我记得仓库里有个 DevSecOps 相关的案例,就是用一个 agent 做代码生成,另一个 agent 做安全审查,还有一个做依赖分析,最后把结果汇总。这个过程如果让单个 Agent 串行完成,很容易在长上下文里忘记前期的关键信息,而多智能体把任务切分后,每个 Agent 的上下文窗口负担更小,输出质量会更稳定。

但多智能体不是万能药。每增加一个 Agent,就意味着增加了调用延迟和 token 消耗,也增加了协调失败的概率。我的建议是:能用一个 Agent 解决的问题,不要用两个;只有当任务边界足够清晰、子任务之间交互不复杂时,才适合引入多智能体。仓库里的项目之所以能跑得比较顺,是因为它们在主流程之外定义了清晰的 Agent 通信协议,而不是让模型自由发挥地互相“聊天”。

2.4 垂直领域应用:DevOps、代码生成与个人助手

除了这些偏底层的技术案例,仓库里还有大量垂直领域的应用,这也是我觉得它特别接地气的地方。比如 DevOps 场景下有自动分析日志、自动排查 Kubernetes 集群问题的项目;代码生成场景下有自动生成单元测试、自动做 Code Review 的项目;生活场景下有帮你规划旅行、管理财务、健身计划的个人助手。

这些项目的共同点是“场景定义非常具体”。它们不会泛泛地让你“跟 AI 聊天”,而是把某一个高频痛点做到极致。比如日志分析那个案例,它做的事情就三件:收集日志、让 LLM 总结异常模式、给出排查建议。看似简单,但用起来非常顺手,因为它的 Prompt、工具和输出格式全部围绕日志场景做了优化。

这种思路很值得学习。很多人做 LLM 应用容易犯的错就是想做一个“什么都能干”的助手,结果每个功能都浅尝辄止,用户在真实场景中用起来还不如用垂直工具。那些从单一痛点切入、做到极致的应用,反而更容易获得认可。awesome-llm-apps里的垂直领域项目,基本都是这个路数。

3. 从仓库到落地:跑通一个 LLM 应用的全流程

3.1 选项目的判断标准

面对这个仓库里几十个项目,怎么挑选最适合自己的那一个,我有一套自己的筛选流程。首先看你自己手里的任务类型:是要处理文档,还是要执行操作,或是要写代码?先匹配业务场景,这一步能把候选项目缩小到三五个。

然后看技术栈。这些项目有的用 Python,有的用 TypeScript;有的依赖 LangChain,有的直接裸调 API。如果你对某个框架比较熟,优先选它;如果都不熟,选依赖最少的那个——裸调 API 的项目代码量小,更容易读通。仓库里有不少项目为了展示效果,会同时引入多个框架,看起来功能丰富,但学习成本也高,不适合新手第一遍跑通。

还要看仓库的活跃度。awesome-llm-apps本身更新很勤,但里面收录的每个项目的维护情况不一样。点进子项目看提交记录和 issue 回复速度,如果一个项目半年没更新,它依赖的 API 可能已经变了,跑起来容易报错。我一般优先选最近三个月内还有提交的项目。

3.2 环境准备与依赖安装

选定项目后,第一步是搭环境。这个环节看起来基础,实际上很多报错都源于此。大部分 Python 项目会提供requirements.txtpyproject.toml,我建议你新建一个虚拟环境来装依赖,不要直接装在全局。用python -m venv .venv创建虚拟环境,然后激活它,再安装依赖,这样即使某个包的版本冲突了,也不会污染系统环境。

依赖安装完成不代表就能跑了,很多项目还需要额外的服务。比如 RAG 类项目可能需要启动本地向量数据库,或者是用 Docker 起的。仓库里的 README 一般会写清楚前置条件,但有些写得不够完整,需要你从代码里推断。我的习惯是先把项目的配置文件和启动脚本都翻一遍,把所有需要填的环境变量列出来,再对照 README 知道每个变量是干什么的。

环境变量这一块很容易踩坑。很多项目把 OpenAI API Key 这类敏感信息写死在代码示例里,或者期望你放在.env文件里。你需要看一下项目调用的是什么模型、用的哪个服务商,然后去对应的平台申请 API Key 并配置好。如果项目同时支持多个模型服务商,配置的时候要仔细,别把 Key 放错环境变量名,否则会出现“明明 Key 是对的,但程序报认证失败”的怪问题。

3.3 请求 LLM 的关键参数配置

跑通一个 LLM 应用,最核心的环节就是正确配置请求参数。仓库里的项目在调用模型时,通常会暴露几个可调参数,这几个参数直接决定了输出质量和成本。

第一个是temperature。它控制生成随机性,值越低输出越确定,适合代码生成、数据提取这些需要精确结果的任务;值越高输出越多样化,适合头脑风暴、创意写作。很多项目默认设为 0.7,但对于 RAG 问答,我建议调到 0.2 以下,减少模型“自由发挥”的概率。

第二个是max_tokens。它限制模型最多生成多少 token。注意这个值不是越大越好,生成太多 token 意味着更长的响应时间、更高的成本,而且容易让模型啰嗦。如果你只想要一个简短答案,把它设成 500 左右就很合适。

第三个是top_p,也叫核采样。它和temperature一样用于控制随机性,两者配合使用时,一般建议固定其中一个,只调另一个。多数情况下,项目默认值已经能用,不需要太多干预。

还需要注意一点,现在很多模型 API 支持response_format参数来指定 JSON 输出,如果你是做结构化数据提取,建议直接从仓库里的相关项目中照搬配置,别自己摸索。

3.4 接入外部工具与数据源

LLM 应用落地时,往往需要让模型能拿到实时数据,或者能触发外部操作。仓库里的项目在接入外部工具这一块有两种主流做法:一种是 Function Calling,即把函数描述以 JSON Schema 的形式传给模型,模型输出调用某个函数的意图和参数,程序再按这个意图执行;另一种是 MCP(Model Context Protocol,模型上下文协议),也就是把工具以标准化协议暴露给模型,这种方式在 Claude 生态里特别常见。

我做工具接入时,有几点经验供你参考。第一,工具描述务必写详细,模型是根据描述来决定何时调用工具的,描述里最好包含这个工具能做什么、什么场景下用、参数格式如何。第二,工具的输入输出尽量使用 JSON,这样模型更容易理解和生成。第三,为工具设置超时和错误处理,模型调工具失败时,不要让整个流程崩溃,而是把错误信息回传给模型,让它尝试其他方案。

数据源接入也是同理。如果你要让 LLM 查询数据库,不要直接把整个数据库交给模型,而是封装成专门的查询函数,限制它可以执行的 SQL 类型,防止模型生成危险操作。仓库里有些项目已经做了比较好的范式,值得参考。

4. 实操翻车现场:常见报错与排查手册

4.1 LLM 请求失败的常见原因与应对

在实际使用仓库项目时,llm request failed这类报错可能是最常见的拦路虎。这个提示太宽泛了,背后的真实原因五花八门。我在反复踩坑之后,把它们整理成了下面这个速查表,供你在排查时参考。

报错特征常见原因排查方向
provider rejected the request schema工具定义格式不符合服务商要求,函数参数 JSON Schema 有误检查 Function Calling 工具定义,确认参数类型和 required 字段与 API 文档一致
llm request timed out请求超过客户端超时时间,可能因为网络不稳或模型响应太慢调大超时时间,开启流式输出,增加重试机制
invalid api keyAPI Key 错误或环境变量未加载检查.env文件中的 Key 与真正调用时读取到的值是否一致
context length exceeded输入加输出的总 token 数超过模型上下文窗口减少文档片段长度,压缩 Prompt,或切换更大上下文的模型
rate limit exceeded请求频率超出服务商限制增加请求间隔,使用指数退避重试,或升级 API 套餐

这里我想特别展开说一下“schema rejected”这个错。它通常发生在你开启了 Function Calling 或 Tool Use 功能时,服务商要求你传入工具的描述必须是严格的 JSON Schema。很多项目中定义工具时用了不符合 Schema 规范的结构,比如参数的type写成了字符串数组而实际应该是基本类型,或者是required里引用了未定义的字段,都会导致这个错。排查的办法是把工具数据打印出来,再用 JSON Schema 校验工具验证一下,问题基本都能发现。

另一个高发问题是超时。很多项目的默认timeout设置很短,只有十秒或二十秒,但复杂的 Agent 任务或者长文档生成,几十秒都算正常。遇到超时,第一件事不是改网络,而是看项目里有没有地方能设置timeout参数,把它调大到 60 秒甚至 120 秒,同时把stream打开。流式输出能让用户看到进度,对网络稳定性要求也低很多。

4.2 让推理模型别输出思考过程

最近大半年,带“推理”能力的模型越来越多。它们回答问题前会产生一条思维链,在 API 响应里以reasoning_content之类的字段单独返回。在调试仓库里的应用时,你可能会发现明明设置了response_format为 JSON,但解析始终失败,这时候就要怀疑是不是推理内容混进了正常输出。

解决这个问题,可以从这几个方向入手。第一,检查你使用的最新模型 API 是否支持关闭思维链,如果不支持,就需要在请求参数里明确设置reasoning_effortlownone。第二,有些应用框架会在内部把模型的响应拆成多个字段,你需要找对最终答案所在的字段,而不是取整个响应内容。第三,如果你用的是类似 Dify 这样的平台,里面通常有模型参数配置项,把“思考模式”关掉即可。

在实际处理中,我建议你在应用层做一层兜底:强行让模型用 ````json` 标记输出,然后在代码里做字符串清洗,把 Markdown 标记和多余内容剥掉,再交给 JSON 解析器。这能最大程度避免因为模型偶尔不遵守指令而导致的系统崩溃。

4.3 重试与容错机制的设计

LLM 调用天然具有不确定性,一次请求失败太正常了,所以容错机制不是可选项,而是必选项。仓库里不少成熟项目都会封装一层“带重试的调用函数”,但它通常比较简单,只是对网络错误做几次重试。真正生产级的容错,还需要考虑对“内容安全”和“格式异常”的处理。

我的做法是分层做容错。第一层是网络异常重试,用指数退避策略,比如第一次等待 1 秒,第二次 2 秒,第三次 4 秒,最多重试三次;第二层是内容校验,拿到模型响应后先检查是否包含预期字段,如果不符合,就把错误内容作为新的提示信息再让模型修正一次;第三层是降级方案,如果模型连续失败,至少要给用户一个友好的提示,不能让应用直接崩溃。

这里有个容易忽略的地方:模型的输出不是幂等的,同样的请求,前后两次结果可能不同。所以如果你做一个需要重试的逻辑,每次重试时要注意:是有状态重试还是无状态重试。有状态重试会把上一次的部分结果也传回去,让模型继续修正;无状态重试则是完全重新生成。两个场景不同,别混用。

4.4 API 成本控制与速率优化

跑通项目之后,成本就成了头号问题。一个简单的 RAG 问答,每次可能要发送几千 token,如果业务量大,费用累积很快。仓库里很多示例项目为了展示效果,会把大量的上下文一股脑塞给模型,这在 demo 阶段无所谓,但在生产环境就不行了。

成本优化有几个方向。首先是 Prompt 压缩,把系统提示词里的废话删掉,固定不变的模板尽量避免重复拼接;其次是上下文裁剪,让 LLM 检索后只带回最相关的片段,而不是把所有文档片段都塞进去;再次是模型分级,简单任务用便宜的小模型,复杂任务才用强模型。仓库里部分项目已经对接到多个模型服务商,你可以结合不同模型的定价策略来做路由。

缓存也值得重点考虑。对于高频、结果相对固定的请求(比如给特定文档做一次问答),可以按“文档哈希 + 问题哈希”缓存模型输出,命中缓存就直接返回,不重复调用 API。我在实践中用这个方法,成本至少降了三分之一,响应速度也提升明显。

5. 知识库与文档处理:LLM 落地的现实场景

5.1 用 LLM 处理文档,会遇到哪些现实问题

聊完代码层面,我想说说文档和知识库这个更贴近业务的话题。很多朋友看完仓库里的 RAG 项目,第一反应是把公司所有文档都丢进去,希望能得到一个“什么都知道”的助手。但实际操作时,你会发现现实世界里的文档非常不友好。

首先是文档格式问题。PDF 可能是扫描件,需要 OCR;Word 文档里可能有复杂的表格和批注;PPT 里面的信息分散在页面备注和图形中。任何一个环节没处理好,检索质量都会大打折扣。仓库里有些项目专门做了文档解析模块,但大部分示例还是以整洁的文本或 Markdown 为输入,这种“实验室环境”和“真实战场”的差距一定要心里有数。

其次是文档之间的关联。真实的知识库里面,很多信息是分散在不同文档中的,一个概念可能在 A 文档定义、B 文档举例、C 文档给出最佳实践。简单的“切片—向量化—检索”方式把每段都当作孤立文本对待,模型回答时看不到文档之间的逻辑关系,就会显得零散。解决思路是在切片时保留文档层级结构和交叉引用信息,或者引入知识图谱做增强检索。

5.2 Markdown 格式在 LLM 流程里的重要性

我个人非常推荐在文档处理流程中统一使用 Markdown 格式作为中间层。原因很简单,Markdown 的结构化信息(标题层级、列表、表格、代码块)对 LLM 来说非常友好,它能把文档的语义结构“翻译”成模型容易理解的形态。

如果你自己构建文档知识库,我建议在喂给模型前把 PDF 或 Word 先转成干净、规范的 Markdown。这一步做好后,切片时可以依赖标题层级来做语义分割,比单纯按字符数硬切效果强非常多。karpathy llm wiki那种思路之所以流行,就是因为它在源头上就用 Markdown 管理知识,每一篇笔记结构清晰、语言精炼,LLM 检索时每段都有明确的主题边界,回答自然更准。

还有一个小技巧:在 Markdown 中给每个小节写一个简短的摘要。当 LLM 检索到这个小节时,摘要可以作为额外的上下文提示,帮助模型快速判断这段话是不是用户真正需要的信息。仓库里有些高质量项目的文档切片逻辑就用到了这种“摘要增强”策略。

5.3 构建个人知识库的两种思路

结合awesome-llm-apps里的 RAG 项目,我自己总结出构建知识库的两种路线,你按自己的情况选。

第一种是“轻量级方案”:用本地文件加向量数据库。把文档统一转成 Markdown,按目录结构存好,用脚本做切片和 Embedding,存进 Chroma 等轻量向量库。前端用 Gradio 或者 Streamlit 搭一个简单的聊天界面。这个方案的优势是灵活、可控、成本低,适合个人笔记和中小型团队内部知识库。

第二种是“平台级方案”:用 Dify、FastGPT 这类 LLMOps 平台搭建可视化知识库。上传文档、设定分段规则、绑定模型、发布应用,全部在界面上完成。这类平台通常内置了文档解析、检索测试、日志审计等能力,适合不想写太多代码、需要快速把知识库产品化的团队。但缺点是定制能力有限,复杂业务逻辑仍需回到代码层面。

我自己的经验是:先用第二种方案快速验证场景价值,确认知识库确实能解决真实问题之后,再考虑用第一种方案重构,把它嵌入到自己的产品链路里。千万不要一上来就追求技术上的“高级感”,先把价值跑通才是最重要的。

6. 我的一些体会与建议

翻了这么多案例、跑了这么多项目,我最大的体会是:LLM 应用开发的瓶颈,其实早就不在模型能力上,而在工程细节上。一个 RAG 应用的效果好不好,往往取决于你对文档切分粒度、提示词结构、检索召回策略进行了多少轮迭代;一个 Agent 好不好用,也常常取决于工具定义清不清晰、容错逻辑完不完善。

如果你想从这个仓库里获得最大收益,我建议不要贪多。选一个与你当前工作最相关的项目,把它彻底跑通,然后把代码一行一行读明白,再基于它做自己的改动。这样一遍下来,你收获的东西远比“每天看一个新项目”多得多。那些 star 很高的仓库项目,能让它跑起来的代码其实不多,但每一个环节都打磨得比较到位,这本身就是最好的学习素材。

另外想提醒的是,技术更新太快了,这个仓库里的案例可能在你看到这篇文章时已经发生了很多变化。所以比起死记硬背某个项目的实现细节,更重要的是掌握分析问题的方法:遇到一个新场景,先拆解它的输入输出、数据流、状态管理,再决定用什么模式来实现。这套方法的能力迁移性,比任何具体的代码示例都更持久。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 6:45:59

编程中的符号边界问题:从括号匹配到系统稳定性

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 6:43:42

工业自动化信号类型全解析:从模拟量、数字量到通信与差分信号

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 6:41:34

FL Studio 2026.1.5.5618中文版新功能介绍

FL Studio 2026即“Fruity Loops Studio”,也就是众所周知的水果软件,一个全能音乐制作环境、数字音频工作站(DAW)。FL Studio可以用来进行编曲、剪辑、录音、混音,让你的计算机成为一个全功能录音室。FL Studio 2026.1.5.5618中文版是功能强…

作者头像 李华
网站建设 2026/9/6 6:37:31

尘集外链网盘2.66:PHP8.3+SQLite3轻量私有网盘部署指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/6 6:31:43

AI大模型学习路线与本地部署实战:从理论到跑通Qwen

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华