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

基于LangChain.js与Azure构建企业级RAG聊天应用实战指南

1. 项目概述构建一个基于LangChain.js的RAG聊天应用如果你正在寻找一个能快速上手的、企业级的AI聊天应用模板这个项目绝对值得你花时间研究。它不是一个简单的“Hello World”示例而是一个完整的、生产就绪的解决方案展示了如何将LangChain.js与Azure的无服务器服务栈无缝集成构建一个具备检索增强生成RAG能力的智能聊天机器人。核心价值在于它为你提供了一套开箱即用的架构和代码让你能跳过繁琐的基础设施搭建和框架选型直接聚焦于业务逻辑和AI能力的定制。这个项目完美地诠释了“Serverless First”的理念。前端是一个用Lit构建的单页应用托管在Azure Static Web Apps上后端逻辑则由Azure Functions承载处理聊天请求和文档嵌入向量数据和聊天历史存储在Azure Cosmos DB for NoSQL中而原始的文档文件则放在Azure Blob Storage。整个架构完全由事件驱动按需伸缩你几乎不需要操心服务器的运维和扩容问题。更棒的是它提供了从本地开发使用Ollama运行Llama 3.1等本地模型到云端部署使用Azure OpenAI的完整路径让你可以在零成本验证想法后平滑地迁移到生产环境。1.1 核心需求与场景解析为什么需要这样一个模板直接调用大语言模型的API不是更简单吗这里的关键在于“可控性”和“专业性”。一个通用的聊天模型比如ChatGPT虽然知识渊博但它对你公司内部的规章制度、产品手册、技术文档一无所知。当你的客户或员工询问“我们产品的退货政策是什么”或“如何配置XX功能的告警阈值”时你不可能指望一个通用模型给出准确答案。这就是RAG的价值所在。RAG即检索增强生成其工作流程可以拆解为两步检索Retrieval当用户提出一个问题时系统不是直接让大模型“编造”答案而是先从你预先准备好的、结构化的知识库通常是向量数据库中搜索出与问题最相关的文档片段。增强生成Augmented Generation将这些检索到的、高相关性的文档片段连同用户的原始问题一起作为“上下文”提交给大模型。模型基于这个“增强”后的、富含领域知识的上下文来生成最终答案。这样做的好处显而易见答案的准确性和可靠性大幅提升同时还能要求模型在回答中引用来源做到“有据可查”。这个项目模板就是帮你把这一整套复杂的流程——从文档解析、文本分块、向量化嵌入、相似性检索到最终的提示词工程和对话历史管理——全部封装好了。你只需要准备好你的PDF、Word或TXT文档扔进/data文件夹运行部署脚本一个专属的、懂你业务的AI客服就诞生了。2. 架构深度解析与核心组件选型这个项目的架构图清晰地展示了一个现代AI应用的标准分层。我们来逐一拆解每个组件的选型理由和它们扮演的角色这能帮助你在未来定制或扩展时做出更明智的决策。2.1 前端轻量级Web组件与静态托管前端应用位于packages/webapp目录它没有使用React、Vue这些重型框架而是选择了Lit。这是一个非常务实的选择。Lit是一个用于构建快速、轻量级Web组件的库。对于这样一个功能相对单一核心就是一个聊天界面的应用来说使用Lit可以保持极小的包体积和快速的加载速度。整个应用被构建成一个可复用的Web组件这为其未来可能被嵌入到其他门户或网站中提供了便利。托管平台选择了Azure Static Web Apps。这不仅仅是为了“无服务器”更是看中了它的几个杀手级特性全球CDN加速、内置的CI/CD直接关联Git仓库、免费SSL证书以及最关键的原生集成——它能自动将/api路径的请求代理到后端的Azure Functions无需你配置复杂的API网关或CORS规则。这意味着你的前端代码调用后端的体验就和调用本地接口一样简单。2.2 后端无服务器函数与AI编排引擎后端逻辑全部由Azure Functions承载代码在packages/api中。使用Functions而不是传统的Web服务器如Express.js核心优势在于极致的成本优化和运维简化。聊天请求天然是稀疏和突发的用常驻服务器会造成大量资源闲置。Functions按执行次数和时长计费在无人使用时成本几乎为零。当流量洪峰到来时Azure平台会自动、近乎无限地横向扩容你完全不用关心。Functions内部的核心是LangChain.js。你可以把它理解为一个AI应用的“操作系统”或“编排框架”。它抽象了与大模型交互、文档处理、记忆管理、链式调用等复杂逻辑。在这个项目中LangChain.js主要负责文档加载与分割使用PDFLoader等工具读取/data中的文件并用RecursiveCharacterTextSplitter将长文档切成语义连贯的小块。向量化与存储调用Azure OpenAI或本地Ollama的嵌入模型将文本块转换为向量然后存入Cosmos DB。检索链构建当用户提问时将问题向量化在Cosmos DB中进行相似度搜索召回最相关的几个文本块。对话链执行将检索到的文本块、当前问题、以及之前的对话历史按照预设的提示词模板组装成一个完整的“上下文”发送给大模型Azure OpenAI或Llama来生成回答。注意LangChain.js的版本迭代很快其API和概念也在不断演进。这个项目模板帮你固定了一个稳定、经过验证的版本和用法避免了你自己在茫茫文档和快速变化的API中摸索节省了大量试错成本。2.3 数据层向量数据库与文件存储数据层是这个项目的“记忆中枢”由两部分组成Azure Cosmos DB for NoSQL (with Vector Search)这是整个RAG系统的核心。它不仅仅存储聊天记录会话ID、消息列表更重要的是存储了文档块的向量嵌入。Cosmos DB是全球分布的多模型数据库其向量搜索能力允许你高效地进行高维向量的相似性比较通常使用余弦相似度或点积。选择它的理由包括无缝集成作为Azure原生服务与Functions、Static Web Apps的集成和权限管理非常顺畅。吞吐量与延迟能够提供毫秒级的读取延迟满足聊天应用的实时性要求。自动索引管理你只需要定义好向量索引策略Cosmos DB会自动处理索引的创建和维护。Azure Blob Storage这里存放原始的、未经处理的源文件如PDF。为什么需要它有两个原因一是作为文档的“源真理”万一向量化过程出错或需要重新处理可以随时从源头开始二是对于一些场景你可能需要在回答中提供文档的预览或下载链接Blob Storage可以很方便地提供安全的访问地址。2.4 通信协议标准化的聊天协议项目采用了HTTP API for AI Chat Apps协议。这是一个由微软倡导的、用于前端与AI聊天后端通信的开放协议。它标准化了请求和响应的格式比如消息的角色user,assistant,system、流式响应的数据块格式等。采用这个协议的好处是你的前端组件可以很容易地替换成其他遵循同一协议的后端反之亦然提高了系统的可移植性和可测试性。3. 从零开始的实操部署与配置详解理解了架构我们进入实战环节。我将以最常用的两种路径——本地Ollama开发和云端Azure部署——为例带你走通全流程并解释每个步骤背后的意图和可能遇到的坑。3.1 环境准备工具链的安装与配置无论选择哪条路本地开发环境是基础。你需要准备以下工具Node.js (20)这是运行JavaScript/TypeScript代码的引擎。建议使用nvmMac/Linux或nvm-windowsWindows来管理Node版本避免全局版本冲突。Git用于克隆代码和版本控制。Azure Developer CLI (azd)这是微软推出的新一代Azure开发工具它通过一个azure.yaml配置文件就能帮你完成从资源创建、代码部署到环境变量配置的全流程自动化。安装后务必运行azd login进行认证。Azure Functions Core Tools用于在本地运行和调试Azure Functions。通常在你安装项目NPM依赖时会自动安装如果本地运行API报错再手动安装即可。Ollama (仅本地开发需要)如果你想在本地用CPU/GPU跑模型需要安装它。去官网下载安装包安装后它会在后台运行一个服务。实操心得在Windows上建议使用Windows Terminal PowerShell 7 或 Git Bash来执行所有命令避免经典CMD可能带来的路径或脚本执行问题。确保你的终端有足够的权限执行脚本Set-ExecutionPolicy RemoteSigned。3.2 路径一纯本地开发零云成本这是最快上手体验项目的方式适合快速原型验证和个人学习。获取代码首先Fork项目到你的GitHub账户然后克隆到本地。这一步很重要因为后续的部署配置如GitHub Actions会依赖于你自己的仓库。git clone https://github.com/你的用户名/serverless-chat-langchainjs.git cd serverless-chat-langchainjs拉取本地模型打开终端运行以下命令。这会从Ollama服务器下载Llama 3.1用于生成回答和Nomic Embed Text用于将文本转换为向量模型。Llama 3.1大约有8B参数需要数GB磁盘空间请确保网络通畅。ollama pull llama3.1:latest ollama pull nomic-embed-text:latest安装项目依赖在项目根目录运行npm install。这会安装前后端所有必要的NPM包。这个过程可能会因为网络问题而较慢可以考虑配置npm镜像源。启动应用运行npm start。这个脚本实际上同时启动了前端静态服务器在8000端口和后端Functions模拟器在7071端口。你会在终端看到两个服务的日志输出。注入知识新开一个终端运行npm run upload:docs。这个命令会读取./data目录下的示例PDF文件虚构的Contoso房地产公司的条款、隐私政策等调用本地的Ollama嵌入模型将其向量化并存储到本地模拟的Cosmos DB项目使用了一个内存或本地持久化方案来模拟具体看配置中。这个过程只需要做一次。开始对话打开浏览器访问http://localhost:8000。你现在可以尝试问一些基于./data文档内容的问题比如“Contoso Real Estate的退货政策是什么”。系统会从本地向量库检索并用本地的Llama模型生成回答。踩坑记录本地模型尤其是7B/8B参数级别的推理能力和指令遵循能力弱于GPT-4等大型商用模型。你可能会发现它偶尔会“胡言乱语”或无法严格按照要求进行引用。这是预期内的本地方案的优势在于零成本、数据完全私有牺牲一些精度是可接受的折衷。对于生产环境建议切换到Azure OpenAI。3.3 路径二部署到Azure云端生产就绪当你验证想法可行准备投入生产时就需要云端的强大算力和稳定性。Azure账号与权限准备拥有一个有效的Azure账号新用户有免费额度。最关键的一步申请Azure OpenAI服务访问权限。这是一个需要审批的服务点击项目文档中的申请链接填写表单通常几个工作日内会通过。确保你的账号在目标订阅中拥有“所有者”或“用户访问管理员”角色以便azd能创建资源组和分配权限。一键部署在项目根目录下依次执行azd auth login # 登录你的Azure账号 azd up # 开始部署这个命令会触发一系列操作引导配置首先会让你输入一个环境名称如prod并选择一个Azure区域如eastus2。区域选择会影响服务的延迟和成本通常选离你用户群最近的。资源预配azd会根据infra/目录下的Bicep模板在Azure上创建资源组、Cosmos DB账户、Blob Storage账户、OpenAI服务、Static Web Apps和Functions应用等所有资源。代码构建与部署将你的前端代码打包并部署到Static Web Apps将Functions代码部署到Function App。数据初始化自动运行数据上传脚本将./data中的文档上传到Blob Storage并通过Azure OpenAI的嵌入模型向量化后注入Cosmos DB。输出结果部署完成后终端会打印出前端网站的URL点击即可访问。理解部署输出与环境变量部署成功后在packages/api目录下会生成一个.env文件。这个文件包含了连接所有Azure资源所需的密钥和端点例如AZURE_OPENAI_ENDPOINThttps://your-resource.openai.azure.com/ AZURE_OPENAI_API_KEYyour-secret-key AZURE_COSMOSDB_ENDPOINThttps://your-cosmos.documents.azure.com:443/ ...务必保护好这个文件不要将其提交到Git仓库.gitignore文件已经将其排除。这个文件的存在也使得你可以在本地运行项目时直接连接云端资源即“本地运行远程资源”模式方便调试。启用CI/CD可选但推荐为了让你的应用能自动更新可以配置GitHub Actions。在项目根目录运行azd pipeline config。这个命令会引导你在Azure AD中创建一个服务主体用于GitHub Actions认证并将其密钥自动设置为你的GitHub仓库的Secrets。之后每次向主分支推送代码都会自动触发部署流程。重要提示首次部署azd up时由于需要创建OpenAI资源并部署模型可能会耗时较长10-20分钟请耐心等待。如果失败仔细查看错误信息通常是配额不足或区域不支持所致。4. 核心代码流程与定制化开发指南作为一个模板其最大的价值在于可以被轻松地修改以适应你的业务。我们来深入几个关键代码模块看看如何对其进行定制。4.1 文档处理流水线剖析文档处理的逻辑主要在packages/api/src/functions/uploadDocuments.ts这个Function中。它由HTTP触发器调用核心流程如下// 伪代码流程示意 1. 从Blob Storage读取指定容器内的所有文档。 2. 对每个文档根据其类型.pdf, .txt, .md等使用LangChain对应的DocumentLoader进行加载。 3. 使用 RecursiveCharacterTextSplitter 对文档进行分割。 - 这里的关键参数是 chunkSize 和 chunkOverlap。 - chunkSize 决定了每个文本块的大小如1000字符影响检索精度和模型上下文长度。 - chunkOverlap如200字符让相邻块有部分重叠避免在句子或段落中间被切断导致语义丢失。 4. 为每个文本块生成元数据如来源文件名、页码等。 5. 调用嵌入模型AzureOpenAIEmbeddings 或 OllamaEmbeddings将每个文本块转换为向量。 6. 将向量和元数据一起批量写入Cosmos DB的向量集合中。如何定制支持新文档格式如果你想支持Word.docx或PPT只需安装对应的LangChain文档加载器如langchain/community/document_loaders中的模块并在代码中添加相应的处理逻辑。调整文本分割策略如果你的文档结构特殊如代码、Markdown标题可以考虑使用MarkdownTextSplitter或TokenTextSplitter甚至自定义分割函数。修改元数据你可以在元数据中添加更多业务字段如“文档分类”、“生效日期”等后续检索时可以利用这些字段进行过滤。4.2 聊天接口与RAG链实现核心的聊天逻辑在packages/api/src/functions/chat.ts。它处理前端发来的消息并返回流式的AI响应。// 核心链构建示意 1. 根据请求中的会话ID从Cosmos DB加载历史对话消息。 2. 初始化向量存储检索器Retriever连接到Cosmos DB的向量集合。 3. 构建一个 RunnableSequenceLangChain的链 a. 将用户问题格式化为独立查询有时需要根据历史重写问题。 b. 使用检索器获取相关文档块。 c. 将问题、检索到的文档、对话历史组合成一个最终的提示词Prompt。 d. 将提示词发送给大语言模型LLM。 e. 对模型的输出进行后处理例如解析其中的引用标记。 4. 以流Stream的形式将生成的文本块返回给前端实现打字机效果。提示词工程是灵魂项目的提示词模板定义在packages/api/src/prompts/chat.ts中。它详细规定了模型的角色、回答的格式如必须引用来源、以及如何利用上下文。修改这个提示词可以极大地改变AI的“性格”和回答质量。例如你可以加入“如果根据上下文无法回答问题请明确告知用户”的指令来减少模型幻觉。4.3 前端组件定制前端UI在packages/webapp/src/目录下。主组件是chat-app。定制UI相对直观修改样式CSS样式定义在组件的static styles块中你可以直接修改以改变颜色、布局等。调整交互事件处理逻辑在组件的方法中例如发送消息、处理流式响应。你可以增加“点赞/点踩”、“复制答案”等功能按钮。更换模型前端通过环境变量或配置项来获取可用的模型列表。如果你想让用户在前端切换不同的AI模型如GPT-4和GPT-3.5-Turbo需要在此处增加UI控件并将选择传递给后端API。5. 常见问题、故障排查与性能优化在实际操作中你一定会遇到各种问题。这里我总结了一些典型场景和解决方案。5.1 部署与运行问题问题现象可能原因排查步骤与解决方案azd up失败提示“位置不支持”或“配额不足”1. 所选区域未开通Azure OpenAI服务。2. 订阅的Azure OpenAI服务配额如TPM已用尽。1. 检查 Azure OpenAI服务区域可用性 换一个区域如westus重试。部署时可设置环境变量AZURE_OPENAI_RESOURCE_GROUP_LOCATION指定不同区域。2. 在Azure门户中找到你的OpenAI资源在“配额与限制”中申请提高配额。本地运行npm start时API启动失败1. Azure Functions Core Tools未正确安装或版本不匹配。2. 端口冲突。1. 尝试全局安装或更新npm install -g azure-functions-core-tools4。2. 检查7071端口是否被占用可在packages/api/local.settings.json中修改host:port配置。前端能打开但发送消息后报错“Network Error”或“CORS error”1. 后端API服务未启动。2. 本地开发时前端代理配置错误。1. 确认npm start后两个终端日志都正常API的http://localhost:7071可以访问。2. 检查packages/webapp/vite.config.ts中的proxy配置确保其指向正确的API地址和端口。文档上传成功但聊天时返回“未找到相关上下文”1. 向量化或存储过程出错数据库为空。2. 检索相似度阈值设置过高。1. 检查Cosmos DB中对应的容器是否有数据。检查上传Function的日志是否有错误。2. 在chat.ts中调整检索器的k返回数量和scoreThreshold相似度阈值参数。5.2 性能与成本优化建议向量索引策略在Cosmos DB中合理配置向量索引的kind如vector-ivf和metric如cosine对查询性能和精度有巨大影响。项目模板提供了默认配置但对于超大规模数据集百万级以上可能需要咨询Azure文档进行调优。Function配置Azure Functions有内存和超时设置。对于文档上传这种耗时操作可能需要增加超时时间在function.json中配置functionTimeout和内存大小在主机配置中避免执行中途失败。冷启动问题无服务器Function在闲置后首次调用会有“冷启动”延迟。对于聊天这种需要快速响应的场景可以考虑设置Always Ready Instances预览功能让一个实例始终保持温暖。使用Durable Functions模式但会增加复杂度。定期发送一个“ping”请求来保持实例活跃仅适用于测试环境。成本监控Azure OpenAI主要成本来自令牌使用量输入输出。在chat.ts中可以记录每次请求的令牌数便于分析和优化提示词减少不必要的上下文。Cosmos DB成本取决于请求单位RU/s和存储量。监控容器的吞吐量使用情况如果长期利用率很低可以适当调低预配的RU/s。Static Web Apps在标准托管计划下有免费的月度额度对于中小型应用通常足够。5.3 安全加固要点项目模板提供了基础的安全配置但在企业级应用中你还需要考虑身份认证与授权当前前端是公开访问的。你需要集成Azure Static Web Apps的 内置身份验证 或使用Azure AD B2C等为聊天应用添加登录层。然后在Functions中验证传入请求的JWT令牌。密钥管理所有API密钥、连接字符串都通过Azure Key Vault管理而不是直接写在代码或环境变量文件中。azd模板可以轻松集成Key Vault。网络隔离将Functions、Cosmos DB等资源放入虚拟网络VNet并通过Private Endpoint提供私有访问杜绝公网暴露。Static Web Apps也可以通过VNet集成访问后端私有服务。数据加密确保Cosmos DB和Blob Storage都启用了“基础结构加密”和“使用客户管理的密钥CMK”进行加密以满足更高的合规要求。这个项目模板就像一辆组装精良、油箱加满的赛车。它为你扫平了从零搭建AI应用在基础设施、框架集成和基础流程上的所有障碍。你的任务就是坐进驾驶舱根据自己的目的地业务需求调整方向盘提示词、更换引擎模型和喷涂车身UI然后踩下油门驶向属于你的AI应用未来。无论是快速验证一个内部知识库助手还是构建一个面向客户的智能客服它都是一个坚实可靠的起点。

