- 博客(516)
- 收藏
- 关注
原创 uniapp 的api 原理
uni-app 的 API 原理就是通过统一的 API 层、平台适配层、插件系统和响应式数据绑定机制,将开发者的代码与不同平台的底层技术无缝连接,实现“一次开发、多端运行”。通过封装不同平台的原生 API,uni-app 使得跨平台开发变得更加简便,同时保持各个平台的原生性能和体验。
2025-05-05 13:37:05
762
原创 uniapp + vue3自动导包插件
安装插件。配置或文件来自动导入需要的模块。启动开发服务器,自动导入功能即可生效。通过以上步骤,你就可以在uni-app项目中方便地使用插件来自动导入常用模块和 API,提高开发效率。作为一个社区插件在 Vue 项目中有广泛的应用,特别是结合 Vite 使用时。然而,它并不是 Vue 官方的标准做法或推荐工具,而是一个有效的开发工具,能够提升开发效率。如果你的项目对自动导入需求较高,并且使用的是 Vue 3 或 Vite,那么使用这个插件是完全可以的,但它并不是官方的推荐方案。
2025-05-05 13:23:06
743
原创 LlamaIndex ReActAgent 中 tool 和 tool_retriever 联系和区别
"""自定义混合检索器,可以结合向量检索和关键词检索"""self,mode: str = "AND" # 可以设置为 "AND" 或 "OR") -> None:raise ValueError("无效的模式,必须是 AND 或 OR")"""根据查询检索节点"""# 获取两种检索器的结果# 获取节点ID# 合并结果# 根据模式选择结果# 两种检索器都检索到的节点else: # OR模式# 任一检索器检索到的节点创建基础索引和检索器。
2025-05-04 20:00:59
628
原创 browse-use AI 代理与浏览器交互的工作原理
总结来说,Browser-use 项目中的 AI 代理通过一个结构化的交互循环与浏览器交互,使用 LLM 的智能来理解页面内容并决定下一步操作,同时通过 Playwright 执行实际的浏览器操作。这种设计使 AI 能够像人类一样使用浏览器,完成各种复杂的网络任务。
2025-05-03 17:17:56
911
原创 MCP 协议 简单理解 与Python 简单实战
MCP 可以简单理解为一种工具调用协议,用于客户端与服务器之间的通信。当MCP客户端与MCP服务器建立连接后,客户端可以获取服务器端所有可用的工具信息。假设存在 AI,AI 就可以根据工具信息,生成对应的参数并进行调用。
2025-05-02 12:27:46
189
原创 信息爆炸的时代,如何高效管理自己收集到的信息
Flomo更适合随时记录灵感和碎片化信息;Obsidian适合建立深度的知识网络,进行复杂的思考和分析;Notion是一款多功能平台,适合进行个人知识管理、任务管理以及团队协作。结合这三款工具,能够帮助你高效地管理信息、整理知识和提升工作效率。
2025-05-01 18:21:12
1014
原创 BERT + BiLSTM-CRF 处理流程
BERT是一个基于 Transformer 的预训练语言模型。与传统的语言模型不同,BERT 是双向的,即它同时利用上下文信息进行词表示学习。BERT 在大规模语料库上进行预训练,可以捕捉到深层次的语言知识和上下文关系,生成非常丰富的词向量表示。在序列标注任务中,BERT 被用作输入文本的编码器,将每个词映射为上下文相关的词嵌入(embeddings)。
2025-05-01 16:39:51
1102
原创 医学实体识别(NER)训练流程/医学关系识别(RE)训练流程
这一流程支持从非结构化或半结构化数据中提取结构化知识,最终构建成可查询、可推理的知识图谱系统。
2025-05-01 16:22:22
957
原创 Vibe编码: 将LLM视为“博学多才的智者“而非“需要指导的孩子
这种方法不仅能获得更高质量、更全面的输出,还能激发LLM提供你可能没有想到的见解和方案。当然,在某些高度结构化或技术性任务中,更具体的指导仍然有其价值,关键是根据任务性质找到适当的平衡点。完全没有指导的提示可能导致输出太过宽泛,而过度微管理则会限制LLM的潜力。理想的方式是提供足够的方向和约束,同时留出足够的创造和推理空间。在第二种方式中,LLM不仅会完成可视化任务,还会主动提供数据解读、趋势分析、增长机会识别等更全面的输出。- 当给予更广阔的思考空间时,LLM往往能提出人类可能忽略的角度。
2025-04-30 09:03:37
375
原创 史上最轻松的讲解 Multi-Agnet 系统的提示词书写思路
在多Agent系统中,提示词(Prompt)扮演着至关重要的角色。它不仅仅是启动系统操作的触发器,更是系统与用户、不同Agent之间沟通的桥梁。一个设计得当的提示词,能够显著提高系统的效率与准确性,确保多Agent协作顺畅进行。然而,许多开发者往往忽视了提示词的设计,更多关注系统功能和理论课程,导致实际效果不尽如人意。那么,如何才能写出一个优秀的多Agent系统提示词呢?本文将从实践角度出发,探讨一些实用的写作技巧,帮助开发者更好地优化提示词设计,提升多Agent系统的表现。
2025-04-29 11:26:52
241
原创 关于 LangGraph 中的 Command 类型
直接返回目标节点名称:适用于简单的控制流场景,代码简洁。使用Command:适用于需要更新状态或实现复杂控制流的场景。
2025-04-28 07:45:28
558
原创 人工智能在教育领域的应用与挑战:机遇与责任的平衡之道
人工智能与教育的融合正站在历史性拐点。正如教育家杜威所言:"如果我们用昨天的教育教今天的学生,就是在剥夺他们的明天。"在AI时代,这一警示更具现实意义。技术的终极价值不在于替代人类,而在于释放教育者的人性潜能,使每个学习者都能获得真正适合自己的发展路径。面对这一挑战,需要建立包含技术开发者、教育工作者、政策制定者、伦理学者和家长在内的全社会响应机制。只有坚持"技术向善"的初心,人工智能才能真正成为推动教育进步的历史性力量,实现"因材施教"的千年教育理想。
2025-04-27 13:09:32
999
原创 LangGraph 中多个 Agent 如何使用统一模型, 但绑定不同的工具
bind_tools高效复用语言模型资源动态组合工具集实现细粒度的权限控制支持复杂的多阶段处理流程适应不同的运行环境通过合理运用这些模式,我们可以构建出更加模块化、可维护和可扩展的 AI 应用系统。
2025-04-27 10:36:28
243
原创 Langgraph ToolNode 的原理 及综合实战
LangGraph ToolNode 是一个预构建的组件,用于在 LangGraph 状态图中执行工具调用。
2025-04-27 09:38:46
643
原创 Canvas元素渲染以及爬虫应对策略
canvas>元素为前端开发提供了一个灵活的方式来在网页上绘制各种图形,特别适用于需要动态更新内容、进行像素级别操作的场景。通过 JavaScript 对canvas元素的操作,可以实现丰富的图形效果。
2025-04-26 20:03:53
1047
原创 人类`逃避`行为 与`逃避式努力`探讨 !
从动物的本能反应到人类的复杂行为,逃避行为反映了生命对威胁的基本应对方式。尽管逃避在短期内可能有其价值,但人类的进步往往来源于直面挑战的勇气。理解自己的逃避模式可以帮助我们更有意识地选择何时逃避、何时面对,从而达到更健康的心理状态和更充实的生活体验。在这个日益复杂的世界里,区分何时需要暂时撤退以保存实力,何时需要直面挑战以追求成长,将是个人发展的关键课题。
2025-04-26 11:52:11
572
原创 LangGraph中的线程模型与状态管理
在构建现代AI应用,特别是持久化会话和长期运行工作流时,状态管理是一个核心挑战。LangGraph通过其独特的线程模型解决了这一问题,使开发者能够优雅地处理复杂工作流的状态持久化和恢复。本文将深入探讨LangGraph中的线程模型,尤其聚焦于thread_id在调用中的关键作用。
2025-04-26 11:21:32
630
原创 LangGraph StateGraph 编译后对象: CompiledStateGraph状态管理
TypedDictPydantic模型Dataclassinput: str# 这个注释告诉系统添加新项而不是替换。
2025-04-26 10:34:46
983
原创 LangSmith常见概念以及协作流程
由 LangChain 团队开发的平台,用于构建、调试、测试和监控基于 LLM 的应用程序。:记录 LLM 应用程序执行过程的数据流,包括所有组件的输入、输出和中间步骤。运行通过唯一的跟踪 ID 绑定到跟踪。:单个操作的执行记录,如单次 LLM 调用或链的执行。每个 Run 包含输入、输出、开始/结束时间、状态等信息。:组织 Runs 的工作空间或容器,用于分组相关的执行记录。:用于评估和测试的输入/输出对集合,可用于模型性能评估和回归测试。:对 Run 结果的人工评估,可用于监控质量和训练评估模型。
2025-04-25 16:46:38
405
原创 langchain_deepseek 进行LangSmith 评估
{"role": "system", "content": "请准确回答以下问题"},定义模型调用函数,接收问题输入,返回答案。请评估模型的回答是否正确。问题:请评估模型的回答是否正确。问题: {inputs [ 'question' ] } 模型回答: {outputs [ 'answer' ] } 参考答案: {reference_outputs [ 'answer' ] } 请分析模型回答与参考答案的准确性,并提供1-10分的评分,10分表示完全正确。
2025-04-25 16:09:57
436
原创 langchain_deepseek: LangSmith 可观察性配置
官网: https://docs.smith.langchain.com/observability。
2025-04-25 15:56:26
144
原创 LangSmith 扫盲
LangSmith 是 LangChain 团队开发的一个开发平台,专为 LLM(大型语言模型)应用的开发、测试和监控而设计。它提供了一套完整的工具,帮助开发者在开发生命周期的各个阶段优化他们的 LLM 应用。
2025-04-25 15:05:36
287
原创 Playwright 如何使用本地浏览器?
CDP 协议是现代浏览器调试和自动化工具的基础,它为开发者提供了强大而灵活的接口,可以在浏览器中执行多种操作。通过利用 CDP,可以轻松实现页面的自动化控制、性能分析、调试和监控等任务。
2025-04-24 20:07:39
728
原创 Playwright Accessible Name 定位
Accessible Name 是指为了让辅助技术(如屏幕阅读器)能够识别页面元素而指定的名称。<label>标签:与表单元素关联的标签文本aria-label属性:直接在元素上定义的标签属性:引用其他元素ID,使用那些元素的文本作为标签属性:输入框的占位符文本title属性:元素的标题属性alt属性:图像的替代文本Playwright 的 Accessible Name 定位是一种强大的定位方式,它不仅提高了测试脚本的可读性和稳定性,还有助于验证应用程序的可访问性。通过合理使用和。
2025-04-24 19:44:48
685
原创 Playwright的role定位
role 定位器是基于 Web 可访问性标准中的 ARIA 角色来识别元素的一种方法。它通过元素的语义角色而非 CSS 选择器或 XPath 来定位元素,提供了更稳定且易于维护的自动化脚本。Playwright 的 role 定位器提供了一种更加稳定、语义化且符合可访问性标准的元素定位方式。通过使用 role 定位器,你可以创建出更加健壮、易于维护的自动化测试脚本,同时也鼓励开发团队构建更符合可访问性标准的Web应用。
2025-04-24 19:39:22
573
原创 LangGraph 节点返回State , 数据自动拼接原理
定义状态合并函数# 定义状态类型messages: Annotated[List[BaseMessage], add_messages] # 使用注解指定合并策略# 节点函数定义"""分类用户请求的类型"""# 提示模板用于分类任务("system", "你是一个任务分类器。根据用户的请求,确定它是哪种类型的任务。\n输出格式必须是JSON,包含字段'task_type',值为'search'(搜索类)、'calculation'(计算类)或'general'(一般问答)。"),
2025-04-24 10:08:29
862
原创 带你精通: langgraph.pregel.io.AddableValuesDict
它的核心优势在于能够简洁地处理各种数据类型的累加操作,使得在复杂的图算法实现中代码更加简洁明了。是LangGraph库中一个专用于处理可加值的字典类型,它简化了图计算过程中的状态管理和消息聚合操作,特别适合在基于Pregel模型的分布式图计算中使用。是 LangGraph 库中 Pregel I/O 模块的一个组件,它是一种特殊的字典类型,设计用于在图计算模型中处理可加值。在这个例子中,键"b"在两个字典中都存在,所以其值被相加得到5,而键"a"和"c"只在一个字典中存在,所以它们的值保持不变。
2025-04-24 09:55:07
253
原创 揭秘网络迷宫:Playwright追踪功能让Python爬虫如虎添翼
调试测试失败的原因分析性能问题查看页面如何随时间变化检查网络流量保持追踪文件小巧:限制追踪时间和内容,避免产生过大的文件聚焦关键问题:针对特定问题定制追踪参数结合自动化分析:编写脚本自动分析追踪文件中的关键信息与调试工具结合:追踪结果与Python调试输出相结合进行分析版本对比:保存不同版本的追踪结果,对比行为变化通过有效利用Playwright的追踪功能,你可以更深入地理解网站行为,开发更加健壮和高效的爬虫。
2025-04-23 20:17:49
860
原创 如何利用 Playwright 的 codegen 工具高效构建自动化爬虫脚本
Playwright 的codegen工具是一个非常方便的自动化脚本生成工具,可以帮助你快速录制操作并生成对应的代码。这对于自动化测试、网页操作自动化等应用场景都非常有用。Playwright 的codegen工具帮助开发者通过录制浏览器操作自动生成自动化脚本,极大地减少了手动编写测试脚本的工作量。它通过实时显示代码、支持多浏览器和交互、导出脚本等功能,使得自动化测试变得更加方便和高效。Playwright 的codegen工具为爬虫工程师提供了一个便捷的自动化脚本录制工具,可以快速生成抓取脚本。
2025-04-23 20:06:54
789
原创 玩转 Playwright:高效定位 HTML 元素与爬取亚马逊热门商品
Playwright 是一个非常强大的工具,可以帮助你抓取动态网站的数据。爬取过程中的一些关键技巧包括:等待页面加载或元素加载完成使用模拟用户操作(如点击、滚动)来触发内容加载提取页面中需要的数据处理分页数据使用代理和反封锁技术来避免被屏蔽通过这些技巧,可以高效地完成数据爬取任务。
2025-04-23 19:40:26
1568
原创 ASP网站
ASP(Active Server Pages)是一个由微软开发的动态网页技术,主要用于创建动态和交互性强的网页。它通常与服务器端编程语言(如VBScript、JScript)一起使用。ASP网站的基本工作原理是,通过ASP脚本与数据库或其他资源交互,从而动态生成网页内容。:ASP页面通常以.asp扩展名保存。这些文件包含HTML代码以及服务器端脚本(如VBScript或JScript),可以生成动态内容。:ASP脚本常常用来从数据库中提取数据并将其动态展示在网页上。
2025-04-23 17:44:17
692
原创 破解网络爬虫防护:如何利用 fake_useragent 实现隐蔽爬取
通过以下方式帮助开发者在网络爬取中避免被识别为爬虫:它提供了大量真实的 User-Agent 字符串,模拟不同类型的浏览器。随机选择 User-Agent,降低被网站封锁的概率。使得请求更加多样化,从而减少了重复模式的出现。因此,是一种简便且有效的方式,用来提高网络爬虫的隐蔽性。通过结合的最佳实践,你可以提高爬虫程序的稳定性和隐蔽性,避免被网站检测到。以下是最佳实践的关键点:每次请求使用不同的 User-Agent。定期更新 User-Agent 列表。结合代理使用以降低封锁风险。
2025-04-23 16:38:56
1008
原创 LangChain/LangGraph BaseChatOpenAI bind_tools指南
bind_tools是 LangChain 中与类相关的一个重要方法,用于将工具绑定到语言模型上。我来详细介绍一下这个方法的用法和功能。bind_tools。
2025-04-22 16:36:18
421
原创 LangChain BaseChatOpenAI指南
在 LangChain 框架中,是与 OpenAI 聊天模型交互的基础类,它是ChatOpenAI类的父类。这个类提供了多种实用函数,用于处理与 OpenAI 聊天模型(如 GPT-3.5-Turbo、GPT-4)的通信。
2025-04-22 16:34:56
993
原创 释放 Beautiful Soup 的力量:网页抓取的终极指南
这些常见的操作帮助开发者灵活地提取和清理网页中的信息。通过 Beautiful Soup,爬虫开发者可以轻松实现网页解析和数据提取,使得抓取和处理 HTML 数据变得高效而方便。确定目标:了解需要抓取哪些数据以及网页结构。发送请求:使用requests获取网页内容。解析网页:使用对 HTML 内容进行解析。提取数据:通过各种方法(如find()find_all()select())提取数据。清洗数据:清理提取的数据,去除不需要的字符或标签。存储数据:将清洗后的数据存储到文件或数据库。分页抓取。
2025-04-22 07:42:33
1157
原创 网络爬虫与法律合规:规则、风险与案例分析
腾讯公司发现,上海某科技公司未经许可使用爬虫技术大量抓取腾讯新闻平台的商业、财经数据,并展示在其平台上,导致腾讯平台流量和广告收益受损。近年来,中国网络爬虫的滥用已成为法律关注的焦点,尤其在不正当竞争领域。:微博公司发现,某智联公司未经授权,使用技术手段爬取微博平台上的明星动态数据,并展示在其 App 中。:某信息服务公司未经许可使用爬虫抓取微信公众号文章,并在其平台使用,导致流量和广告收益损失。:法院认为,微博公司对其平台数据拥有合法权益,某智联公司行为构成不正当竞争。
2025-04-21 19:57:30
1105
原创 FastAPI为什么快 -- Python 面试
FastAPI 建立在 Starlette 框架之上,完全支持异步编程。这意味着当一个请求在等待 I/O 操作(如数据库查询或网络请求)时,服务器可以处理其他请求,而不是被阻塞。:FastAPI 使用 Pydantic 进行数据验证和序列化,它采用了基于 Python 类型注解的方式,不仅代码简洁,而且验证速度非常快。Pydantic 在底层使用了 Rust 编写的ujson库来提高 JSON 解析性能。
2025-04-21 18:28:55
1162
原创 Python 和 FastAPI 项目中的常见多线程应用
在 Python 与 FastAPI 项目中,多线程是提高性能和响应能力的重要工具。以下是一些常见的多线程应用场景和实现方式:在 FastAPI 中使用多线程FastAPI 本身基于异步架构 (使用 Starlette 和 Uvicorn),通常不需要显式创建线程。但在某些场景下,仍然需要多线程处理:2. 使用线程池处理并行任务3. 定期任务调度器多线程使用注意事项GIL 限制:Python 的全局解释器锁使得多线程在 CPU 密集型任务上无法实现真正的并行线程安全:共享资源需要使用锁或
2025-04-21 18:20:28
656
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人