自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(490)
  • 收藏
  • 关注

原创 PyTorch中torch、torchvision、torchaudio、torchtext版本对应关系

torch与torchaudio对应关系,来源:官方Repo: audio | docs。torch与torchtext对应关系,来源:官方Repo: text。torch与torchdata对应关系,来源:官方Repo: data。

2025-06-11 15:43:02 279

原创 VGG:Very Deep Convolutional Networks for Large-Scale Image Recognition

in_channels = 3 # 初始输入通道数,RGB 3通道if v == ‘M’: # 最大池化层else: # 卷积层in_channels = v # 更新下一层卷积输入通道数return nn.Sequential(*layers) # * 为解包操作# 通过初始化参数features,可以传入不同VGG模型的特征提取部分definitinit()

2025-05-23 16:36:35 527

原创 CAMEL的特色功能——数据合成

在大模型时代,高质量数据正在成为越来越重要的一部分,然而通过人工的标注的方式获取数据的成本太高,并且真实世界的数据正迅速耗尽,于是就有了使用AI来合成数据的方法,下面我们来介绍如何使用CAMEL帮助我们合成SFT数据。CAMEL 和 Unsloth 是一对出色的搭档。在此章节中,我们将两者结合起来,以训练模型精通页面上的内容。您将学习如何使用 CAMEL 进行数据生成、如何训练以及如何运行模型。以下流程,笔者使用移动版Nvidia GTX4070显卡,显存为8GB。

2025-05-23 12:20:29 1081

原创 搭配前端食用

UI 在线交互模块是系统中与用户交互的关键部分,旨在通过直观的界面实现对生成行程内容的在线预览、编辑和反馈。用户可以在界面中直接查看生成的 PDF 文档,实时圈选、标注或输入修改意见,系统会根据用户提供的反馈动态调整行程内容。综合案例中为了尽可能让大家直观的感受到基于CAMEL框架的Agent产品开发的乐趣,我们还为大家准备了精美的前端,搭配之前的几个后端模块一起构成我们的NavigatorAI旅游出行规划助手应用。调整后的内容会立即在界面中重新渲染,用户无需等待即可看到更新后的 PDF 文档。

2025-05-23 12:15:16 662

原创 反馈优化模块

在反馈优化中,我们所有的操作都是基于PDF的,虽然存在中间过程,但是对于用户来说是无感知的。具体而言,对于一个PDF,我们会先识别出用户做过标记圈画的部分,然后将其所在的整页转化为image的形式作为输出源的一部分交给有多模态理解能力的。能够很好的理解用户的修改提示和意图,在HTML层面做出修正,重复之前的旅游信息检索和攻略生成模块,完成闭环,从而迭代式的优化旅游攻略,直到用户满意为止。

2025-05-23 12:06:52 179

原创 攻略生成模块

核心思路是通过前端传来的城市和出游天数信息,先在本地数据库中查找是否已存有相应的旅游数据(例如景点、美食等),如果没有就自动检索和生成对应的旅游信息并存储起来。随后,后端会使用 CAME 库与 Qwen2.5-72B-Instruct 模型,结合一段包含行程规划规则的系统消息,指导大模型生成完整的多日行程安排。我们在postman中使用Post请求发送一份数据来模拟前端的请求,从而得到后端返回的数据,即html_content,然后由save逻辑保存到本地的storage数据库中。

2025-05-23 12:03:17 500

原创 旅游信息检索

旅游信息检索是系统中实现数据获取和处理的关键环节,负责根据用户输入的目的地城市和出游天数,动态获取并生成高质量的旅游数据。模块的工作流程分为以下几个阶段:首先,对用户输入的信息进行标准化处理,将城市名称和时间信息改写为适合搜索引擎的查询模板(query)。随后,系统调用 Google Search API 进行景点和美食信息的文本检索,包括景点描述、距离、推荐美食等详细内容;同时,为了补充图片资源,模块还调用 DuckDuckGo 搜索引擎,专注于获取高质量的景点和美食图片链接。在数据检索完成后,模块进一步

2025-05-23 11:53:47 607

原创 用户意图识别模块

的核心功能会让我们在信息表述不全的情况下自主的分析问题并引导提示我们补充行程天数,有的小伙伴可能会觉得,根本没必要这样做呀,直接在开始界面设置弹窗让用户输入城市和天数不就行了,其实这个方案我们也考虑过,这样确实更方便快捷,而我们在方案中特意添加了这个模块是为了考虑到后续可能有更多的交互空间的拓展,比如情感陪伴等。当然,适合自己的方案就是最好的!我们可以通过一个合适的system prompt来实现,为了后续在软件开发中的前后端分离的设计,我们还需要进一步通过flask将该模块封装成一个本地服务——