相关文章:

基于LangChain.js与Azure构建企业级RAG聊天应用实战指南

1. 项目概述:构建一个基于LangChain.js的RAG聊天应用 如果你正在寻找一个能快速上手的、企业级的AI聊天应用模板,这个项目绝对值得你花时间研究。它不是一个简单的“Hello World”示例,而是一个完整的、生产就绪的解决方案,展示了…...

长期项目使用Taotoken按Token计费带来的成本可控性体验

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 长期项目使用Taotoken按Token计费带来的成本可控性体验 在中长期AI应用项目的开发与维护过程中,成本管理是一个贯穿始终…...

CANN/shmem Root Info工具指南

Root Info Generate 工具 - 用户指南 【免费下载链接】shmem CANN SHMEM 是面向昇腾平台的多机多卡内存通信库,基于OpenSHMEM 标准协议,实现跨设备的高效内存访问与数据同步。 项目地址: https://gitcode.com/cann/shmem 概述 root_info_generat…...

OpenClaw-Lightcone插件:为AI智能体赋予云端计算机操作能力

1. 项目概述:当AI智能体获得“云端之手” 如果你正在探索AI智能体(Agent)的边界,尤其是如何让它们像真人一样操作电脑、浏览网页、处理数据,那么你很可能已经遇到了一个核心瓶颈: 环境依赖 。传统的浏览…...

