- 博客(106)
- 资源 (1)
- 收藏
- 关注
原创 使用peewee报错: (2006, ‘Server has gone away‘)
摘要:MySQL连接因长时间空闲被服务器关闭,导致Peewee客户端报错。解决方案包括:调整MySQL的wait_timeout参数延长空闲连接时限;设置connect_timeout让连接失败时重试;启用autocommit自动提交事务;或使用PooledMySQLDatabase实现连接池管理,设置max_connections和stale_timeout控制连接复用。这些方法均可有效避免因连接超时导致的查询失败问题。(150字)
2025-06-12 10:47:33
110
原创 Python @dataclass 装饰器详解
Python 的 @dataclass 装饰器(Python 3.7+)用于简化纯数据类的定义,自动生成 __init__、__repr__ 等方法,减少样板代码。通过类型注解定义字段,支持默认值、排序、不可变(frozen=True)等特性。适用于数据容器(如配置、记录类)、不可变对象等场景,显著提升代码简洁性和可维护性。核心机制是利用 __annotations__ 识别字段,动态生成方法,并支持继承与扩展(如 __post_init__ 钩子)。相比手动定义类,@dataclass 更高效且类型友好。
2025-06-10 11:05:17
805
原创 召回增强RAPTOR策略
摘要:论文提出了一种新型检索增强语言模型RAPTOR,通过递归聚类和摘要构建多层级树状索引结构。该方法首先将文档分割为文本块并进行嵌入聚类,然后逐层生成摘要形成树状层次,底层保留细节信息,高层提供抽象概述。实验表明,RAPTOR在复杂推理任务中表现优异,如在QuALITY基准测试中结合GPT-4将准确率提升20%。相比传统检索方法仅获取短文本片段,RAPTOR能够整合文档不同层级的语义信息,显著提升对长文档的理解能力。未来研究将聚焦计算效率优化和多模态扩展等方向。
2025-05-28 20:41:00
968
原创 docker容器间服务访问的问题
本文介绍了在本地Docker环境中部署MySQL数据库的过程,包括使用docker-compose启动服务、用VS Code插件连接数据库的方法。重点解决了当项目打包成Docker镜像后,容器间访问MySQL服务的问题。针对macOS系统,推荐使用Docker提供的host.docker.internal特殊主机名访问宿主机服务;对于Linux系统,则需通过添加运行参数或修改compose文件手动映射。文中提供了具体的配置示例和验证方法,帮助开发者在容器化环境下实现服务间的网络通信,同时避免因重建容器导致数
2025-05-28 19:54:20
1115
原创 常见提示词攻击方法和防御手段——提示词越狱
提示词越狱(Prompt Jailbreaking)是一种针对大型语言模型(LLM)的攻击手段,通过精心设计的输入提示绕过模型的安全审查和伦理限制,使其生成被禁止的内容。其核心机制是利用模型对输入提示的依赖性,通过语义操纵、逻辑混淆或情境伪装等方式突破内容审查、信息泄露和伦理约束。常见的越狱类型包括伪装与情境构建、逻辑拆分与混淆、权限提权与对抗性攻击以及自动化攻击。典型案例有“奶奶漏洞”和DAN模式。防御措施包括输入过滤、语义增强、输出监控和对抗训练,但仍面临泛化性不足和对抗性攻击适应性差的挑战。提示词越狱
2025-05-19 20:41:07
992
原创 Python 中的 typing.ClassVar 详解
ClassVar 是 Python 中 typing 模块提供的一种类型注解工具,用于标记类变量(静态变量),帮助静态类型检查器区分类属性和实例属性。它不会改变运行时行为,仅用于类型提示。ClassVar 的主要用途包括共享配置、常量、dataclass 中排除实例字段等。与 @classmethod 和 @staticmethod 不同,ClassVar 关注的是数据级别的静态标记。常见误用包括在实例上赋值、省略类型参数、与 Final 一起使用等。正确使用 ClassVar 可以提高代码的可读性和类型安
2025-05-16 17:59:18
930
原创 分步启动容器操作指南
本文介绍了如何通过 Docker 和 Docker Compose 部署一个 Python 项目。首先,确认项目结构,确保包含 Dockerfile、compose.yml、app.py 等必要文件。接着,使用 docker build 命令构建 Docker 镜像,并通过 docker-compose 启动容器。启动后,使用 docker ps 验证容器状态。若启动失败,可修改 compose.yml 文件,将启动命令改为 sleep infinity,然后进入容器手动排查问题。最后,通过 docker-
2025-05-13 17:51:36
180
原创 常见提示词攻击方法和防御手段——提示词泄露
攻击者通过精心设计的输入诱导模型泄露其内部预设的提示词或敏感信息。这类攻击本质上是利用模型对自然语言指令的服从性,突破安全限制,暴露开发者设定的核心指令或用户隐私数据。通过攻击手段拿到你的智能体的提示词,拿到你的一些数据,拿到你的系统的内容,系统的功能、信息、解释等等。宏观上来它也是提示词注入的这样的一种形式。试图通过操纵模型的输出,让他给到我们部分或者全部的系统提示词,应用提示词的这样的一种行为。
2025-05-12 20:31:55
517
原创 常见的提示词攻击方法 和防御手段——提示词注入(Prompt Injection)攻击解析
提示词注入暴露了LLM在安全设计上的根本矛盾:模型的开放性(遵循指令)与安全性(限制滥用)之间的平衡。防御需结合技术改进(如安全前端设计)、模型训练优化(对抗学习)和用户教育(警惕可疑输入)。随着AI应用的普及,这类攻击可能成为未来网络安全的主战场之一。
2025-05-08 14:09:14
926
原创 大模型提示词常用范式
在人工智能的魔法世界中,是人与机器对话的“咒语”——它决定了你是召唤出一只温顺的精灵,还是一头失控的巨龙。大模型(如GPT-4、Claude等)虽拥有海量知识,却像一位沉默的智者,等待你抛出精准的提问。❌“写一篇关于环保的文章”→ 可能得到一篇泛泛而谈的科普文。✅“以科幻小说的形式,描述一个因过度碳排放而濒临崩溃的未来城市,主角是一名试图用AI拯救世界的工程师”→ 激发创意、结构清晰的独特故事。
2025-05-08 13:44:01
1153
原创 RAGFlow使用过程中遇到的问题: exesql组件结果格式修改
可以看到 执行SQL的时候, 将输出markdown的参数中传入了 format 的参数, 并且将int类型识别为了flow类型, 所以造成这种问题。exesql组件执行结果一般为表格, 默认是markdown格式的表格,但在实践过程中,发现展示时是有问题的:整型数值以浮点型格式进行展示。另外,我们的业务中,在展示浮点型数值时仅需要保留小数点后四位, 这就需要修改exesql组件的结果返回格式。简单的修改, 只需要将整型字段转换为 字符串类型。进行修改, 修改好后, 没问题了。
2025-05-07 13:50:13
268
原创 Python环境管理工具对比
工具选择需根据项目需求、团队习惯和生态兼容性综合考量。:简单项目、快速原型开发或需要标准化依赖管理的场景。:大型项目或需要打包发布的 Python 库开发。:数据科学、机器学习或需要跨语言依赖管理的项目。:复杂生产环境部署或需要完全复现开发环境的场景。:需要同时处理多个 Python 版本的项目。:需要严格依赖管理和多环境支持的项目。:追求高效开发体验的个人或团队项目。值得关注,但成熟工具(如。
2025-05-06 10:12:46
839
原创 Linux 部署以paddle Serving 的方式部署 PaddleOCR CPU版本
强烈建议您在Docker内构建Paddle Serving,更多镜像请查看Docker镜像列表。:Paddle Serving项目仅支持,接下来所有的与Python/Pip相关的操作都需要选择正确的Python版本。:以下示例中GPU环境均为cuda11.2-cudnn8,如果您使用Python Pipeline来部署,并需要Nvidia TensorRT来优化预测性能,请参考以下说明来选择其他版本。
2025-04-30 17:48:53
1732
5
原创 chroma写入docs报错
] which is a list in upsert.\n\nTry filtering complex metadata from the document using langchain_community.vectorstores.utils.filter_complex_metadata.\n’这里使用filter_complex_metadata 对 docs当中的 复杂格式的Metadata字段进行了过滤来解决这个问题。
2024-12-25 11:32:12
515
翻译 HNSW 索引简介及Chroma索引配置
为了减少计算向量的数量,Db 像 ChromaDB 一样引入了索引的概念。索引是一个概念,它通过引入一个向量/嵌入来加快计算速度,该向量/嵌入将表示一组类似的向量嵌入。此索引的重要性在于,它在单个嵌入向量之上创建一个附加层,其中每个索引映射到一组相似的向量。这个概念的优点是,每当使用用户输入查询嵌入从 ChromaDB 中检索类似的答案时,它不需要与每个向量进行比较,而是首先尝试找到查询和索引之间的距离。确定合适和相似的索引后,仅将查询嵌入与所选索引相关的向量嵌入进行比较,该向量嵌入与查询的相似度最高。
2024-12-19 16:05:54
430
翻译 向量数据库对比:Faiss vs Chroma vs Milvus
向量数据库是一种专门的存储系统,旨在有效地处理和查询高维向量数据,通常用于快速检索和相似性搜索。简而言之,我们使用它们来查找不一定是“精确”而是“相似”的数据,这使得它们对于处理大量文档、图像和音频文件的用户非常有用。如今,它们在 RAG(检索增强生成)等 AI 驱动的应用程序中越来越受欢迎。由于 AI 的速度仍然相对较慢,矢量数据库可以充当前线,检索相关数据以供 AI 稍后处理。那么,我们实际上在其中存储了什么呢?原始数据?不完全是。我们存储从原始数据中嵌入的向量。
2024-12-19 15:27:49
718
原创 python 应用开发配置管理工具包—— ultra-simple-config
今天推荐一个配置管理工具包ultra_simple_config, 它并不是一个广为人知的Python库,它可能是一个自定义的库或者是一个较小的项目,因此关于它的信息可能不如其他流行的库那样容易找到。但是,根据其名称,我们可以推测它是一个用于简化配置管理的Python库。由于ultra_simple_config不是一个标准库或者广泛使用的第三方库,以下内容是基于其名称和一般此类库的功能来推测的。ultra_simple_config 可能是一个用于加载和解析配置设置的Python库。
2024-12-11 11:39:42
335
原创 python 应用开发日志工具包—— loguru
Loguru是一个Python库,旨在让日志记录变得愉快。你是否曾因为懒得配置日志记录器而直接使用print()?… 我有过,然而日志记录对于每个应用程序都是基本的,它简化了调试过程。使用Loguru,你没有理由不从一开始就使用日志记录,这就像导入from loguru import logger一样简单。此外,这个库旨在通过添加一系列有用的功能来解决标准日志记录器的缺陷,从而减轻Python日志记录的痛苦。在你的应用程序中使用日志应该是自动的,Loguru试图使其既愉快又强大。
2024-12-11 11:28:26
399
原创 本机开代理后访问不到ollama模型服务问题解决
解决此问题是通过参考这篇文章:https://ihave.news/post/20241113195747.html。问题已经解决, 我的理解如有不对,还请指正!
2024-12-05 18:21:34
1521
4
原创 AI Agent工作流程:关于是使用 LangGraph 还是 LangChain 进行构建的完整指南
你可以不使用 LangGraph,不使用 LangChain,或者同时使用两者!通过将 AutoGen 代理设为图中自己的节点,也完全可以探索将 LangGraph 基于图的编排与其他 Agentic AI 框架(如 MSFT 的 AutoGen)结合使用。可以肯定地说,有很多选择——而且可能会让人感到不知所措。那么,经过所有这些研究,我应该什么时候使用呢?
2024-12-04 19:54:06
936
原创 AI Agent框架如何选择?LangGraph vs CrewAI vs OpenAI Swarm
由 LLMs经历了起起落落。从 2023 年 AutoGPT 和 BabyAGI 的病毒式演示到今天更精致的框架,AI Agent的概念——LLMs自主执行端到端任务的 LLM——既引起了人们的想象力,也引起了怀疑。为什么重新引起人们的兴趣?LLMs 在过去 9 个月中进行了重大升级:更长的上下文窗口、结构化的输出、更好的推理和简单的工具集成。这些进步使构建可靠的AI Agent应用程序比以往任何时候都更加可行。
2024-12-04 18:23:14
1661
原创 常用Agent框架对比: LangGraph Vs Autogen Vs Crew AI
AI 中的agent是一种应用程序,它使用 LLMs 自主执行特定任务。这些任务的范围从回答研究问题到调用后端服务。agent在需要开放式答案的场景中特别有用,他们可以提供非常有效的解决方案。客户支持agent能够解决客户查询、提供信息和自主解决问题。而代码生成agent可以生成、调试和运行代码片段,帮助开发人员自动执行重复性任务。自动化 AI 驱动的开发Autogen 和 Crew AI 因其对话方法和简单性而具有优势。
2024-12-04 16:51:16
3114
原创 交叉熵损失函数中为什么核心是使用对数函数计算惩罚
惩罚错误预测的严重性:对数函数对预测概率小的类别给予更大惩罚,有助于提升模型对正确类别的信心。与最大似然估计的关系:交叉熵损失可以看作是最大化对数似然的负值,符合概率模型的优化目标。提高数值稳定性:对数能够平滑极小的概率值,避免计算过程中的数值不稳定。梯度计算的简化:对数函数具有良好的导数性质,能有效支持反向传播和梯度下降的计算。适应概率分布的结构:交叉熵损失能够度量真实概率分布和预测概率分布之间的差异,符合概率论中的基本原理。
2024-11-29 10:25:32
835
原创 fasttext文本分类实战
让我们通过一个简单的练习来说明这一点,给出以下 bigrams,尝试重构原始句子:‘all out’, ‘I am’, ‘of bubblegum’, ‘out of’ 和 ‘am all’。在本教程中,我们感兴趣的是构建一个分类器,自动识别关于烹饪的Stackexchange问题的主题。当我们想要将一个文档分配给多个标签时,我们仍然可以使用softmax损失,并调整预测参数,即要预测的标签数量和预测概率的阈值。预测的五个标签中,有一个是正确的,即equipment,这给出了0.20的精确度。
2024-11-20 16:23:20
1191
翻译 Llamaindex指南,用于构建LLM应用程序(译)
这使得您的LLM能够提供高效的答案,构建更强大的应用程序,并真正发挥其全部潜力,让您专注于有趣的部分——创造一些了不起的东西!**数据检索和索引:**LlamaIndex提供了连接器,可以无缝地从各种来源检索您的数据,包括数据库(SQL)、文档(PDFs)、API等。它提供了强大的工具来存储和索引数据,使其适用于不同的用例,如文档问答、数据增强的聊天机器人和知识代理。聊天存储(对于聊天应用程序是可选的):如果您正在构建一个聊天应用程序,LlamaIndex提供专用的聊天消息存储,保持您的对话井然有序。
2024-11-18 16:02:40
284
原创 llamaIndex和langchain对比及优劣对比
虽然LlamaIndex在搜索和检索方面表现出色,并且对于需要快速准确数据访问的应用程序非常有用,但LangChain提供了一套全面的工具集和多功能性,非常适合开发复杂的AI驱动的工作流程和解决方案。在比较LlamaIndex和LangChain的实际部署时,重要的是要记住,每个工具都有其独特的优势,适用于现实世界的不同应用。通过利用大型语言模型(LLMs)的力量,LlamaIndex可以处理和理解复杂的查询,为用户提供精确且在情境中适当的输出,所需时间只是传统方法的一小部分。
2024-11-11 17:24:56
3300
4
原创 一个使用大模型进行分类的提示词示例
下面是一个基本的例子,如果没有达到要求,可以增加一些正例或者负例 ,或者在任务要求中更加详细的描述每个类别的特点。使用大模型进行分类的话,基本上只调整提示词就可以让准确率提升到90%以上。另外可以对badcase进行分析,以调整提示词。
2024-10-18 17:01:14
686
原创 RAG学习及相关技术
增强检索生成(RAG)是一种使用后处理的架构解决方案,目的就是为了解决LLM遇到的问题。如果用户想LLM提出问题,LLM能够直接给出准确以及有依据的回答,让用户可以100%相信它的回答的话,完全不需要RAG这种后处理的解决方案。
2024-09-30 14:58:48
1488
2
原创 qlora原理
我们提出了QLORA,这是一种高效的微调方法,它减少了足够的内存使用,可以在单个48GB GPU上微调一个650亿参数的模型,同时保留了完整的16位微调任务性能。QLORA通过一个冻结的、4位量化的预训练语言模型向后传播梯度到低秩适配器(LoRA)。我们最好的模型系列,我们称之为Guanaco,在Vicuna基准测试中超过了所有以前公开发布的模型,达到了ChatGPT 99.3%的性能水平,而仅在单个GPU上微调了24小时。QLORA引入了一系列创新,以节省内存而不牺牲性能:(a)
2024-09-29 15:40:21
1043
原创 大模型文本分类任务——提示词优化建议
在自然语言处理(NLP)领域,大型模型已展现出卓越的性能,涵盖了包括判别式任务和生成式任务在内的多种传统NLP任务。尽管基础NLP大模型的表现已相当出色,但在特定工业领域或场景中,对准确率的要求可能更为严苛。当然,如果上述建议仍未能满足要求,我们可以在后期对错误案例进行单独分析,或者切换至符合条件的其他大型模型。这两种方案适用于不同的场景:当场景对准确率的要求极高,且领域知识包含大量专业术语时,进行模型微调是必要的;二、明确指令要求,不仅要清晰地表述期望大模型执行的任务,还需指示其判断和思考的过程及依据。
2024-09-18 15:57:34
1091
原创 windows上进行git初始化时报错:fatal: unknown write failure on standard output
命令时遇到 “unknown write failure on standard output” 错误,这通常指示在尝试创建新的 Git 仓库时,有一些底层的写入问题。这个工具的下载可能还有些不方便,可以到我的分享中下载,路径是:https://download.csdn.net/download/weixin_36893273/89381366。检查您的 Git 配置,特别是与编辑器或 diff 工具相关的配置。确保您的 Git 版本是最新的,或者至少是兼容的版本。如果是,您需要释放一些空间才能继续。
2024-05-31 15:47:56
3449
1
原创 python项目中的日志定义
以上方法,简单 的创建了一个获取logger的方法,更个性化或者更复杂的配置可以参考官方文档:https://docs.python.org/zh-cn/3/library/logging.html。python日志定义,包含配置文件,和日志实例创建方法。一、日志创建方法,创建一个loger实例。
2024-05-31 14:17:41
305
1
原创 如何让大模型更聪明?
另一方面,这个架构对于硬件的依赖是很深的,可以看到,现在的大模型越来越依赖参数量的大小,从而对硬件的依赖也越来越深, 巨大的参数量代表着训练和推理对机器资源的要求更高,更大。比如 2010年以前大家更多的是使用机器学习算法, 它的优点是可解释性更强,但是机器学习算法对于CV和NLP的支持并不是很好,当时的NLP和CV领域大多数还是用的专家系统或者规则, 当时也有LSTM和CNN等深度学习模型,但是由于算力的局限性,造成了一直没有在工业界普遍的应用。那么,如何让大模型变得更聪明呢?
2024-05-27 19:48:31
373
原创 开源大模型与闭源大模型,你更看好哪一方?
开源:包括模型源码开源, 论文或者技术文章开源, 预训练的参数也开源,目前比较流行的大模型开源网站包括 huggingface,国内的魔搭社区等闭源:只提供api接口或者web访问服务,一般有公司运营优化。服务分为免费版和收费版。
2024-05-25 13:49:27
1761
1
原创 python项目中的配置文件定义
这种方法适用于小项目,方便高效,也是我常用的方式,使用方便,直接import就可以;但是缺点也很明显,不容易拓展。...
2024-05-22 19:52:23
837
原创 ElasticSearch的python api以及dev tool方式的基本操作
如果没有额外的安全验证,需要指定的内容包括:集群ip地址(list类型),端口号(每个节点的端口号可能不同,这里是字符串,代表所有节点的端口号是一样的),用户名,密码。如果你的Elasticsearch集群启用了安全性功能,你可能需要确保你的Kibana实例已经使用具有足够权限的用户进行了认证,以便能够执行删除索引的操作。es的查询方式很灵活,可以单独写一篇文章, 就先不列在这里面了,它可以模糊查询,可以计算文档距离,也可以精确查询,可以说非常丰富灵活。在你的Web浏览器中打开Kibana的Web界面。
2024-05-11 17:00:34
1311
5
原创 git更新代码的步骤
本文介绍了Git的基本操作流程,包括创建本地分支、同步远程分支、提交代码、推送分支、切换分支、合并分支、打包代码以及拉取远程新分支的方法。具体步骤包括:使用git checkout -b创建并切换到新分支,git pull同步远程代码,git add和git commit提交更改,git push推送本地分支到远程,git checkout切换分支,git merge合并分支,git archive打包代码,以及多种拉取远程分支的方式。此外,还提供了解决分支无跟踪信息问题的两种方法。这些操作涵盖了Git日常
2024-05-11 16:14:53
2953
原创 stable diffusion WebUi本地安装
Stable Diffusion是一种先进的文本到图像的生成模型,它可以根据给定的文本输入生成高度逼真的图像。Stable Diffusion模型因其高效性和灵活性,在AI图像生成领域引起了广泛关注,并在实际应用中展示了其强大的能力。随着技术的不断发展,Stable Diffusion预计将在更多领域发挥重要作用,推动机器学习和深度学习的进步。
2024-05-11 14:10:58
636
1
c++ primer 第六版pdf+代码实现
2024-06-03
远程ssh连接工具MobaXterm,完全免费,可以拖动传输文件,及教程汇总
2024-05-31
Visual Basic 语言学习资料
2024-05-29
利用python进行科学计算工具指南
2024-05-27
numpy-pandas-matplotlib使用指南,都是一些实例,且全部是jupyter文件,方便运行查看效果
2024-05-27
这个文档介绍了,如何在arm架构的系统机器上面安装python环境, 我们首先安装miniconda,方便管理python的多版
2024-05-25
fastgestures安装包,模拟mac的触控板收拾,两指代表右击, 三指拖拽
2024-05-21
chatgpt4的免费api,还支持以下模型:gpt-4-all,gpt-3.5-turbo,gpt-3.5-turbo-16k
2024-05-15
python少儿编程课程代码实现-地址:https://kidscancode.org/lessons/
2024-05-15
近期的一些agent大模型产品,包括官方服务的页面
2024-05-11
总结了一系列的agent大模型论文
2024-05-11
使用python语言编程, 使用matplotlib做可视化,將排序算法用图像的方式展现出来排序过程
2024-05-08
python语言学习-python编程100练,在代码中实际进行练习
2024-04-30
适合初学者学习的优秀项目:c/c++/python/java等等
2024-04-30
elasticsearch查询模版-模糊查询,多字段查询,相似度计算等
2024-04-29
神经网络与深度学习课件和pdf文件
2024-04-29
python世界银行公开数据下载爬虫
2024-04-29
设计模式python模版
2024-04-29
强化学习经典课程-斯坦福大学cs234课件
2024-04-28
斯坦福cs223-数据结构课件
2024-04-28
### SmolDocling:一种超紧凑的视觉语言模型,用于端到端多模态文档转换摘要 本文
2025-05-30
### Dolphin:字节跳动最新开源文档解析模型
2025-05-30
【自然语言处理】基于RAPTOR的递归抽象处理树状组织检索:提升长文档问答系统的准确性和效率
2025-05-15
医学领域结肠镜检查对肠道菌群影响及术后肠道环境恢复策略综述
2025-05-14
【人工智能领域】模型上下文协议(MCP)详解:面向大模型应用开发工程师的标准化集成方案模型上下文协议
2025-05-08
python【PDF 处理技术】PDFPlumber与PyMuPDF提取性能及功能对比分析:文本、表格和图像提取的最佳实践选择
2025-05-08
docker学习资料, docker-practice.pdf
2025-05-06
OpenAI开源34页Agents最佳实践白皮书
2025-04-18
OpenAI 智能体学习资源
2025-04-18
deepseek核心技术:moe(混合专家模型)相关论文
2025-02-10
deepseek最新学习文档-从入门到精通系列
2025-02-10
axiv论文OCR识别训练集
2025-01-13
俄罗斯方块-C语言实现
2025-01-13
图算法- 社区发现算法: Louvain和 leiden算法论文
2025-01-13
当前中文手写体识别任务准确前三开源模型-DTrOCR 原论文
2024-11-20
fastText是一个用于高效学习词表示和句子分类的库
2024-11-20
资源中主要包括一些开源的langchain和 llama index 框架的学习资料以及相关资源
2024-11-18
BGE系列模型原论文,rag中的rerank模型
2024-07-11
高效进行数据科学工作的python库和一些trick
2024-06-25
知识图谱发展史及关键技术
2024-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人