2025-05-23 11:41:38 256

原创 如何使用CAMEL框架来搭建一个简单实用的**旅游出行规划助手**

在这一节中,我们将展示如何使用CAMEL框架来搭建一个简单实用的。

2025-05-23 10:40:50 620

原创 Graph RAG应用实战

图数据库是 Graph RAG 的核心组件,用于存储和管理知识图谱。它能够高效处理复杂的关系查询,同时提供灵活的结构和强大的查询能力。特点:高效的关系查询:图数据库优化了实体与实体之间关系的查找和操作,性能优于传统关系型数据库。灵活的结构:支持动态添加节点(实体)和边(关系),能够应对多样化的数据变化。强大的查询语言:如 Neo4j 的 Cypher,方便用户编写复杂查询逻辑。常用图数据库:Neo4j:功能强大,易于使用的企业级图数据库。JanusGraph:分布式的开源图数据库,适合大规模图数据管理。

2025-05-23 10:06:09 1007

原创 RAG应用的评估

而且预期的结果和检索到的结果字数差距较大,导致两条结果的在基于TF-IDF的余弦相似度下相差较大。首先我们会发现在上面第三条检索的结果其实是涵盖了我们的预期结果的,但是由于我们使用的是基于TF-IDF的余弦相似度。之后,我们定义我们的评估指标,我们计算检索出的结果和我们预期结果之间的余弦相似度,并且认为超过一定范围时检索的结果是符合预期的。这里可以使用我们用LLM生成的一个示例md文档作为我们要检索的文档,使用本地的embedding模型和向量检索器。通过以上的步骤,我们可以完成一个简单检索模块的评估。

2025-05-23 10:00:22 697

原创 构建RAG应用

在实际的应用中,很多时候我们可能会发现,用户的提问是不一定准确的,比如存在错别字,语义顺序颠倒等情况,甚至有时候用户对于自己的Query究竟要如何表达也是模糊不清的,而阅读并实践了上一章节的读者可能会有一个直观的感受,就是Query不仅会作用在检索的部分,还会作用在最后生成回复的部分,简而言之,Query的质量可能会极大程度地影响整个RAG系统的表现和性能。到目前为止,整个RAG的流程还没结束,因为我们实际上目前为止只是把最相关的内容检索了出来,还差最后一步,结合大语言模型的生成。

2025-05-23 09:56:16 546

原创 搭建知识库

在具体研究和工程问题的选择中,其实没有一个明确的好坏评价标准,适合自己的数据处理场景才是最好的。一个常见的方法是构造自己应用场景的专有评测集,然后分别尝试,量化的方式来评估分数最后选择。当我们拿到一篇或多篇文章,它们的格式可能是pdf,txt,doc甚至是ppt,我们往往会对其进行数据的预处理,来帮助后续流程中更好地让大语言模型和embedding模型来发挥作用。:如OpenAI,Cohere,Mistral等的API服务,适用于项目或工程中需要方便直接的使用嵌入且不介意数据隐私的情况。

2025-05-23 09:48:28 415

原创 向量数据库介绍

向量数据库(Vector Database)是一种专门用于存储和检索高维向量数据的数据库系统。在现代人工智能和机器学习应用中,数据(如文本、图像、音频等)常被转换为高维向量,以捕捉其语义或特征。向量数据库通过高效的相似度搜索算法,能够快速检索与查询向量最相似的向量集合。主要功能:向量存储: 支持存储大量高维向量数据,通常还关联其他元数据。相似度搜索: 实现高效的近似最近邻(Approximate Nearest Neighbor,ANN)搜索,快速找到与查询向量最相似的向量。扩展性。

2025-05-23 09:45:31 425

原创 RAG的组件介绍(CAMEL)

RAG(检索增强生成)是一种通过结合外部资源来提高生成式AI模型准确性和可靠性的技术。它弥补了大型语言模型(LLM)在处理特定或最新信息时的不足,通过检索外部数据源来增强模型的回答能力。RAG技术不仅提供了可引用的信息来源,增强了用户信任,还能减少模型“幻觉”现象。其实现简单,开发者可以用少量代码快速集成,支持即时更换信息源,广泛应用于医疗、金融、客户服务等领域。CAMEL框架中的Loaders模块则负责数据加载和预处理,支持多种文件格式和非结构化数据的处理,为RAG提供了强大的数据支持。

2025-05-23 09:29:53 961

原创 创建Workforce