【收藏备用】2026年版|普通人程序员如何快速切入AI行业?破除焦虑,找对落地路径

这篇文章想聊清楚一个所有小白和程序员都关心的现实问题:在AI热潮席卷各行各业的2026年,普通人到底该怎么切入AI行业、学好大模型? 如果你最近也在焦虑、在内耗,看着每天冒出的AI新工具、新概念,不知道该学什么、不知道…...

动态域名解析工具diny:基于Cloudflare API的轻量级DDNS解决方案

1. 项目概述:一个轻量级、可定制的动态域名解析工具最近在折腾个人服务器和家庭网络服务时,我又一次被动态公网IP的问题给绊住了。相信很多自己搭网站、建NAS或者跑一些自研服务的朋友都深有体会:运营商给的公网IP说变就变,一旦IP…...

如何搭建个人游戏云:Sunshine串流服务器完全指南

如何搭建个人游戏云:Sunshine串流服务器完全指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款开源的自托管游戏串流服务器,专为Moonlight…...

35岁转行AI,社恐杨老师教你如何在大模型时代找到自己的坐标(收藏版)

本文分享了AI开发者“社恐杨老师”的真实故事,他35岁从化学工程转向AI领域,通过自学补齐机器学习底层数学,并成功将AI技术落地企业真实场景。文章核心内容包括:从AI 1.0到AI 2.0,技术会变但“寻找有效需求”是长期不变…...

