首页
学习
活动
专区
圈层
工具
发布

软件工程原则在多智能体系统中的应用:分层与解耦

为什么这是一个架构问题 LLM 调用工具其实是两件事:用简单参数(字符串、数字)调用一个函数,然后解释返回的字符串结果。 但实际干活的部分:搜索 YouTube、解析 HTML、处理错误要复杂得多。...它们是带配置的可复用类,返回丰富的领域对象(模型),可以从 CLI、测试、其他服务任何地方调用,可能维护状态或连接。...流程 LLM 决定获取字幕时的调用链: LLM decides to call "fetch_video_transcript" ↓ tools/youtube.py::fetch_video_transcript...在 DDD 里,防腐层保护领域模型不被外部系统的概念入侵。这里也一样——它隔离了 LLM 的接口需求,在"LLM 能推理的字符串"和"代码使用的丰富领域对象"之间做翻译。 调用流程严格向下。...限界上下文 在领域驱动设计中,限界上下文是一个术语具有一致含义的边界。"

11410

基于Python开发的YouTube关键词搜索采集GUI软件工具

该工具通过调用YouTube官方API接口,实现根据关键词采集搜索结果的功能,与传统网页爬虫不同,使用API的方式具备更高的稳定性。...二、技术实现详解2.1 API搜索接口调用搜索接口返回的JSON数据结构示例:图片具体实现步骤:1、定义请求地址:# 请求地址url = 'https://youtube.googleapis.com/...str(self.end_date) + 'T00:00:00Z', 'publishedAfter': str(self.start_date) + 'T00:00:00Z',}2.2 API详情接口调用详情接口返回的...配置API_KEY是调用YouTube官方接口的关键凭证,获取API_KEY及开通API的详细教程见:【图文教程】教你开通youtube data api v3 接口 获取后,需将其配置到config.json...:【工具演示】youtube搜索关键词采集软件四、结语软件首发众公号“老男孩的平凡之路”,同时,这款软件仅供个人学习和研究使用,禁止用于任何违法活动。

