Python开发手册
文章平均质量分 79
以实战为线索,逐步深入Python开发各个环节,掌握常用性能体验优化思路,打造完整工作流,提升工程化编码能力和思维能力。
Zeeland
全栈算法工程师 | 大模型创业 | LangChain Top Contributor | Promptulate founder | 资深Python开发者 |
Github: https://github.com/Undertone0809
展开
-
Logfire-Python可观测平台快速上手
Logfire还是OpenTelemetry的wrapper,允许将现有的工具、基础设施和检测用于许多常见的Python包,并支持几乎任何语言,下面仅用两行就可以构建对FastAPI应用的观测。你甚至可以用它接入OpenAI SDK,如果你对prompt eval没有强烈的需求,只需要简单的prompt trace,那么Logfire是一个很好的LangSmith的平替。此外,Logfire使用标准 SQL 查询数据,使用 SQL 还意味着您可以使用现有的 BI 工具和数据库查询库查询数据。原创 2024-05-09 01:47:29 · 311 阅读 · 0 评论 -
文心一言接入Promptulate,开发复杂LLM应用程序
最近在尝试将文心一言的LLM能力接入Promptulate,故写了一篇博客记录一下,是 Promptulate AI 旗下的大语言模型自动化与应用开发框架,旨在帮助开发者通过更小的成本构建行业级的大模型应用,其包含了LLM领域应用层开发的大部分常用组件,如外部工具组件、模型组件、Agent智能代理、外部数据源接入模块、数据存储模块、生命周期模块等。通过 Promptulate,你可以轻松构建起属于自己的LLM应用程序。Promptulate官网。原创 2023-08-29 09:00:00 · 1856 阅读 · 0 评论 -
【imarkdown】一个轻量级markdown图片链接转换器
下面的示例展示了如何使用imarkdown上传图片自定义的文件服务器,并获取url。首先,你需要自定义一个适配器,并继承;并实现两个方法。然后你就可以将其注入中。原创 2023-07-13 17:37:44 · 870 阅读 · 6 评论 -
【promptulate专栏】ChatGPT框架——两行代码构建一个强大的论文总结助手
论文晦涩难懂看不明白怎么办?有很多论文需要看,没有那么多精力怎么办?如何快速总结记录论文的一些关键点为我所用?关于上面的几个问题,本文将会基于当前Python新兴的大语言模型开发框架来演示使用如何用两行代码快速构建上手构建一个属于自己的论文总结工具。下面展示如何使用构建属于自己的论文总结工具。上面章节说到过,原创 2023-06-26 14:27:24 · 357 阅读 · 0 评论 -
【promptulate专栏】使用ChatGPT和XMind快速构建思维导图
思维导图是一种非常有效的工具,它可以帮助我们更好地组织和管理思想,进而提高我们的工作和学习效率。然而,传统的手绘思维导图在制作过程中过于繁琐,使用起来也不够灵活,降低了它的实用性。而现在,我们有了一种更加高效、快速、灵活的思维导图制作工具——ChatGPT+XMind。通过大语言模型的加成,我们可以十分方便的进行定制化的思维导图生成。本文将使用当前Python新兴的大语言模型开发框架来演示使用GPT+XMind生成思维导图的效果。原创 2023-06-24 01:39:55 · 1763 阅读 · 0 评论 -
【ORM】如何自己手写一个ORM框架
前段时间因为一个开源项目需要更新新特性,因此着手研究了一下ORM,相关pr代码已经合并入cushy-storage的最新版本中。cushy-storage是一个基于磁盘缓存的Python框架,让你无需花费精力在如何制订一套数据存储规范上,字典般的操作可以减少很多开发的成本。如果你有对本地文件数据操作的需求,使用本框架可以轻松的进行数据的本地存储。但是有的时候,我们需要对自定义对象进行增删改查,如何可以像查询数据库一下对本地文件存储的数据进行快速查询呢?原创 2023-06-07 15:59:12 · 597 阅读 · 0 评论 -
【Promptulate】一个强大的大语言自动化与应用开发框架,构建更强悍的GPT应用
在构建了【prompt-me】一个专为 Prompt Engineer设计LLM Prompt Layer框架架构之后,我发现可以构建一个更强大的LLM框架,于是在肝了几天把prompt-me完全组件化重构了之后,有了现在这个框架。是一个专为 Prompt Engineer设计LLM Prompt Layer框架,支持连续对话、对话保存、对话内容与标题总结、角色预设、使用外部工具等功能,开箱即用。通过,你可以轻松构建起属于自己的LLM应用程序。本项目重构重构重构了两次,在本人深度阅读。原创 2023-05-14 16:14:11 · 749 阅读 · 6 评论 -
【prompt-me】一个专为GPT Prompt Engineer设计LLM Prompt Layer框架
prompt-me是一个专为 Prompt Engineer设计LLM Prompt Layer框架,支持连续对话、角色预设、提供缓存的功能,可以记录历史对话等功能,开箱即用。通过 prompt-me,你可以轻松构建起属于自己的GPT应用程序。原创 2023-05-07 21:13:27 · 917 阅读 · 0 评论 -
【Python开发手册】JWT Token中添加过期时间和角色:简单易学的pyjwt
随着数据和信息的大量增长,多数用户都需要更加安全和保护自己的隐私。有很多选项可以帮助我们实现这一目的,其中JSON Web Token(JWT)是一种有效的解决方案。pyjwt是一种开源的Python库,可以生成、验证和编码JWT。在本篇博客中,我将介绍pyjwt的主要特点和功能。同时,我还将探讨JWT的概念、加密和解密过程以及JWT的优点。此外,我将分享使用pyjwt时遇到的问题以及解决方案。而pyjwt是一个十分轻量级的框架,基本上可以做到开箱即用,原创 2023-04-23 19:20:16 · 1708 阅读 · 0 评论 -
【Python实战】从架构设计到实现:一个Powerful的图书管理系统
最近给小朋友教学python,让他们自己做一个图书管理系统,然后做完之后大家坐在一起做一下代码评审,想着他们都做了,自己也写一份给他们看一下吧。网上现有的图书管理系统可以说是一找一大堆,但是都是按照新手的水平写的,代码没有什么架构(因为有经验的人也不愿写这种系统),自己也是因为出于教学目的才重新写了一遍,正好把一些面向对象、MVC架构、高内聚低耦合、设计模式等思想传授给他们。原创 2023-04-16 16:42:22 · 1122 阅读 · 1 评论 -
【Python开发手册】深入剖析Google Python开发规范:规范Python注释写作
在Python编程中,注释的作用不仅仅是解释函数或代码块的作用,还可以提高可读性、可维护性和表达代码意图的清晰性。正确书写Python注释,既是程序员的编程规范,更是提高代码质量的必要措施。因此,本文总结了Python注释的写法规范和注意事项,以及如何利用Pycharm代码模板快速生成规范注释的方法,帮助广大程序员提高代码质量和效率。原创 2023-04-16 01:34:09 · 1127 阅读 · 1 评论 -
【Django Rest Framework优化实践】ResponseResult、异常处理方法详解
Django Rest Framework(DRF)是一个快速构建Web API的工具包,使用DRF可以轻松地创建RESTful API,实现前后端分离开发。在实际开发中,我们经常需要统一返回结果集、全局异常处理和拦截器等操作,本篇博客将通过代码实现,为大家详细介绍如何优化DRF的ResponseResult类、全局异常处理机制以及拦截器,从而让我们的开发工作更加便捷。在Django Rest Framework中,我们经常需要对返回结果集进行统一处理,优化ResponseResult类可以让我们更加方便地原创 2023-03-30 22:28:08 · 285 阅读 · 0 评论 -
【DRF】深度分析枚举类型在DRF中的序列化问题及解决方案
在本文中,我们将讨论RDF开发中的JSON序列化问题以及解决方案。具体而言,我们会讨论一个常见的问题:枚举类型无法被JSON序列化。下面,我们将探索这个问题的本质,以及如何解决它。原创 2023-03-30 17:38:30 · 352 阅读 · 0 评论 -
【PyQt】在QtDesigner中使用自定义组件
本文将介绍pyqt如何在在QtDesigner中使用自定义组件,给出整个流程的方法。这个问题是本文在接触到这个项目时遇到的问题,是一个PyQt的组件库,通过,你可以构建好看的PyQt的UI。问题在这里,,实现了pyqt中的QPushButton等控件,假设名为button.py的PushButton,现在我有一个基于pyqt开发的老项目,想要在尽可能不改动原有代码的前提下进行Button的样式风格进行迁移,迁移成button.py中的button风格...原创 2023-03-28 22:54:10 · 3031 阅读 · 2 评论 -
【cushy-storage】一个基于磁盘缓存的ORM框架
cushy-storage是一个基于磁盘缓存的Python库,可以将Python对象序列化后缓存到磁盘中,以便下次使用时直接读取,从而提高程序的执行效率,该库对经常需要读写数据的友友们极为友好。原创 2023-03-21 16:48:11 · 421 阅读 · 0 评论 -
【django开发手册】django admin如何显示外键对应的字段
项目开发时遇到的一个需求,有一个SysUser表和一个Company表,字段如下所示,我们需要在django admin中在SysUser基本信息的时候一起渲染出Company_name而不是Company_id。原创 2023-03-19 17:25:24 · 1020 阅读 · 0 评论 -
【cushy-socket】一款轻量级的Python Socket框架
cushy-socket是一个轻量级的Python socket库,相较于传统的socket库,cushy-socket可以创建一个TCP/UDP程序。原创 2023-03-11 09:30:00 · 836 阅读 · 0 评论 -
python serial串口调试中的可能会产生的一些数据读取异常的问题
记录下几种常见的坑1.timeout与sleep的相对时间设置的不对if __name__ == '__main__': #创建端口对象 ser =serial.Serial() try: #传入参数 ser = serial.Serial("COM5", 115200, timeout=0.01) #连续发送信息 while 1: #传入一个16进制数组 ser.原创 2021-03-16 22:15:30 · 8552 阅读 · 12 评论 -
【cushy-serial】一个轻量级Python serial库
cushy-serial是一个轻量级的Serial框架,初衷是希望使Serial编程变得更加简单、快捷,因此,相较于传统的pyserial,该框架可以更加快速地构建起一个serial程序。原创 2023-03-10 21:36:54 · 1008 阅读 · 0 评论 -
《python》用psutil获取电脑CPU内存等参数信息
本人基于win10测试,本文展示了使用 Python 的 psutil 库来监听电脑的内存、CPU、GPU 等信息。原创 2022-12-29 04:18:02 · 3275 阅读 · 0 评论 -
《flask》flask+mqtt联动快速上手
本文旨在介绍如何快速上手联动flask + mqtt,本文将会给出一个简单的demo,用于演示在如何通过访问flask接口来触发mqtt,并在flask运行的基础的上对mqtt进行订阅。原创 2022-12-29 02:53:17 · 2289 阅读 · 5 评论 -
《操作系统》LRU和FIFO页面置换算法模拟实战
本文将介绍如何使用LRU和FIFO实现页面置换的模拟(Python实现),并使用缺页率进行算法的评价。原创 2022-12-04 15:33:34 · 2087 阅读 · 0 评论 -
Python为什么很多第三方lib用_xxx而不用__xxx?
看了很多lib的源码,一直很疑惑为什么很多不想让外界访问的function和param的权限是protected,基本没有人用private,后来发现...原创 2022-11-25 13:17:59 · 252 阅读 · 0 评论 -
《PID》一篇文章带你搞懂使用PID
本文先从介绍PID的概念开始,由Kp到Ki再到Kd逐步深入讲解,并展现出了从Kp到pid三个变量组合发展过程和Python代码实现,适合新手入门。原创 2022-11-24 01:36:48 · 3758 阅读 · 5 评论 -
《操作系统》一个优美的时间片轮转调度算法模拟Python实现
设计一个有N个进程并发的进程调度程序。每个进程有一个进程控制块(PCB)表示(可以用PCB直接代表进程实体,略去每个进程的程序段和数据段的具体运行)。进程控制块可以包含如下信息:进程名、到达时间、需要运行时间、已用CPU时间、进程状态等等, 并初始化设置一批进程控制块实例,通过对进程控制块实例对象的控制,来模拟进程调度的控制过程。如何写一个优美的时间片轮转调度算法模拟Python实现?加点面向对象就好了…原创 2022-11-23 01:16:20 · 1119 阅读 · 0 评论 -
【broadcast-service】一个轻量级Python发布订阅者框架
broadcast-service是一个轻量级Python发布订阅者框架。只需要引入一个单例类,你就可以十分轻松地构建起一个发布订阅者模式,几乎没有代码侵入性。文章中介绍了自己构建的一个轻量级的Python发布订阅者框架,今天来简单介绍一下...原创 2022-11-23 00:24:26 · 1451 阅读 · 2 评论 -
Python最佳实践-构建自己的第三方库
在写项目的时候需要用到发布订阅者模式(又叫广播模式),于是就实现了一下,写完之后感觉可以封装成库,于是查阅了一下如何在python上开发自己的第三方库,并上传至Pypi,让别人可以直接pip下来。接下来就可以编写核心代码了,笔者在这里实现了一个轻量级的广播模式,不需要创建更多的类,直接引入一个单例类,即可在自己的应用程序中构建其一个完善的消息分发和广播回调模式,因此,我在。不是一定要叫_core.py,叫什么都无所谓,至于为什么要取名_core.py,后面会介绍,这是一个不错的实践优化。原创 2022-11-20 01:50:23 · 2775 阅读 · 2 评论 -
【pyqt、mysql、爬虫】python新冠疫情信息管理系统(详细图文)
1.简介python实验作业,正好回顾一下小学二年级学习的pyqt,优化一下以前写的框架。(大二还在写这些,有点惭愧,不想花太多时间写,于是一晚上肝完了)1.本项目在pyqt的框架上进一步封装,基于springMVC架构和springboot架构进行二次架构设计,参考笔者之前写的:【快速调用】基于mvc架构的pyqt架构封装2.代码待整理后开源3.欢迎大家一起交流:群467173055相较于上篇博客,本次架构优化如下:优化了启动类的启动流程添加了页面调度器,可以更加方便的进行页面调度在原创 2022-05-14 02:20:13 · 4101 阅读 · 0 评论 -
【python】 开发工具库资料合集
Introductionrecord some common command and related tutorialsgrammardoc:python中形参*args和**args的区别Djangolearning info:Django新手项目实例Python 3+Django 3 结合Vue.js框架构建前后端分离Web开发平台实战Django 数据库CRUDAnacondadoc:在anaconda中配置虚拟环境教程pymysqldoc:python连接原创 2022-05-14 01:08:20 · 1736 阅读 · 0 评论 -
python thread快速调用
简介封装一下,快速上手快速上手线程的创建有两种,一种是函数绑定式,一种是类名调用式,下面分别介绍两种开发方式。函数绑定式调用threading.Thread(target=test)从而让绑定test函数,在执行start()后就会创建一个新的线程去执行绑定的test函数,具体操作如下。threading.current_thread().name可以查看当前线程的名称threading.activeCount()可以查看当前的线程数示例import threadingimpor原创 2021-12-18 13:48:38 · 1294 阅读 · 0 评论 -
python-opencv快速上手教程
简介笔者因为近期的一些需求,需要一些图像处理算法来构建一些需要的内容,故整理了一下python-opencv的资料,这里面有一部分内容是笔者自己构建出来的,也有相当一部分内容是借鉴前人所留下的经验,因此,本文集前人之精髓,加之本人的整理,希望对大家有帮助。开发环境需要导入cv2,numpy,matplotlib三个库pip install cv2//如果无法安装成功可以尝试一下pip install python-opencvpip install numpypip install matplo原创 2021-11-16 20:25:13 · 3316 阅读 · 2 评论 -
pyserial相关资料整理
关于pyserial的基本操作pythonserial函数_Python Serial串口基本操作(收发数据)关于pyserial read、readlinepython serial串口通信时read、readline、read_all等方法的区别关于pyserial timeout1.pyserial timeout=1 || timeout=0.01其他1.python serial串口调试中的可能会产生的一些数据读取异常的问题2.串口通信程序中十六进制格式发送和接收实现3.pyt原创 2021-05-14 23:36:47 · 199 阅读 · 1 评论 -
使用anaconda配置tensorflow1.13.2环境
前言有相关需求,为了便于后期维护,所以总结了一下。过程1.去官网下载anaconda安装网站:https://www.anaconda.com/products/individual#Downloads相关安装教程:anaconda安装教程下载什么版本的python无所谓,反正最后项目工程下的虚拟环境都要创建一个新的python环境。2.CUDA选择判断电脑配置来分析是否使用GPU跑tensorflow,如果打算用CPU的话则跳过这一步。不同的CUDA驱动版本对不同的tensorflow版原创 2021-05-10 02:42:53 · 7834 阅读 · 3 评论 -
pip常用指令总结
前言pip是python中常用的工具,利用pip命令可以安装线上依赖库,以下将会介绍一下常用的pip语句查看pip的触发模式安装完pip后,在如图所示的地址中找到pip.exe的文件在这里我的文件名问pip3,所以在调用的时候我要用pip3去调用,否则就会这样常用的Pip语句输入pip3后可以查看到所有的pip语句,这里将会介绍一些常用的pip语句1.查看pip版本pip3 show pip2.安装库(1)标准安装语句(但是默认的下载地址可能会很慢)pip3 install原创 2021-03-31 23:42:18 · 2894 阅读 · 0 评论 -
【Python开发手册】总结两种最常用的python打包方式
前言python的.py文件打包为一个可执行文件常常使用pyinstaller库进行操作,本文将介绍使用pyinstaller给.py程序打包的两种方法正题1.首先,在命令窗口安装pyinstaller包ps:我这里已经安装过了,所以显示already satisfied2.打包打包有两种语法方法语法注释方法1pyinstaller -F -w --icon=窗口文件图标 文件名.py打包为单个exe文件,一般内部包含了依赖库,所以较大方法2pyinsta原创 2021-04-10 14:16:29 · 52812 阅读 · 4 评论 -
在anaconda中配置虚拟环境教程
目录1.前言2.介绍2.1anaconda2.2conda3.流程3.1打开anaconda Prompt3.2切换镜像源3.3创建虚拟环境3.4激活该环境(进入该环境)3.5导包1.前言要用tensorflow-gpu,在anaconda可以傻瓜式安装,所以就选择了用anaconda做开发。本文将介绍如何用anaconda创建虚拟环境,隔离不同项目不同包,从而减少相互之间的依赖关系。2.介绍2.1anacondaAnaconda指的是一个开源的Python发行版本,其包含了conda、Pytho原创 2021-04-03 12:27:54 · 18509 阅读 · 0 评论 -
用python连接阿里云aliyun RDS的Mysql数据库
1.介绍因为项目需求,需要把数据传输到云服务器上,我用python写的上位机2.实战注意:因为我们并没有将客户端部署在ECS实例上,也就是说我们并不是使用DMS来连接数据库的,所以我们需要申请外网地址来连接数据库,操作步骤如下:(1)打开RDS管理控制台(2)在RDS管理控制台申请外网地址(3)设置外网地址的白名单,添加上自己的公网IP地址公网IP查询方法:http://ip.3322.net还是连接不上的话直接设置白名单为0.0.0.0/0,不过存在安全隐患,最好只在连接测试的时候开启。原创 2021-03-19 22:33:35 · 4269 阅读 · 0 评论 -
整理python语法相较于其他语言中的一些小坑
1.python中没有&&,而是使用anda =4b =3if 10>a and 10>b: print('ok')原创 2021-03-16 22:08:06 · 100 阅读 · 0 评论 -
python读取文件并进行数据处理,附演示程序
需求是这样的给定了这样一个text文件2016/5/31 0:05,vawelon001,1,12016/5/31 0:05,earpa001,1,72016/5/31 0:05,vawelon001,5,12016/5/32 0:05,earpa001,3,62016/5/31 0:05,earpa001,1,52016/5/31 0:05,vawelon001,1,12016/5/32 0:05,earpa001,2,32016/5/31 0:05,vawelon001,1,220原创 2021-03-10 16:59:35 · 979 阅读 · 1 评论 -
对于python中for循环语句的巧妙理解
列出这样一个语句:for a in b意思是对于a这个数,a是在b里面的那么如果b是一个数组[1,2,3]那么上面那句话的意思又可以翻译为:对于a这个数,a在b里面依次扮演每一个数字(即1,2,3)希望对大家有帮助...原创 2020-12-26 01:05:55 · 755 阅读 · 0 评论