CANN/asc-tools msobjdump工具

msobjdump 【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools 概述 本工具主要针对生成的算子ELF文件(Executable and Linkable Format)提供解析和解…...

完全掌握Blender插件:5大实战技巧高效处理虚幻引擎PSK/PSA格式

完全掌握Blender插件:5大实战技巧高效处理虚幻引擎PSK/PSA格式 【免费下载链接】io_scene_psk_psa A Blender extension for importing and exporting Unreal PSK and PSA files 项目地址: https://gitcode.com/gh_mirrors/io/io_scene_psk_psa io_scene_psk…...

EFGP查提交申请记录

select serialNumber,processInstanceName, subject, (case when currentState1 then 進行中 when currentState3 then 已結案 when currentState4 then 已撤銷 when currentState0 then 未開始 else 已暫停 end) from ProcessInstance(nolock) where left(serialNumber,4)L…...

CANN竞赛Add算子测试设计

决赛题目:Add 算子测试用例设计 【免费下载链接】cann-competitions 本仓库用于 CANN 开源社区各类竞赛、开源课题、社区任务等课题发布、开发者作品提交和展示。 项目地址: https://gitcode.com/cann/cann-competitions 任务说明 本题目要求参赛者为 CANN …...

Java基础十六:枚举,包,反射