60410
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【GUI软件】调用YouTube的API接口,采集关键词搜索结果,并封装成界面工具!

    软件是通过调用YouTube的谷歌官方API实现,并非通过网页爬虫,所以稳定性较高!...开通YouTube的API:【详细教程】手把手教你开通YouTube官方API接口(youtube data api v3) 开发成界面软件的目的:方便不懂编程代码的小白用户使用,无需安装python,...二、代码讲解 2.1 调用API-搜索接口 先给大家看看搜索接口的返回json数据: 首先,定义接口地址作为请求地址: # 请求地址 url = 'https://youtube.googleapis.com...2.3 API_KEY说明 API_KEY是访问YouTube官方接口的密钥,只有拿到密钥,并配置到代码里,才能正常调用API接口。...API开通的教程:【详细教程】手把手教你开通YouTube官方API接口(youtube data api v3) 拿到密钥之后,配置到当前文件的config.json里面即可,如下: 另外,魔法是一切的前提

    1.2K10

    分析Youtube数据的文本分类技术

    这些类被选择为(但不限于): 旅游博客 科学和技术 餐饮 制造业 历史 艺术与音乐 收集数据 在处理诸如此类的自定义机器学习问题时,发现收集数据非常有用,如果不是简单的满足。...选择这样做的原因是需要收集数以千计的样本,这是用其他技术找不到的。 注意:Youtube API与Google提供的任何其他API一样,适用于配额系统。...根据您的计划,每封电子邮件每天/每月都会提供一套配额。在免费计划中,只能向Youtube提出大约2000次的请求,这提出了一些问题,但使用多个电子邮件帐户克服了它。...API的文档非常简单,在使用8个以上的电子邮件帐户来补偿所需的配额后,收集了以下数据并将其存储在.csv文件中。如果希望将此数据集用于自己的项目,可以在此处下载。...Python有一个名为BeautifulSoup的漂亮库,用于同样的目的。但发现在从Youtube搜索结果中抓取数据的情况下,它只返回一个搜索查询的25个结果。

    1.9K40

    Python爬虫实战:快手数据采集与舆情分析

    引言在短视频时代,快手作为国内领先的短视频平台之一,积累了海量的用户数据、视频内容和互动信息。这些数据对市场分析、用户行为研究、舆情监测等具有重要价值。...因此,我们可以:手动分析API接口(浏览器F12→Network→XHR)。使用Selenium模拟浏览器行为,获取渲染后的数据。...= response.json() # 假设返回的是JSON数据 videos = data.get("data", {}).get("videos", [])...2.3 使用Selenium抓取动态数据如果API难以直接调用,可采用Selenium模拟浏览器操作:from selenium import webdriverfrom selenium.webdriver.common.by...不抓取用户隐私数据(如手机号、身份证)。6. 结论本文介绍了Python爬虫在快手数据采集与舆情分析中的应用,涵盖:数据抓取(API/Selenium)。数据清洗与存储(Pandas)。

    88110

    NLP实战:对GPT-2进行微调以生成创意的域名

    您可以选择自然文本中通常不存在的任何内容。我选择了此定界符:-> = @ = 步骤一:抓取数据 如您所料,手动复制和粘贴网站的元上下文将花费大量时间。我们需要提出一种能够生成干净训练数据的抓取算法。...数据的清洁度很重要,因为大多数机器学习模型都依赖于质量。您的机器学习模型需要和您的训练数据一样好。因此: 在训练机器学习模型时,请切记:垃圾的进出! ? 那我所说的干净数据是什么意思呢?...我们不希望在最终收集的数据中有任何这些。 那我所说的干净数据是什么意思呢?首先,GPT-2主要接受通过互联网收集的英语数据。因此,我们需要确保以英语形式收集元上下文数据。...其次,有很多带有元描述的网站使用表情符号和不同的字符。我们不希望在最终收集的数据中有任何这些字符。 我们设计一个抓取算法,它应该能够使用以下逻辑过滤来提取数据: 仅限英语 没有表情符号和类似的符号。...用于微调GPT-2以生成域名的工作流程的基本架构 因此,首先,我们将数据抓取并组合了文本文件到一个csv中,以使其可通过model_trainer.py脚本调用。

    2.7K20

    Python爬虫实战:快手数据采集与舆情分析

    引言 在短视频时代,快手作为国内领先的短视频平台之一,积累了海量的用户数据、视频内容和互动信息。这些数据对市场分析、用户行为研究、舆情监测等具有重要价值。...因此,我们可以: 手动分析API接口(浏览器F12→Network→XHR)。 使用Selenium模拟浏览器行为,获取渲染后的数据。...= response.json() # 假设返回的是JSON数据 videos = data.get("data", {}).get("videos", [])...2.3 使用Selenium抓取动态数据 如果API难以直接调用,可采用Selenium模拟浏览器操作: from selenium import webdriver from selenium.webdriver.common.by...不抓取用户隐私数据(如手机号、身份证)。 6. 结论 本文介绍了Python爬虫在快手数据采集与舆情分析中的应用,涵盖: 数据抓取(API/Selenium)。 数据清洗与存储(Pandas)。

    84210

    iOS - - JSON 和 XML解析

    > 5.一个元素包括了开始标签和结束标签 拥有内容的元素:小黄人 没有内容的元素: 没有内容的元素简写: 一个元素可以嵌套若干个子元素...video> videos> 规范的XML文档最多只有1个根元素,其他元素都是根元素的子孙元素 6.XML中的所有空格和换行,都会当做具体内容处理 下面两个元素的内容是不一样的 第1个 <video...文档加载进内存,比较适合解析小文件 SAX:从根元素开始,按顺序一个元素一个元素往下解析,比较适合解析大文件 iOS中的XML解析 在iOS中,解析XML的手段有很多 1.苹果原生 NSXMLParser...(为了能找到libxml2库的所有头文件) 在Head Search Path中加入/usr/include/libxml2 设置链接参数(自动链接libxml2库) 在Other Linker...XML,所以服务器返回给移动端的数据格式以JSON居多 五、利用苹果官方API播放视频 // 创建视频播放器 MPMoviePlayerViewController *vc = [[MPMoviePlayerViewController

    2.8K80

    「小程序JAVA实战」小程序首页视频(49)

    视频显示的内容是视频的截图,用户的头像,用户的昵称,都需要一个结合。.../miniprogram/dev/dev/api/system/system-info/wx.getSystemInfo.html 获取系统信息 因为现在手机的屏幕大小不一致,显示适配是个很大的问题,如何适配首选要拿到对应手机的像素值...> rows) { this.rows = rows; } } java组件原理 通过拦截的方式,当在执行某条sql语句的时候在根据不同数据库的方言,在sql语句查询的时候添加查询...PS:主要说了关联查询的步骤,首选建立一个VO类,然后mapper关联VO类,增加对应xml文件返回VO类,service内添加分页插件,查询VO类,通过分页插件设置。...页面通过微信组件获取手机的宽度,通过宽度动态的进行适配,调用接口返回内容通过block方法迭代循环展示数据。下次说下上拉和下拉刷新。

    3.4K30

    多模态RAG应用之实现文本检索视频内容

    传统的语言模型在生成内容时往往依赖于自身的知识库,这可能导致生成结果缺乏实时性和准确性。...而RAG技术通过从外部知识库中检索相关信息,再将这些信息与用户查询一起传递给语言模型,从而生成更加精准、相关且时效性强的内容。...简单点就是说结合大模型和网络搜索的内容,整合后再返回给你,让你看到既新又准确的答案; 多模态RAG: 则是将RAG的理念扩展到多种数据模态中,包括文本、图片、音频、视频等。...,我们把视频分成两类: 有语音对话的视频处理; 以这个视频为例:https://www.youtube.com/watch?...是可选的,其实也可以打印搜索数据,自己手工播放也行; 搜索视频片段 #搜索视频片段,搜到后调用浏览器播放对应视频片段 def search_segment_by_prompt(prompt):

    70210

    商城项目-从0开始品牌的查询

    :表格的数据的数组,数组的每个元素是一行数据的对象,对象的key要与表头的value一致 loading:是否显示加载数据的进度条,默认是false no-data-text:当没有查询到数据时显示的提示信息...外键会严重影响数据库读写的效率 数据删除时会比较麻烦 在电商行业,性能是非常重要的。我们宁可在代码中通过逻辑来维护表关系,也不设置外键。 7.2.2.实体类 ?...可以看到,在请求成功的返回结果response中,有一个data属性,里面就是真正的响应数据。...响应结果中与我们设计的一致,包含3个内容: total:总条数,目前是165 items:当前页数据 totalPage:总页数,我们没有返回 7.4.异步加载品牌数据 虽然已经通过ajax请求获取了品牌数据...我们可以利用Vue的监视功能:watch,当pagination发生改变时,会调用我们的回调函数,我们在回调函数中进行数据的查询即可! 具体实现: ?

    5.5K20

    2021年大数据Hive(十二):Hive综合案例!!!

    Top10 二、项目表的字段 视频表 字段 备注 详细描述 video id 视频唯一id 11位字符串 uploader 视频上传者 上传视频的用户名String age 视频年龄 视频在平台上的整数天...videos 上传视频数 int friends 朋友数量 int ETL原始数据 ​ 通过观察原始数据形式,可以发现,视频可以有多个所属分类,每个所属分类用&符号分割,且分割的两边有空格字符,同时相关视频也是可以有多个元素...youtubevideo_ori: load data inpath "/output/youtube_video" into table youtubevideo_ori; youtubevideo_user_ori...: load data inpath "/youtube_video/user" into table youtubevideo_user_ori; 3、向ORC表插入数据 youtubevideo_orc...2) 向category展开的表中插入数据。 3) 统计对应类别(Music)中的视频热度。

    1.9K10

    改造 Combo Select支持服务器端模糊搜索

    3.5 模糊查询的逻辑 当用户在input中输入文字的时候,会触发 keydown和keyup事件,在keyup事件中,对 $items中的数据依次进行匹配,设置 visible属性,实现部分数据的展示...4.1 Server API 修改 Server端需要提供根据名称进行模糊搜索的接口。不赘述,需要注意的是返回数据要设置最大条数。避免根据查询条件返回了大量的数据,就失去了解决的优势。...,这是为了适应不同api返回的json定义的差异。...itemName: 调用api时需要的用户输入值的参数名 curItemField:在html中,item的input名称 curItemValue: 当前已选中数据的value curItemName...5.1 修改方案 在_keyup()中,调用_delayFilter(),由它触发前面修改后的 _filter()方法。 ?

    2.1K30

    用海外代理IP监测YouTube广告效果:一看就会的实操指南

    但是,实际操作的时候,最常遇到这种情况:公司投的 YouTube 广告,在国内用 VPN 看根本刷不出来,或者数据跟后台统计差一大截?...琢磨了一阵子,也看出门道了:YouTube 的广告投放是只给当地用户看本地广告。你在国内直接访问,就算挂了 VPN,IP 地址也可能被识别成 "非目标用户",看到的广告都是乱的,统计数据自然不准。...尤其当你需要采集大量广告视频的数据时,爬虫的请求很容易被判定成异常行为,妨碍后续监测流程。使用海外代理IP分散请求源,是有效的解决手段,它会帮你把流量分散到不同的网络来源,使监测的过程更加顺滑。...2.3 内容分析的便利性代理IP的使用,让我们在采集内容进行后续的效果分析时有更高的容错率和效率。...('name', 'search_query')search_box.send_keys('户外露营装备') # 换成你的广告关键词search_box.submit()time.sleep(5) #

    1K10

    youtube-dl命令参考

    NUMBER 指定列表中结束的视频(默认为last) --playlist-items ITEM_SPEC 指定列表中要下载的视频项目编号.如:"--playlist-items...%(ext)s 请注意,配置文件中的选项与常规命令行中所调用的选项(又名 switches)相同,因此在 - 或者 -- 后面不得包含空格,例如 -o 或 --proxy 不能写成 - o 或者 --...基本用法下载一个文件时,就像在没有设置任何模板参数 youtube-dl -o funny_video.flv "https://some/video"。...(数字): 发行专辑时的年(YYYY) 在输出模板中引用的每个上述序列都将被与序列名称对应的实际值替换。...当前的默认模板是%(title)s-%(id)s.%(ext)s。 在某些情况下,您不需要特殊字符(如中,空格或&),例如通过8位不安全通道将下载的文件名传送到Windows系统或文件名时。

    8K21

    youtube-dl CMD

    NUMBER 指定列表中结束的视频(默认为last) --playlist-items ITEM_SPEC 指定列表中要下载的视频项目编号.如:"--playlist-items...%(ext)s 请注意,配置文件中的选项与常规命令行中所调用的选项(又名 switches)相同,因此在 - 或者 -- 后面不得包含空格,例如 -o 或 --proxy 不能写成 - o 或者 --...基本用法下载一个文件时,就像在没有设置任何模板参数 youtube-dl -o funny_video.flv "https://some/video"。...(数字): 发行专辑时的年(YYYY) 在输出模板中引用的每个上述序列都将被与序列名称对应的实际值替换。...当前的默认模板是%(title)s-%(id)s.%(ext)s。 在某些情况下,您不需要特殊字符(如中,空格或&),例如通过8位不安全通道将下载的文件名传送到Windows系统或文件名时。

    4.8K40

    用 Node.js 把玩一番 Alfred Workflow

    作为 Mac 上常年位居神器榜第一位的软件来说,Alfred 给我们带来的便利是不言而喻的,其中 workflow(工作流) 功不可没,在它上面可以轻松地查找任何 api;可以快速在豆瓣上搜到自己喜欢的电影...附上一张个人装着的插件的截图。Caffeinate 插件能在指定时间使电脑不黑屏;在 Dash 插件上能轻松查任何文档;Youdao Translate 插件比系统自带的翻译方便许多。...开发阶段 在开发前,得先对一些特定的操作步骤和知识点有一定的认知,这样开发时就基本上没有大碍了。...在 Script 中,可以看到 /usr/local/bin/node common_search.js 相当于就是在调用该插件的时候起了一个 node 服务,后面的 1 是为了区分当前调用的是哪个搜索手动传入...as JSON: console.log(data.html_url); } }); 还有一点要注意的是返回值的字段是固定的,具体可以参考它的官方解释,琢磨了好久才把 JS 中的 Icon

    2.1K30

    我的人工智能产品

    module.py 这段代码实现了一个阿里云智能搜索API的Python客户端,对阿里云OpenSearch服务(智能搜索能力)的调用,用于在文档、网页等数据中进行语义搜索并返回摘要结果。...助手,可以帮助用户解答任何问题,也能以精准简洁的语言识别并描述出图像的内容。"}...else: message = {"role": "user", "content": content} # 增加函数调用的功能,让大模型理解用户的提问后返回函数调用的声明...# 如果有,则进行函数调用,并让大模型返回一个函数调用的结果给用户 # 如果不存在函数调用的情况,则直接将用户的提问交给stream_chat来完成 output = check_func_call...synth = window.speechSynthesis; // 全局变量,语音合成对象 sessionStorage.clear(); // 每次刷新页面时均将之前的内容清空 // 定义语音朗读代码

    38210

    ES6--Set、Map、Symbol、Proxy及Reflect

    Set对象尾部添加一个元素,返回该Set对象 clear() 移除Set对象内的所有元素,没有返回值 delete(value) 移除Set的中与这个值相等的元素,返回一个布尔值,表示删除是否成功 has...,该对象包含Set对象中的按插入顺序排列的所有元素的值的[value, value]数组 forEach(callbackFn[, thisArg]) 按照插入顺序,为Set对象中的每一个值调用一次callBackFn...当执行str.match(myObject)时,如果该属性存在,会调用它,返回该方法的返回值。...对象的Symbol.search属性,指向一个方法,当该对象被String.prototype.search方法调用时,会返回该方法的返回值。...元编程重点在于:在一个程序的内容、运行环境、配置等都不做任何修改的情况下,可以通过其他程序对其进行读取或修改。

    1.1K31
    领券