- 博客(93)
- 资源 (2)
- 收藏
- 关注
原创 LangChain网页自动化PlayWrightBrowserToolkit
可以编写prompt,通过openai解析,并调用agent来运行测试用例。从视频的角度看还是很流畅。我们先不用MCP,用langchain的PlayWrightBrowserToolkit,来实现看看效果怎样,有什么问题。一个简单操作:导航到https://www.runoob.com/,点击id='cate4'的元素,数据库菜单栏下有哪些教程?日志如下,具体操作都有描述,第二步点击元素解析对了,竟然找不到元素。我们还是用modelscope的免费tokens来做测试,如此简单的操作,成功概率并不高。
2025-06-24 22:21:39
213
原创 llama_index chromadb实现RAG的简单应用
此demo是自己提的一个需求:用modelscope下载的本地大模型实现RAG应用。毕竟大模型本地化有利于微调,RAG使内容更有依据。
2025-06-17 19:18:03
313
原创 简单容易理解的MCP client实现
大模型我们还用免费的modelscope(表扬阿里提供了AI学习成长环境),环境变量自己设好。同样可以配置更多别人写的server。,市面上很多应用可以调用别人写的MCP,如cherry-studio/Claude Desktop/ Cline等。作为程序员自然通过程序调用的方式,使应用更加千变万化。我们基于上篇的server,来实现client,通过大模型调用server的function。理解了实现了以后,是不是感觉现在可以随意调用别人的MCP了。上面可以看到所有服务的tools的功能会提前拉出来。
2025-06-17 18:28:57
227
原创 简单容易理解的MCP server实现
Model Context Protocol (MCP) 是一个专门为 LLM(大语言模型)应用设计的协议,它允许你构建服务器以安全、标准化的方式向 LLM 应用程序公开数据和功能。1. Tool(工具)Tool 允许服务器公开可执行的函数,这些函数可由客户端调用并由 LLM 使用来执行操作。Tool 不仅人让 LLM 能从外部获取信息,还能执行写入或操作,为 LLM 提供真正的行动力。模型控制:Tool 直接暴露给 LLM 可执行函数,让模型可以主动调用。2. Resource(资源)
2025-06-17 17:42:34
738
原创 langchain使用function_call调用本地函数
返回结果如上图所示,若大模型直接回答,那么长度为2;根据需要来选择答案,所以用三元表达式来获取:resp["messages"][2].content if len(resp["messages"])>2 else resp["messages"][1].content。”,是无法回答的,所以提供了function_call和MCP的方法。下面是agent执行,第一个是大模型直接返回,其他的需要调用工具。1:用tool装饰器装饰,对函数进行注释以供大模型了解函数是做什么用的,参数又是什么。
2025-06-17 13:47:17
228
原创 LangChain调用本地modelscope下载的Deepseek大模型
LangChain调用本地modelscope下载的Deepseek大模型
2025-06-15 20:31:32
354
原创 AI学习环境搭建
可以从modelscope、huggingface等平台下载 ,指定保存位置,否则都到了c盘。3.使用conda创建虚拟环境(安装过程中有些包会冲突,这是我倒出的关键包)安装后运行 nvidia-smi , 返回显卡各种信息。查看需要的Python和CUDA版本,并进行安装。
2025-06-13 15:44:49
162
原创 ROS2基础知识
ros2 pkg executables <package_name> 列出所指的功能包里的所有可执行文件。ros2 run <package_name> <executable_name> 启动 包下的 中的节点。ros2 pkg xml <package_name> 列出所指的功能包里的清单描述文件。ros2 param info# 查看某节点的参数详情。ros2 service list #查看服务列表。ros2 service type# 查看服务的类型。
2025-05-26 12:30:28
754
原创 零售交易流程相关知识(top-down拆解)
关于POS机交易时的后台数据交互模块之间数据交换,都可以能被窃取或篡改。由此引入加密、解密机制和签名、验签机制经典的加密、解密机制:对称加密:DES\ TDES\ AES\ RC4非对称加密:RSA\ DSA\ ECC经典的签名、验签机制:MD5\ SHA1\ SH256\ MAC\ RSA对称加密TDES\ AES, 具有运算速度快的特点,但因为对称怎存在破解的风险。需要保证加解密双方具有相同的key。非对称加密RSA公开密钥密码体制的原理是:根据数论,寻求两个大素数比较简单,而将它们的乘积进行因式分
2025-03-05 17:47:35
1085
原创 项目管理原则和绩效域
1.勉、尊重和关心他人2. 营造作的项目团队环境3. 有效地干系人与4. 聚焦于值5. 识别、评估和响应统交互6. 展现导力行为7. 根据环境进行剪8. 将量融入到过程和可交付物中9.驭复杂性10. 优化险应对11.抱适应性和韧性12. 为实现预期的未来状态而驱动革。
2024-12-23 10:01:00
357
原创 HTTPS链接完整过程
(4)如果找到,那么浏览器就会从操作系统中取出 颁发者CA 的公钥,然后对服务器发来的证书里面的签名进行解密 (5)浏览器使用相同的hash算法计算出服务器发来的证书的hash值,将这个计算的hash值与证书中签名做对比 (6)对比结果一致,则证明服务器发来的证书合法,没有被冒充 (7)此时浏览器就可以读取证书中的公钥(服务端的公钥),用于后续加密了。) 关于随机数的介绍。这一步对应的是 Client Finish 消息,客户端将前面的握手消息生成摘要再用协商好的秘钥加密,这是客户端发出的第一条加密消息。
2024-09-02 15:22:00
1119
1
原创 cmake常规使用
2.生成项目的BuildSystem https://cmake.org/cmake/help/latest/manual/cmake.1.html#generate-a-project-buildsystem。3.构建项目 https://cmake.org/cmake/help/latest/manual/cmake.1.html#build-a-project。中文的简单教程 https://www.jianshu.com/p/3078a4a195df。
2024-05-15 18:10:26
492
原创 ansible学习
一文掌握 Ansible 自动化运维 - 知乎ansible的安装与简单的使用_坚持到所有人都放弃!!!的技术博客_51CTO博客
2023-11-23 06:04:18
706
原创 Django rest framework基本知识
app相关的目录 models.py 数据库ORM对应的模型类 serializers.py 序列化与反序列化处理 views.py 根据request进行业务逻辑处理,返回response admin.py 后台管理文件 apps.py应用管理文件。manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件,需要通过python命令执行。models.py 数据库的模型类,可以编写一对一、一对多、多对多的关系,依照这个可以生成数据表。
2023-06-16 22:45:46
1518
原创 行为驱动开发 behave 接口测试demo
环境统一管理,在environment.py的before_all进行统一处理。behave 接口测试,可以使接口测试简单化,并且使接口做流程非常容易。登录是表单提交,requests的content-type需要修改。包括请求构建与发送,返回值提取与保存,assert。业务层面的step在单独py文件进行编写。使用Flask简单mock的接口脚本。behave的具体使用就不介绍了。请求后处理放在统一的文件编写。展示一下feature。
2023-05-25 08:06:19
256
原创 android基础知识复习
有序广播 (Ordered broadcasts)则是一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递。有先后顺序,优先级高的广播接收器就可以先收到广播消息,并且可以截断正在传递的广播,这样后面的广播接收器就无法收到广播消息了。标准广播 (Normal broadcasts) 是一种完全异步执行的广播, 在广播发出之后, 所有的广播接收器几乎都会在同一时刻接收到这条广播消息,无序。广播效率高,无法被截断的。
2023-05-03 12:18:56
1302
原创 C语言积锦
栈区:系统为每一个程序分配一个临时的空间 局部变量、函数信息、函数参数、数组。栈区大小为1M,Windows可扩展到10M,在Linux中可扩展到16M。堆区:无大小限制,存储大数据图片视频,需要手动开辟(malloc/calloc/realloc)、手动释放(free)代码区:text 代码执行二进制码(程序指令) 具有共享、只读特性。数据区:1.初始化数据区data 2.未初始化数据区 bss 3.常量区。数组作为函数的形参时,退化为指针类型。
2023-04-23 14:49:59
321
原创 MinIO的使用
MinIO是一种高效的object(文件、图片等等)存取解决方案,提供相应的API进行读写,可以生成url对object进行访问。部署简单。
2023-01-31 15:08:19
1429
原创 用sqlacodegen根据已有数据库(表)结构生成对应SQLAlchemy模型
安装pip install sqlacodegen使用sqlacodegen postgresql:///some_local_dbsqlacodegen mysql+pymysql://user:password@localhost/dbnamesqlacodegen sqlite:///database.db帮助sqlacodegen --helpoptional arguments: -h, --help show this help messa...
2022-04-17 08:15:15
693
原创 AIWIN OCR比赛总结
前段时间(2021.12)参加了AIWIN OCR比赛,也是学AI以来参加的第一场比赛。总结一下吧:baseline采用CRNN+CTC的方法,不少同学改成了CRNN+Attension方式,最后取得很好的成绩。CTC自然有弊端,但是百度也是采用这种方法,训练的不错。所以我还是采用CTC的方式,最后竟然达到99.98%(baseline号称是70%)。我的结果飞桨AI Studio - 人工智能学习与实训社区我主要做了下面几点优化:1.baseline有个错误被我发现了,即将所有文字生成字典那里
2022-02-22 01:36:19
1099
原创 Docker部署Flask网站
最近练练手,防止忘了,在docker上部署了下Flask网站。先单步进行,后面可以通过docker compose直接部署。1.docker运行mysql,数据持久化到宿主机本地硬盘docker run --name mysql-flask -d -p 3306:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:lates.
2022-02-21 01:04:53
2712
原创 Pytorch 运行加速
CPU加速1.调用一个 JIT 解释器PyTorch 允许在 TorchScript 模型推理期间使用多个 CPU 线程。下图显示了在典型应用程序中可以找到的不同级别的并行性:一个或多个推理线程在给定输入上执行模型的前向传递。每个推理线程调用一个 JIT 解释器,该解释器一个接一个地执行模型内联的操作。2.使用ATen、MKL 和 MKL-DNN来构建PyTorch 使用内部 ATen 库来实现操作。除此之外,PyTorch 还可以构建支持外部库,例如MKL和MKL-DNN,以加快
2022-02-18 07:04:14
2149
原创 AI经典代码
MaskRCNNdef generate_anchors(scales, ratios, shape, feature_stride, anchor_stride): """ scales: 1D array of anchor sizes in pixels. Example: [32, 64, 128] ratios: 1D array of anchor ratios of width/height. Example: [0.5, 1, 2] shape: [h.
2022-02-07 14:41:14
8
原创 OCR相关的AI技术积累
OCR包括text detector和识别两个部分。文字检测又分基于经验的和深度学习的(我们这里探讨后者)。识别部分分单个字单个字识别和一连串文字的识别,它们各有优缺点,我们也讨论后者。文字检测算法:CTPNDBNET :DBNet论文详解_Michael’s Blog-CSDN博客_db netYOLO文字识别算法:ASTER:包括 文字矫正部分(倾斜或弯曲的文字可以进行矫正),和识别部分(基于seq2seq的attention机制做的)文字识别方法之ASTER_哔
2022-02-04 08:23:22
400
原创 AI常用部分知识整理
sigmoid输出结果0到1,单调递增,多用于多分类的输出softmax输出结果0到1,单调递增,多用于单分类的输出 (多个输出的和为1)
2022-01-29 22:11:25
562
原创 virtualbox不能桥接的解决办法
virtualbox的网络连接 中 桥接 方式 ,可以保证宿主机间、虚拟机间的互相连通,但桥接失效。解决办法:安装virtualbox的服务从磁盘安装,浏览VitualBox的安装目录,找到文件VBoxNetLwf.inf,一般路径是C:\Program Files\Oracle\VirtualBox\drivers\network\netlwf\VBoxNetLwf.inf安装后就可以了...
2022-01-16 16:02:01
2269
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人