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

搜索自动化智能体建设的运行

本文内容仅供校术原理讲解,严禁用于未经投权的商业抓取。 手动筛选海量就业信息、反复修改自己的就业搜索要求、追踪进度等烦琐任务让大家应接不暇,同时还容易遗漏优质机会。如果我们能够构建一个智能体来自动化这个过程,将会怎样?本文将从需求分析到系统实现,从功能验证到效果评估,探索智能体应用开发的完整过程。 这里将介绍一种强大的解决方案:利用人工智能和浏览器自动化技术,大幅简化你的搜索就业信息流程。我们将深入探讨一个基于browser-use库构建的Python脚本,打造一个可自动搜索、分析、记录就业信息并辅助上传简历的智能体。这个智能体能够根据你的指令浏览网站、提取关键信息,甚至与网页元素进行交互,而这一切都由大语言模型驱动。主要目标如下:自动化搜索和筛选数据分析相关职位。智能提取职位信息和技术要求。自动上传简历并填写申请表单。生成技术栈思维导图和求职分析报告。提高求职效率,减少重复性工作。 技术框架 browser-use是本项目的核心组件,它是一个专为智能体浏览器交互而设计的Python库。根据其GitHub页面的介绍,该库通过集成大语言模型来实现智能化的网页操作。其核心特性如下。智能网页理解:基于视觉和文本双重分析,准确理解网页结构和内容语义。自然语言交互:支持使用自然语言指令直接控制浏览器操作,降低使用门槛。多模态感知:融合视觉信息和文本内容,实现更准确的页面元素识别和操作决策。动态适应性:具备处理不同网站布局和交互模式的能力,适应性强。智能容错:内置异常处理和重试机制,提高任务执行的稳定性和成功率。 除了核心的browser-use库,该智能体还集成了以下主要组件。 LangChain:大语言模型集成框架,负责对话管理和任务编排。 Google Gemini API:提供强大的自然语言理解和成能力。 PyPDF2:PDF文档处理库,用于解析简历文件内容。 Pydantic:数据验证和序列化框架,确保数据类型安全。 Playwright:底层浏览器控制引擎,提供跨平台浏览器操作。 #组合所有指令 #注意:原始脚本中的memory、action和reflection 是变量名 #这里改为更具描述性的名称 ground_task =( ground_task + memory_instructions + account_profile + action_instructions + reflection_instructions ) #大语言模型配置:支持多种大语言模型API #可使用 ChatOpenAI, ChatAnthropic, ChatGoogleGenerativeAI等 #(脚本中已包含 Gemini 和OpenAI via GitHub的配置) _token_b64 ="[API_TOKEN_BASE64]" token =base64.b64decode(_token_b64).decode ("utf-8") #使用Gemini Pro model ChatGoogleGenerativeAI( model="gemini-2.5-flash" api_kev=SecretStr(token) ) planner_LLM =ChatGoogleGenerativeAI( model="gemini-2.5-pro", api_key=SecretStr(token)) #或者使用OpenAI via GitHub #token_openai_github ="[GITHUB_PAT_TOKEN]" #替换为你的 GitHub PAT #model =ChatOpenAI( # base_url="https://*****/inference", # model="openai/gpt-4o", # api_key=SecretStr(token_openai_github), #) #planner_LLM = ChatOpenAI( # base_url="https://******/inference", # model="openai/gpt-4o", # api_key=SecretStr(token_openai_github), # ) message_context =( f"任务执行上下文信息:\n" f"1.总体目标:分析10000个数据分析相关的职位描述\n" f"2.当前进度:已完成{total_applications}个职位的分析\n" f"3.剩余任务:还需分析{10000-total applications}个职位\n" f"4.完成度:{(total_applications/10000)*100:.lf}%\n" f"5.重点关注:杭州香港地区金融行业的合规、KYC、客服相关职位\n" f"6.技术栈重点:数据分析、AI/ML、合规技术等相关技能\n" f"7.输出要求:结构化数据收集,为创建思维导图做准备\n" ) while True: logger.info("开始运行数据分析助手...") browser =Browser( config=BrowserConfig( browser_binary_path=( "/Applications/Google Chrome.app/Contents/MacoS/GoogleChrome" ), disable_security=True, headless=False, ) ) async with await browser.new_context () as context: try: agent Agent( task=ground_task, message_contextmessage_context, LLM=model, planner_LLM=planner_LLM, use_vision_for_planner=True, planner_interval=4, controller=controller, max_failures=3, use_vision=True, browser_context=context, save_conversation_path="logs/find_apply_jobs", ) agent.state =AgentState() history =await agent.run() if history: logger.info(f"访问的URL数量:{len(history.urls())}") #其他日志 new_total_applications =total_applications if os.path.exists (APPLICATION_STATS_FILE): try: with open( APPLICATION_STATS_FILE, "r", encoding="utf-8") as f: stats =json.load(f) new_total_applications =stats.get( "total_applications", 0 ) except Exception as e: logger.error(f"读取“申请/分析”统计文件时出错:{e}") new_applications =( new_total_applications - total_applications ) logger.info( f"本次运行新增了{new_applications}个职位分析," f"当前总计:{new_total_applications}/10000" ) await asyncio.sleep(1) logger.info("\n等待1秒后继续下一轮......") except Exception as e: logger.error(f"agent 运行失败,全部重置:{str(e)}") await asyncio.sleep(1) continue await browser.close() if__name__ = "__main__": asyncio. run(main())
此部分详细描述了如何构建和组合给大语言模型的指令,以及智能体的初始化和主循环。 运行演示脚本与成果展示 确保满足这些前提条件:仔细检查Python 版本、已安装的库、Playwright浏览器驱动程序、简历文件和应用程序接口密钥。 1.配置大语言模型 在脚本中,确保所需的大语言模型配置已激活,并且应用程序接口密钥已正确设置。 2.验证浏览器路径 验证 BrowserConfig 中的 browser_binary_path 指向本地的Chrome安装位置。 3.运行脚本 python your_script_name.py 一个浏览器窗口被打开(因为headless=False),你将看到智能体开始浏览网站、输入搜索查询,并根据提供的详尽提示提取就业信息。监控控制台输出和job_search.log 文件以了解进度和任何错误。 4.运行结果与成果展示预期 运行脚本后,你可以期待以下成果。 自动生成的职位信息CSV文件,包含职位名称、公司、薪资等详细信息。 结构化的技术元数据,可用于生成思维导图。 详细的日志文件,记录整个搜索和分析过程。 统计报告,显示已分析的职位数量和进度。 可视化的浏览器操作过程,便于调试和优化。
http://www.jsqmd.com/news/1370273/