一、枚举(Enum) 1. 什么是枚举 枚举是一种特殊的类,用于定义一组固定的常量。 2. 基本用法 // 最简单的枚举 public enum Season {SPRING, SUMMER, AUTUMN, WINTER }// 使用枚举 public class TestEnum {public static void main(String[…...

如何彻底解决显卡驱动冲突问题:Display Driver Uninstaller深度解析与实战指南

如何彻底解决显卡驱动冲突问题:Display Driver Uninstaller深度解析与实战指南 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/displ…...

论文阅读:MMA: Multi-Modal Adapter for Vision-Language Models

MMA:视觉语言模型的多模态适配器,主要用于改善文本与视觉分支表示之间的对齐,先分析 CLIP 不同层特征的“判别性 / 泛化性”,再只在高层插入一个带共享投影层的多模态适配器,让视觉和文本分支在学习任务特异知识的同时…...

华为CANN/ops-math反射填充3D梯度算子

ReflectionPad3dGrad 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DTAtlas A3 训练系列产品/Atlas A3 推…...

OnmyojiAutoScript:阴阳师手游智能自动化脚本终极指南

OnmyojiAutoScript:阴阳师手游智能自动化脚本终极指南 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师手游的日常任务繁重,从御魂副本到百鬼夜行&a…...