这篇文章介绍了如何使用Camel框架的Workforce功能创建和管理多智能体协作系统。主要内容包括: 创建Workforce实例的基本方法,通过定义工作组描述和配置模型参数来初始化工作组。 定义不同类型的worker智能体,如旅游信息搜索助手、旅行规划师和旅行评价者,每个智能体都有特定的角色和职责。 将定义好的worker添加到Workforce中,并强调了工作描述在任务分配中的重要性。 创建任务对象并启动Workforce处理流程,展示了如何通过多智能体协作完成具体任务。 扩展示例展示了如何利用Work

2025-05-21 14:51:34 1154

原创 创建你的第一个Agent Society(CAMEL )

的方式,让智能体扮演特定的角色,并拥有相应角色的专业知识背景。在多智能体系统接收到人类用户的初步想法和角色分配后,任务指定智能体将提供详细的描述,使想法更加具体化。然后,AI助理和AI用户将通过多轮对话合作完成指定的任务,直到AI用户确定任务完成为止。另一方面,AI助理则需要遵循AI用户的指示,做出回答并提供具体的解决方案。”>>>"设计一台利用量子纠缠和虫洞效应的时间机器,制定详细的时间旅行计划,包括安全返回机制,以确保能回到特定历史时刻并实施微小但关键的改变,从而影响未来。

2025-05-21 14:35:01 922

原创 CAMEL框架简介 (Communicative Agents for “Mind“ Exploration of Large Language Models)

定义:多智能体(Multiple Agent)由多个相互作用的智能体组成,每个智能体都有自己的目标和策略。这些智能体可以相互通信、协作或竞争,以实现更复杂的行为和决策。应用:多智能体系统广泛应用于复杂的任务中,如交通管理、分布式机器人系统、经济市场模拟、多玩家游戏等。特点协作:智能体之间可以协作,共同解决问题。竞争:智能体之间也可以存在竞争关系,如在拍卖或游戏场景中。自主性:每个智能体都有自己的决策过程,保持一定程度的自主性。复杂性。

2025-05-21 14:26:38 948

原创 工具(Tools)是大语言模型(LLM)与外部世界交互的桥梁

首先,定义您的函数并使用。

2025-05-21 13:52:34 808

原创 Memory模块是agent的一个关键组件

在Agent系统中,Memory模块是一个关键的组件,其主要功能是存储和检索信息,以支持agent的学习和决策过程。该模块模拟人类记忆的某些特征,能够动态地保存和更新信息,使agent能够利用过去的经验进行推理和决策。为什么要有Memory模块?试想一下,当你和agent交互时,如果agent没有记忆,那就没法进行多轮对话了。你每次提问都相当于重新开始一个对话,对话就不具备连续性。信息储存:能够高效存储多种形式的数据,包括事实、事件、规则和上下文信息,以便在需要时快速访问。信息检索。

2025-05-21 12:19:18 1190

原创 提示词工程(Prompt Engineering)是智能Agent交互中不可或缺的一环

提示词工程(Prompt Engineering)是通过设计有效的提示词来引导大语言模型(LLM)生成预期结果的技术。提示词是用户给AI的初始文本输入,用于引导AI完成特定任务。提示词工程的重要性在于它能够帮助用户更准确地控制AI的输出,类似于清晰表达需求以获得更准确的回应。编写提示词时,应明确表达需求、提出任务、描述细节,并逐步增加细节和明确性,以确保LLM生成符合预期的结果。通过逐步增加细节和明确性,可以构建有效的提示,使LLM能够生成符合预期的结果。此外,约定输出格式也是确保结果易于提取和理解的关键。

2025-05-21 12:08:09 1304

原创 什么是 Agent 的 Message

什么是 Agent 的 Message?当你和朋友聊天、在网上搜索信息或是对手机语音助手说“帮我查一下天气”时,其实你都在向某个“代理者(Agent)”发送一条“信息(Message)”。这里的“代理者”既可以是一个人,也可以是一个能执行指令的智能程序或系统,而“信息”则是你传递的指令、问题或数据。在日常生活中,这种信息交互常常不易察觉,但在计算机科学、人工智能和自动化任务中,“Agent的Message”是一个至关重要的基础概念。简单来说,

2025-05-21 11:53:54 1001

原创 Model 是 Agent 的大脑(以camel为例)

Model 是 Agent 的大脑,负责处理所有输入和输出数据。通过有效调用不同的模型,智能体可以根据任务需求执行文本分析、图像识别和复杂推理等操作。CAMEL 提供了一系列标准和可定制的接口,并与各种组件无缝集成,以赋能大语言模型(LLM)驱动的应用程序开发。在本部分,我们将介绍 CAMEL 目前支持的模型、工作原理及与模型交互的方式。

