- 博客(41)
- 收藏
- 关注
原创 MCP相关内容
MCP,全程是Model Context Protocol,模型上下文协议,由Cloaude母公司Anthropic于去年11月正式提出,从本质上来说,MCP是一种技术协议,一种智能体Agent开发过程中共同约定的一种规范,在统一的规范下,大家的协作效率就能大幅提高,最终提升智能体Agent的开发效率,解决了Agent开发中调用外部工具的技术门槛过高的问题能调用外部工具,是大模型进化为智能体Agent的关键,如果不能使用外部工具,大模型就 只能是个简单的聊天机器人,甚至连查询天气都做不到。
2025-04-13 16:59:21
614
原创 使用flask_restful快速构建接口
在 Flask-RESTful 中,你可以使用fields模块和装饰器来定义和控制 API 响应的格式。这允许你指定哪些字段应该包含在输出中,以及这些字段的数据类型和格式在上面的代码中,我们原始数据中的age是字符类型,但是我们定义的返回是整型,最终调用接口发现结果还是整型证明在返回的过程中,marshal_with装饰器对result的内容进行了与resource_fields类型匹配与转化,如果我们把age改为String看结果。
2025-03-22 17:36:47
1053
原创 AI大模型学习(五): LangChain(四)
案例:在数据库中表格数据上的问题系统的基本方法,将涵盖使用链和代理的视线,通过查询数据库中的数据并得到自然语言的答案,两者之间的主要区别在于,我们代理可以根据多次循环查询数据库以回答问题。
2025-03-08 23:41:50
292
原创 AI大模型学习(四): LangChain(三)
语言模型本身无法执行动作,他们只能输出文本,代理是使用大型语言模型(LLM)作为推理引擎来确定要执行的操作以及这些操作的输入应该是什么,然后这些操作的结果可以反馈到代理中,代理将决定是否需要更多的操作,或者是否可以结束例如:我们想要查询现在北京的天气,这个天气结果因为是事实变化的,大语言模型他的训练资料是之前的没办法获取现在的天气情况,需要去调用代理去获取结果。
2025-02-23 18:36:29
787
原创 AI大模型学习(二): LangChain(一)
Langchain是一个开源框架,它允许开发人员将像GTP-4这样的大型语言模型与外部的计算和数据源结合起来ClangChain是一个用于开发由语言模型驱动的应用程序的框架比如:如果我们想让聊天机器人不仅仅回答通用问题,它能从你自己的数据库或文件中提取信息,并根据这些信息执行具体操作,比如发邮件,那会是什么情况,LangChain正是为了实现着一目标而诞生的它通过三个核心组件实现增强:1.首先是Compent "组件",为LLMs提供接口封装,模块提示和信息检索索引。
2025-02-16 21:18:42
721
原创 OpeAI大模型学习(一)
多模态大模型:能够理解和生成自然语言或代码+理解图像+生成图像等文本大模型:能够理解和生成自然语言或代码视觉大模型:能够根据自然语言提示生成和编辑图像的模型语音大模型:将文本转换为自然听起来的语音的模型集,将音频转换为文本的模型Embedding大模型:将文本转换为数值形式的模型集审查大模型:检测文本是否可能敏感或不安全的微调模型。
2024-12-07 17:24:52
992
原创 Sqlalchemy学习
关于查询我们需要知道,如果我们没有执行.all()或者.first(),那么只会创建一个查询对象,也就是我们的SQL语句,点.all()或者.first()才会真正的执行查询语句。当我们运行这个py文件,他就会执行create_all 这个函数,那么就会把我们的user这张表创建在库中。如果你需要进行左连接查询(即即使某些用户没有对应的。删除的话肯定要先删除有外键的,然后再删除没有外键的。对象代表了一个待执行的查询,直到你调用。对象,而不是实际的查询结果。也能查询到),可以使用。
2024-11-24 17:47:09
771
1
原创 Fastapi学习
这种方式适用于小型应用,代码简洁,所有路由定义都在同一个文件中但是路由定义不能轻易复用,除非复制粘贴代码,每个路由都需要单独定义路径# 创建一个 APIRouter 实例# 在 APIRouter 上定义路由# 创建 FastAPI 应用实例# 将 APIRouter 添加到 FastAPI 应用中这种方式更适合大型应用,因为它允许你将路由逻辑组织到不同的模块中,从而提高代码的可维护性和复用性,路由定义可以分散在多个文件中,每个文件可以定义一个或多个APIRouter,然后在主应用中通过。
2024-11-20 16:41:49
644
原创 车载测试之UDS诊断协议
也被称为离线诊断或者增强型诊断,面向汽车上的所有ECU的诊断,可以通过UDS进行读取、写入ECU运行时的一些数据,刷写ECU、获取故障信息等,UDS是一套统一的诊断服务命令,分为6大类26个服务。
2024-08-31 17:02:45
1843
原创 车载测试之python调用CANoe
Canoe主要用来做车载测试的,想了解Canoe的可以自行查找,这篇主要是用于在我们自动化测试中,我们使用python调用canoe的各种功能,如设置系统环境变量,启动测量等等首先我们要理解python调用canoe底层是因为公司开放了一些com口,python主要是调用这些com口来实现的,具体有哪些可以打开canoe软件点击右上角问号帮助文档住查看。
2024-07-28 16:58:34
1821
2
原创 pytest之钩子函数
在pytest中钩子函数(hook functions)是用来自定义和扩展 pytest 的功能的关键机制。这些钩子函数可以在 pytest 的配置文件中或者插件中实现,用于干预测试执行的不同阶段和行为,这篇文章主要用来记录他不同钩子函数的使用我们在开发自动化测试平台的时候其实可以借助于钩子函数来调用pytest测试脚本上面就是我们的测试函数了,那我们一切以测试函数为准。
2024-07-21 16:11:13
1748
原创 python使用kafka以及docker部署
num.partitions=1 这一部分主要是我们kafka的默认分区数量,kafka的分区其实可以理解为帮助我们提升消费的速度,当我们分区数量不为1的时候,生产者生产的消息会放入我们该topic下的不同分区,我们可以用多个消费者去消费不同分区的内容,这样可以起到一个并发消费,但是因为分区消费的顺序是没办法控制的,所以只适合无序的生产消费。这个参数是比较重要的,如果我们想要外部访问我们的kafka一定要将这个参数设置为我们服务器的地址。这个表示我们每个分区复制的份数。我们主要看一些关键参数。
2024-05-30 17:23:58
775
原创 shell脚本学习
全局配置文件 /ect/profile 、 /etc/bashrc ,切系统建议最好创建在/etc/profile.d/ 而非直接修改主文件,修改全局配置文件,影响所有登录系统的用户。我们打印n3 命令:echo $n3 结果也是1,这句话就是"$n1"其实是获取的n1的值,我们将这个值赋值给了n3,所以直接打印n3的值也是1。# 在上述中,我们使用${name}是特殊语法可以取出name的值,但是单引号并没有识别出来,我们打印n1的值为${name}我们自定义变量 n1=1 n2=2。
2024-05-26 16:50:00
1037
原创 关于django使用websocket
我想在django中使用websocket的主要目的是我们项目中有一个关于log日志的实时推送,这个时候就需要使用websocket把我们数据库的日志推送到前端去这里我使用的模块是channels,这里有个坑需要注意,如果直接pip install的话下载的是最新版本的,会可能与你的django版本不匹配,所以如果你的django是3版本的,那么就需要下载对应3版本的channels,否则asgi可能会启动不起来。
2024-02-24 18:07:44
1005
4
原创 Vue前端语法
事件名可以写:click,dbclick,input标签:change,blur,input。--》如果是对象,key就对象的value值,value就是对象的key。--》如果是字符串,key就是一个个的字符,value就是suoyin。--》如果是数字,key就是从1开始的一个个数字,value就是索引。事件绑定 v-on:事件名='函数' -----@事件名='函数'--》如果是数组,key就是数组的一个个元素,value就是索引。--》如果是数字,key就是从1开始的一个个数字,
2024-01-05 17:50:48
961
原创 关于类中__隐藏
这样他就正常了,后面的方法也可以成功调用,但是我们看打印,我在子类和父类中都有一个属性叫__number这个属性,但是打印的时候调用过了create_number函数,显示的结果确不一样,父类的改为了3,子类的还是None,就小小的好奇了一下是什么原因。事实上,在 Python 中没有严格意义上的“私有”属性或方法,因为 Python 支持动态访问对象的属性和方法。之前碰到的__开头我们都知道在python中是隐藏的意思,但是又记得不是真正的隐藏,所以找了一下,是我自己概念出现了错误。
2023-11-13 13:34:41
110
原创 Pydantic学习
Pydantic 是一个 Python 的数据验证和模型声明库,旨在建立正确使用对象化方法的简单,快速,和可扩展方式。它可以省去你把琐碎数据验证任务,保证你的数据总是整洁有序。Pydantic为你提供一种更优雅的方式完成你的任务,使你可以专注于开发解决方案,而不是验证数据的任务。Pydantic可以用来定义模型,以便于格式化数据并转换成Python数据对象。它也可以在输入和输出之间执行类型转换,并根据你定义的规则进行数据验证。
2023-10-12 16:07:17
1272
原创 pytest之模拟对象测试
在上面的代码中,我们使用MagickMock类创建了一个mock_object对象,我们这个对象模拟了some_object中的some_method属性,这样我们直接可以把我们的模拟对象作为参数传入,他同样具有这个属性替代真实的对象。unittest.mock 模块提供了在测试过程中创建模拟对象的功能,以帮助进行单元测试和集成测试等各种类型的测试,MagicMock类是其中一个常用工具,它可以用来创建模拟对象,并通过模拟对象的方法和属性类模拟真实对象的行为。字典进行模拟和替换的方式。
2023-10-10 15:06:19
709
1
原创 nginx之反向代理实现
我们从事web开发,在项目上线以后我们大部分都需要在服务器上面使用nginx做反向代理或者负载均衡来提高我们项目的并发量,本人我只是针对于反向代理这一块来做之前一些项目使用总结。
2023-09-03 16:15:37
897
原创 pytest测试命令行
在这个方法中,我们定义了一个指令,看上去是我们直接定义了一个函数,但是在执行过程中不是直接执行改函数,实际在测试用例执行过程中,我们使用到了夹具中的方法,这个方法会类似于装饰器一样,首先执行该方法,所以当我们在定义run_ls之前其实我们已经通过夹具中的方法切换到了执行命令的目录,因此,我们只要执行这个方法就可以了。2.当我们切换到执行命令的目录之后,下面就需要拼接我们想要执行的命令,比如我们想在linux系统中,某个目录下执行ls这个命令,那我们就可以直接写一个命令函数。我们可以查看一下该方法的源码。
2023-08-23 14:54:35
217
1
原创 pytest学习
Pytest是一个基于python的测试框架,用于编写和执行测试代码。在REST服务的今天,pytest主要用于API测试,尽管我们可以用pytest来编写简单到复杂的测试,即我们可以编写代码来测试API、数据库、UI等如果没有明确提到,Pytest有自己的方式来自动检测测试文件和测试功能。Pytest允许我们在执行过程中跳过测试的一个子集。Pytest允许我们运行整个测试套件的一个子集。Pytest是免费和开源的。由于其简单的语法,pytest非常容易上手。
2023-08-18 14:03:08
127
1
原创 .pyc文件编译以及多系统运行
当你执行完毕之后,你会发现没有任何的变化,是因为在python3以后把.pyc文件统一作了处理,全部放在__pycache__,这个文件中,我们可以做一个小处理,把文件从__pycache__中拿出来。今天碰到一个新的小东西,需要把项目中某个py文件隐藏起来,这样防止别人看到源代码,这里我采用最简单的方式,把.py文件转为.pyc文件,这样直接就是编译乱码的文件了。这样就可以实现单个py文件的隐藏,不用被别人看到源代码。
2023-08-17 19:45:54
587
1
原创 通过docker镜像逆向dockerfile
文件,该文件是Docker守护进程的Unix套接字文件,允许在容器内访问主机上的Docker守护进程。5.我们可以将逆向出来的dockerfile保存到文件里面,查看更方便。2.拉取逆向dockerfile的alpine/dfimage镜像。: 指定要运行的镜像。在这个例子中,使用的是Alpine镜像中的。首先我们需要有一个docker镜像,以postgres镜像为例。4.逆向镜像中的dockerfile。选项,在容器停止后自动删除容器。: 运行一个Docker容器。b:将逆向的结果保存到该文件。
2023-08-02 11:42:58
1291
原创 Redis实现消息队列
在我们很多开发场景中可能会需要消息队列的存在,实现消息队列的方式有很多,上篇文章也大概了解了一下Kafka,Rebbitmq等等消息队列,但是如果我们想要特别简单的消息队列,我们可以使用redis来实现。
2023-07-03 11:28:33
2740
2
原创 消息队列初步学习
消息,是指在应用间传送的数据,消息可以非常简单,比如只包含文本字符,也可以更复杂,可能包含嵌入对象消息队列是一种应用间通信方式,消息发送后可以立即返回,由消息系统来确保消息的可靠传递,消息发布者只管把消息发布到MQ中而不用管谁来取,消息使用者只管从MQ中取消息而不管是谁发布的,这样发布者和使用者都不用知道对方的存在A 系统接收一个请求,需要在自己本地写库,还需要在 BCD 三个系统写库,自己本地写库要 3ms,BCD 三个系统分别写库要 300ms、450ms、200ms。
2023-06-30 16:11:33
195
原创 数据库之分库分表
hash取模方案:没有热点问题,但是扩容迁移数据痛苦range方案:不需要迁移数据,但有热点问题那有什么方案可以做到两者的优点结合呢,即不需要迁移数据,又能解决数据热点的问题?其实还有一个现实需求,能否根据服务器的性能以及存储高低,适当均匀调整存储呢。
2023-06-27 16:50:37
257
1
转载 ES初步学习
es数据库的英文全称为ElsticSearch,是位于Elastic Stack核心的分布式搜索和分析引擎,是一个由Apache开源的高扩展、全文检索和分析引擎(NoSQL数据库功能)的系统,它可以准时地快速存储、搜索、分析海量的数据。
2023-06-25 14:39:29
105
原创 关于负载均衡应该知道的
在网站创立初期,我们一般都使用单台机器对台提供集中式服务,但随着业务量越来越大,无论性能还是稳定性上都有了更大的挑战。这时候我们就会想到通过扩容的方式来提供更好的服务。我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如。那么当用户在浏览器输入的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡在做的事情。其实这个时候可以理解为请求分发。
2023-06-15 15:33:35
219
1
原创 关于登录注册那些事
个人思考:这个其实属于业务设计的问题,对于需不需要重新填写信息其实都是可以的,我们很早之前的项目用户填写的信息就会丢失掉,需要用户再重新填写,其实想要用户不重新填写也是比较简单的,可以前端做一个存储的操作,如果用户没有点击注册按钮,会把这些信息先存储在前端,点了注册把信息发往后端,清空存储的就可以了作者回答:在我们当时的项目中,如果出现这种情况,由于电脑已经重启了,因此用户上次填写的信息会丢失,需要用户重新从头填写注册信息。
2023-06-13 16:07:11
931
1
原创 个人学习Docker的简单入门
Dcoker很早之前还只是运维的学习范畴,但是现在很多公司对于开发都要求懂,了解docker,所以我们不管是跳槽还是在公司可持续化发展,都需要简单的对docker进行一个了解,下面就是我个人学习的初步入门。
2023-06-12 14:27:24
171
原创 自己搭建Gitlab
网址:官方网址:http//:about.gitlab.con在ssh下安装:1.安装依赖2.配置镜像(相当于下载脚本并且执行)3.开始安装gitlab常用命令4.启动gitlab命令:gitlab-ctl start会瞬间启动很多的中间件注意:gitlab默认是跑在我们虚拟机的80端口首次登录,我们可以选择使用root用户,gitlab会给我们默认一个密码,我们可以找到这个密码所在的文件打开复制密码登录使用:vi 或者cat密码文件,打开文件找到我们的password。
2023-06-10 18:23:31
869
原创 基于Linux开发python项目
在某些公司要求中,我们不会直接在Windows系统上做项目的开发,有时候会采用在linux系统上开发,而这分为两种情况1.直接在本地搭建虚拟机,虚拟机上面装centos镜像,项目运行在本地虚拟机上,大部分原因都是项目的某些依赖包在Windows系统上很难安装,或者安装不上2.直接连接远程服务器,在远程服务的linux系统上进行项目开发不管以上两种方法哪一种,但是开发的流程是大同小异的,本文主要针对在本地的虚拟机上进行项目的开发。
2023-06-09 14:13:10
2351
2
原创 Django序列化类的小方法
在反序列化的过程中,我们首先通过产生一个序列化对象.is_valid()去进行数据的校验,那么在此之前,我们使用序列化对象.initial_data拿到原始数据,进行处理,我们可以在这个数据里面进行序列化之前的对数据进行操作,比如拿到一些校验字段没有填写的数据,我们直接进行校验,然后放入self.validated_data中,这样该数据就会直接被放到校验后的数据中。我们使用这个字段的时候,要注意该字段只会在不改变read_only=False的情况下,该字段只有一个可读的属性,我们可以验证一下。
2023-06-08 16:19:26
268
3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人