相关文章:

  • 上海黄浦区瓷砖空鼓维修上门团队推荐_2026上海长江口避坑全集与价格_全屋卫生间厨房阳台客厅墙砖地砖 - 雨婺虹修缮
  • C语言文件操作全解析:从流与缓冲区到安全编程实践
  • TuxGuitar Android版:免费专业的移动吉他谱编辑器终极指南
  • 如何在5分钟内用YOLOv8 AI自瞄助手打造你的FPS游戏智能瞄准系统
  • SpringBoot+Vue双创竞赛管理平台开发实践
  • Windows+VS2019配置MS-MPI全攻略:从零搭建并行计算开发环境
  • 筛选潍坊性价比高的单人轨道滑草批发商,文旅项目优选建大游乐设备(潍坊服务中心) - 热点品牌推荐
  • 【Python经济量化】手写投入产出模型:用列昂惕夫逆矩阵推演产业链“断链”风险
  • 重庆优选一体乳胶垫批发商参考重庆市伊莎妮娅床垫有限公司(重庆营销部) - 热点品牌推荐
  • 分布式系统核心原理与实践指南
  • SpringBoot+Vue毕业生就业管理系统开发实践
  • RAGFlow知识库构建实战:从文档解析、向量化到入库的完整流程与避坑指南
  • GEO一句话顶一万句?怎么降低获客成本?试试让AI主动推荐你 - AZJ888
  • 量化交易框架VeighNa安装指南:从Python环境配置到实战部署
  • Agent 安全事件成为本周核心风险信号,从三起越界评测到 Hugging Face 入侵
  • 推客系统选型指南:六大核心维度与实战策略
  • Unity GPU加速Boids算法:万级群体智能模拟与性能优化实战
  • STM32智能书桌
  • Python heapq模块详解:最小堆原理、实现与应用场景
  • 江苏贴标机生产厂家哪家可靠?找源头更省心——苏州缔尔智能包装(江苏营销部) - 热点品牌推荐
  • 《重启日记》第二十周|低产出常态,在忙碌里守住双重节律
  • Windows 11 LTSC微软商店完整安装指南:3步恢复完整应用生态
  • 短文本兴趣解析实战:从语义向量化到标签映射的完整方案
  • 谷歌给娃发“数字零花钱“了!不用开银行账户,家长手机就能管
  • Claude Code上下文拼接机制解析:从API调用看AI编码助手的高效协作
  • Godot 4通用约束求解器:从WFC算法到程序化内容生成的架构设计
  • 【Java核心高阶进阶】20-OOM与内存泄漏排查
  • 洛谷P1219、P1784、P11229三题的题解
  • 任世豪《狂徒》正式开播,周炎上演边境绝境逆袭棋局
  • Vulhub靶场(Shiro-550反序列化 RCE(CVE-2016-4437))从入门到入土