从入门到精通:彻底讲懂Agent的Skill,不做“炫技式浪费”

写在前面 现在做Agent,有一个非常典型的误区: 👉 Skill越多 Agent越强 于是开始疯狂堆Skill、堆工具、堆能力。 结果是什么? • Token飞速消耗• 调用混乱• 成本暴涨• 但任务反而做不好 本质上,这不是“在做A…...

Ceph 对象存储深度解析系列 第二部分:RGW 数据路径、分片和自动化

新钛云服已累计为您分享896篇技术干货简介在本深度解析的第一部分中,我们剖析了 Ceph RGW 内部的高性能请求路径。我们涵盖了其无状态前端、基础 RADOS 存储池以及关键的桶索引,揭示了动态分片如何使单个桶内的对象列表实现几乎无限的可扩展性。我们确立…...

Godot引擎集成本地大语言模型:从原理到实战的完整指南

1. 项目概述:在Godot引擎中集成本地大语言模型 如果你是一名游戏开发者,最近肯定没少听说AI在游戏开发中的应用。从自动生成对话到设计游戏机制,大语言模型(LLM)展现出的潜力让人兴奋。但一提到实际集成,很…...

联邦学习与Transformer融合:在CV与入侵检测中的隐私保护分布式智能实践

1. 项目概述与核心价值最近几年,我一直在关注一个技术交叉点:如何让模型在“看不见”彼此数据的情况下,还能协同进化,变得更聪明。这听起来有点像天方夜谭,但在数据隐私法规日益收紧、数据孤岛问题愈发严重的今天&…...