2025-05-21 11:40:56 747

原创 Agent设计原则与方法

智能体(Agent)的设计需遵循目标导向性和模块化原则,确保其行为始终服务于预定目标,并通过独立模块提升系统的可维护性和灵活性。智能体通常由感知、决策和执行三个核心模块构成,形成一个持续工作的循环。设计过程应采用迭代开发方法,先实现基本功能,再通过测试和反馈逐步完善系统,同时收集性能数据以优化设计。遵循这些原则和方法,可以构建出高效、可扩展且适应未来需求的智能体系统。

2025-05-21 11:34:16 376

原创 智能体agent概述

由Anyscale开发的分布式计算框架,Ray的Agent系统是一个完整的分布式AI框架,它整合了强化学习、模型服务和分布式训练等多个关键组件。该框架的核心功能包括专门执行特定任务的AI单元、允许智能体之间无缝转换任务的交接机制、定义标准化工作流程的例程系统,以及实现智能体与外部系统交互的函数调用能力。CAMEL框架旨在设计实用的通用人工智能,作为最早的基于大型语言模型的多Agent框架,现在是一个通用框架,用于构建和使用基于大型语言模型的Agent来解决现实世界的任务。

2025-05-20 14:04:42 983

原创 读论文alexnet:ImageNet Classification with Deep Convolutional Neural Networks

https://zhuanlan.zhihu.com/p/136943298851, 公式卷积层输出尺寸: o = ⌊(i + 2p - k) / s⌋ + 1式中,i:输入尺寸;o:输出尺寸;p:padding;k: kernel_size;s: stride。⌊…⌋表示向下取整。2, 推导过程这个公式不用死记,下面我用非常便于理解的方法描述这个推导。卷积就是对相邻的一片数据进行加权求和得到一个数的一种“合并”操作,将此操作对输入张量进行滑动扫描以得到输出张量。循着这个过程,我们很容易推导出卷积输出尺

2025-05-16 17:32:24 705

原创 RAGFlow 中的 Rerank 和 Recall 解释

输入 = “中国的首都是哪里?[SEP] 北京是中国的首都。北京是一个历史悠久的城市。上下文 = “北京是中国的首都。北京是一个历史悠久的城市。输入 = “<查询> [SEP] <上下文>”答案 = “中国的首都是北京。

2025-05-15 17:53:58 257

原创 深度解析LLM参数:Top-K、Top-p和温度如何影响输出随机性?

大语言模型(LLM)在生成文本时,通过控制推理参数来调节输出的随机性和确定性。常见的参数包括Top-K、Top-p和温度。Top-K和Top-p是采样策略,分别通过限制候选词的数量或累积概率来影响输出。Top-K选择概率最高的K个词,而Top-p选择累积概率达到p的最小词集。温度则通过调整Softmax函数的输出,影响概率分布的形状。高温使概率分布更均匀,增加输出的随机性和创造性;低温则放大高概率词的优势,使输出更确定和常规。这些参数共同作用于LLM的输出概率分布,帮助模型在不同场景下生成符合需求的文本。

2025-05-12 16:03:43 765

原创 多智能体学习CAMEL-调用api

在ModelScope中的中选择推理 API-Inference ,里面的模型都可以选择,我们可以体验到最新的使用DeepSeek-R1数据蒸馏出的Llama-70B模型。

2025-05-08 15:01:53 264

原创 LangChain 核心模块:Data Conneciton - Vector Stores

存储和搜索非结构化数据最常见的方法之一是将其嵌入并存储生成的嵌入向量,然后在查询时将非结构化查询进行嵌入,并检索与嵌入查询“最相似”的嵌入向量。向量存储库负责为您存储已经过嵌入处理的数据并执行向量搜索。下面以Chroma为例展示功能和用法。

2025-04-30 11:45:52 264

原创 LangChain 核心模块:Data Conneciton - Document Loaders

BaseLoader类定义了如何从不同的数据源加载文档,并提供了一个可选的方法来分割加载的文档。使用这个类作为基础,开发者可以为特定的数据源创建自定义的加载器,并确保所有这些加载器都提供了加载数据的方法。load_and_split方法还提供了一个额外的功能,可以根据需要将加载的文档分割为更小的块。# 基础加载器类。"""基础加载器类定义。"""# 抽象方法,所有子类必须实现此方法。"""加载数据并将其转换为文档对象。"""# 该方法可以加载文档,并将其分割为更小的块。"""加载文档并分割成块。