CANN/metadef Add函数API文档

Add 【免费下载链接】metadef Ascend Metadata Definition 项目地址: https://gitcode.com/cann/metadef 函数功能 新增一个ContinuousVector元素&#xff0c;其中新增ContinuousVector元素的容量为inner_vector_capacity。 函数原型 template<typename T> Con…...

【路径规划】基于启发式搜索与增量启发式搜索方法MRPP或MAPF的多机器人路径规划算法附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。&#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室&#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1f3…...

Parquet文件原理与实战:列式存储如何提升查询性能和压缩效率

1. 什么是Parquet文件&#xff1f;一个数据工程师每天都在用、却很少被真正讲透的底层逻辑Parquet不是一种“新潮技术”&#xff0c;它更像是一把被磨得锃亮的瑞士军刀——没有炫目的UI&#xff0c;不靠营销话术&#xff0c;但只要你在处理超过百万行的数据、写过哪怕一条SELEC…...

VLA-0视觉语言动作模型:零修改部署与多模态AI实践

1. 项目概述VLA-0是一种突破性的视觉语言动作模型&#xff0c;它最大的特点在于实现了"开箱即用"的零修改部署能力。作为一名长期关注多模态AI发展的从业者&#xff0c;我首次接触到这个模型时就被它的设计理念所震撼——传统视觉语言模型往往需要针对特定任务进行繁…...

CANN/ops-math矩阵乘法压缩反量化算子

aclnnMatmulCompressDequant 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math &#x1f4c4; 查看源码 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DTAt…...

CANN KV压缩Epilog算子

custom-npu_kv_compress_epilog 【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法&#xff0c;提供基于CANN平台的优化样例 项目地址: https://gitcode.com/cann/cann-recipes-infer 产品支持情况 产品是否支持Ascend 950…...

SQL PIVOT原理与实战:从行转列到高性能宽表生成

1. 项目概述&#xff1a;从“行变列”开始&#xff0c;真正搞懂SQL PIVOT不是语法糖&#xff0c;而是数据思维的分水岭你有没有遇到过这样的报表需求&#xff1a;销售表里每条记录是一笔订单&#xff08;客户名、产品名、金额、日期&#xff09;&#xff0c;但老板要的却是“每…...

CANN/asc-tools msopgen算子模板样例

【免费下载链接】asc-tools Ascend C Tools仓是CANN基于Ascend C编程语言推出的配套调试工具仓。 项目地址: https://gitcode.com/cann/asc-tools msopgen使用新自定义算子工程模板样例 概述 本样例介绍msopgen工具按照新算子工程模板生成新自定义算子工程。以AddCust…...

2025最权威的降重复率神器实际效果

Ai论文网站排名&#xff08;开题报告、文献综述、降aigc率、降重综合对比&#xff09; TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 对于AI生成内容容易被检测出来的这个问题&#xff0c;现如今已经存在专门用来降低文本AI率的…...