2025-04-30 11:25:33 285

原创 LangChain 核心模块学习:Chains

template = “”"你是一位剧作家。根据戏剧的标题,你的任务是为该标题写一个简介。标题:{title}剧作家:以下是对上述戏剧的简介:“”"template = “”"你是《纽约时报》的戏剧评论家。根据剧情简介,你的工作是为该剧撰写一篇评论。剧情简介:{synopsis}以下是来自《纽约时报》戏剧评论家对上述剧目的评论:“”"template = “”"你是一位剧作家。根据戏剧的标题和设定的时代,你的任务是为该标题写一个简介。标题:{title}时代:{era}

2025-04-30 11:11:38 1037

原创 Linux部署ragflow,从安装docker开始~

配置国内镜像源,使用以下命令,会创建一个json配置文件,然后切换为英文输入法点击 i 就会进入编辑模式,此时将下方的json配置文件粘贴进去,然后依次点击 Esc -> : -> wq -> Enter 此时配置文件新增完成。切换为英文输入法点击 i 就会进入编辑模式,此时将下方的json配置文件粘贴进去,然后依次点击 Esc -> : -> wq -> Enter 此时配置文件新增完成;配置完毕,开始安装,还是在ragflow的docker目录下,以下指令开始一键部署。下载完成后使用以下命令解压。

2025-04-25 13:59:56 1137

原创 Chain Class 基类

template = “”"你是一位剧作家。根据戏剧的标题,你的任务是为该标题写一个简介。标题:{title}剧作家:以下是对上述戏剧的简介:“”"template = “”"你是《纽约时报》的戏剧评论家。根据剧情简介,你的工作是为该剧撰写一篇评论。剧情简介:{synopsis}以下是来自《纽约时报》戏剧评论家对上述剧目的评论:“”"template = “”"你是一位剧作家。根据戏剧的标题和设定的时代,你的任务是为该标题写一个简介。标题:{title}时代:{era}

2025-04-23 10:43:22 899

原创 MCP的原理

MCP (Model Context Protocol) 代表了 AI 与外部工具和数据交互的标准建立。MCP 是 Anthropic (Claude) 主导发布的一个开放的、通用的、有共识的协议标准。MCP 架构为什么需要 MCP 呢?举个例子,例如我们目前还不能同时通过某个 AI 应用来做到联网搜索、发送邮件、发布自己的博客等等,这些功能单个实现都不是很难,但是如果要全部集成到一个系统里面,就会变得遥不可及。

2025-04-22 17:57:11 798

原创 LangChain 核心模块学习:Chains

对于简单的大模型应用,单独使用语言模型(LLMs)是可以的。LLMsLangChain 为这种“链式”应用程序提供了Chain接口。LangChain 以通用方式定义了Chain,它是对组件进行调用序列的集合,其中可以包含其他链。

2025-04-22 17:35:44 715

原创 使用领域(私有)数据微调 ChatGLM3 生成带有 epoch 和 timestamp 的模型文件

"input"以下是优化后的代码及详细说明,确保能够正确实现基于私有数据微调ChatGLM3模型,并生成带有和。

2025-04-22 16:40:38 352

原创 构造微调训练数据集

该方案通过结构化设计和多层验证机制,确保生成的训练数据在格式规范性、内容完整性和数据多样性方面达到较高标准,可为后续AI模型训练提供可靠的数据基础。

2025-04-21 17:36:35 854

原创 RAG 与 MCP解决大模型的局限性

模型上下文协议 (MCP) 使用不同的方法来扩展人工智能 (AI) 的能力。虽然 RAG 侧重于在生成之前进行检索,但 MCP 为大型语言模型 (LLM) 提供了一个标准化的接口,以便在生成过程中请求额外信息或执行操作,这里和RAG是区别性比较多的,MCP大致就是大模型变生成变调用外部能力。Claude和GPT-4o等大型语言模型 (LLM) 功能强大,但也面临两个主要限制:它们包含的知识是时效性的(更具体地说,是在训练时点固定的),并且决定它们一次可以处理多少信息的上下文窗口是有限的。

2025-04-21 16:07:19 532

原创 模型推理-使用 QLORA 微调后的 ChatGLM-6B

技术对模型进行微调后的适配,比较原始模型和微调后模型在相同问题上的表现。通过这种方式,可以验证微调的效果,并探索不同数据集或训练参数对模型性能的影响。这段代码的主要目的是加载一个预训练的。

2025-04-21 15:20:10 679

时间序列异常检测相关代码

时间序列异常检测代码

2024-10-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除