- 博客(177)
- 收藏
- 关注
原创 持续优化,构建更好地 auto git commit 体验
几个月来,我一直在维护这个框架,gcop 是一个智能的 AI copilot ,旨在帮助开发者撰写更好的 git commit message ,同时加速 git workflow 。
2024-11-04 12:30:00 804
原创 现代 Python 项目管理:pyproject.toml 完全指南
最近打算构建一些开源工具套件,想着能不能把 ruff, darglint, mypy 这些 lint 工具全部 all in one 整合一下,化简配置流程,因此详细看了一下这些框架是怎么做 pyproject.toml 配置的。在 Python 项目开发的历史长河中,我们经历了从 `setup.py` 到 `requirements.txt`,再到 `setup.cfg` 的变迁。所以你可以看到到 python 会有各种各样的配置文件,属实有点头疼,各种工具链也到处配置,真的不让人省心...
2024-11-04 07:48:25 807
原创 Windows C 盘扩容方案
在实际操作中,如果你的 C 盘和 D 盘不相邻,或者存在其他分区隔开,那么直接使用 Windows 自带的磁盘管理工具可能无法实现 C 盘扩容。这时候,你可以尝试使用专业的分区助手软件,如 MiniTool Partition Wizard,来调整分区大小。
2024-09-06 21:46:58 983
原创 ElmoCha——体验最好的 web 内容 AI 总结插件
当前体验最好的 web 内容总结插件:ElmoChat,由 Lepton 开发,可以生成网页总结、摘要、观点、相关问题。非常方便的是,总结的内容提供了 reference,点击可以直接移动到对应的网页内容,并且提供 highlight。甚至在总结 Youtube 的时候,它会生成 timeline,点击 ref 可以跳转至对应的视频片段。最近我用了很多网页总结产品,share 一下我认为最好用的 web 总结的 AI 插件。elmo.chat 能在浏览器上离线运行了,全程断网使用,看视频感受下效果。
2024-07-19 02:51:11 608
原创 gcop:简化 Git 提交流程的高效助手 | 一键生成 commit message
gcop 集成了 promptulate 的能力,这意味着你可以轻松集成市面上的任意模型,下面的一些实例展示了如何配置不同大模型厂商的模型名。model:在开发过程中,我深刻体会到简化工作流程的重要性。gcop 的诞生,就是为了让开发者能够更加专注于核心代码的编写,而不必被繁琐的提交消息所困扰。希望 gcop 能帮助更多的开发者提升工作效率。当然,同步分享一下上面提到的两个项目,promptulatep3g 这两个框架也是本人开发。
2024-06-29 20:16:06 863
原创 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 592 1
原创 OpenAI 最佳平替,使用 Promptulate 增强你的AI能力
在 pne,你可以轻松集成各种不同类型不同框架(如LangChain,llama-index)的 tools,如网络搜索、计算器等在外部工具,下面的示例中,我们使用 LangChain 的 duckduckgo 的搜索工具,来获取明天上海的天气。此外,格式化输出是 LLM 应用开发鲁棒性的重要基础,我们希望 LLM 可以返回稳定的数据,使用 pne,你可以轻松的进行格式化输出,下面的示例中,我们使用 pydantic 的 BaseModel 封装起一个需要返回的数据结构。在这个例子中,我们使用。
2024-05-07 20:31:19 1532
原创 使用 GPT-4-turbo+Streamlit+wiki+calculator构建Math Agents应用【Step by Step】
通过这个项目,我们展示了如何利用Promptulate框架中的Agent进行推理,以及如何使用不同的工具来处理用户的查询。“Math Wiz”能够处理从简单的数学计算到复杂的逻辑推理问题,是一个结合了多种技术的创新示例。通过这个应用,用户可以得到快速准确的数学问题解答,同时也展示了人工智能在教育和日常生活中的潜力。对于希望深入了解或自行构建此类应用的开发者,本文提供的详细步骤和代码示例是一个宝贵的资源。此外,通过提供的GitHub链接,读者可以直接访问完整的代码,进一步探索和修改以满足特定的需求或兴趣。
2024-05-07 20:19:27 1111
原创 腾讯云Ubuntu服务器如何使用 root 登录
问题的背景是买了个腾讯云 ubuntu 的服务器,但是其默认用户名为 ubuntu,有的时候需要一些 root 的权限,需要用 root ssh 上去,腾讯云 ubuntu 默认不支持,下面介绍解决方案。
2024-04-19 16:41:19 797
原创 轻松集成所有大模型——一站式大模型应用开发框架Promptulate
Promptulate 是Cogit Lab打造的 AI Agent 应用开发框架,通过 Pythonic 的开发范式,旨在为开发者们提供一种极其简洁而高效的 Agent 应用构建体验。🛠️ Promptulate 的核心理念在于借鉴并融合开源社区的智慧,集成各种开发框架的亮点,以此降低开发门槛并统一开发者的共识。通过 Promptulate,你可以用最简洁的代码来操纵 LLM, Agent, Tool, RAG 等组件,大多数任务仅需几行代码即可轻松完成。
2024-03-31 16:01:53 1305
原创 通过Promptulate低代码解决方案轻松创建高效LLM Agent应用
在LLM应用的开发中,开发者常常面临着选择合适的大型语言模型(LLM)和集成多样化工具的挑战。现在,有了库中的pne.chat()函数,这一切变得前所未有的简单。本文将介绍如何使用pne.chat()来构建强大而灵活的LLM应用。项目Github:相关官方文档pne.chat()作为一个一站式的AI对话开发解决方案,为开发者提供了前所未有的便利性和强大功能。无论是想要快速集成LLM,还是需要构建复杂的对话系统,pne.chat()都能大大降低开发难度,提高开发效率。随着未来对工具和检索方法的持续扩展,
2024-01-15 01:59:50 992
原创 彻底解决VM ubuntu在虚拟机找不到网卡无法上网的问题
最近 vm ubuntu 用的比较多,因为 ubuntu 里面要跑一个 k8s,需要比较大的内存,于是给 VM 分配了 30G 的内存,分配完内存后,发现 VM 里面的 ubuntu 无法上网了,于是就有了这篇文章。笔者有一次网络无法使用,就是因为 windows 下把 vmware 的 nat 服务给关闭了,导致无法上网,然而这个服务当初是我手动关闭的,因为当初对其没有概念,因此,如果你没有手动对 vmware 的 nat 服务进行关闭,那么这个方法就不适用于你了。
2023-12-28 10:26:35 6060 9
原创 手把手带你构建一个现代化的 python 项目结构
最近在搞一堆开源项目,同时面临着不断创建 python 项目的需求,故特意在 github 上逛了一圈,找到一个特别完善的 python-package-template,因源作者不再维护,因此笔者将其进行二次开发,对 windows 环境下做了特别的适配优化,并且完善了原有项目存在的一些问题。需要说明的是,这个项目可以很好地提升 python 开发的工程能力,含金量极高,下面笔者将介绍一下这个项目。
2023-10-24 01:56:39 565
原创 git stash 问题记录
总结一下,使用git stash命令可以将当前的修改暂存起来,以便你可以切换分支或者拉取最新代码。在执行这些命令之前,确保工作目录是干净的,没有未提交的修改或者未解决的冲突。在执行git stash pop之前,确保你当前的工作目录是干净的,没有未提交的修改或者未解决的冲突。如果有冲突,你需要先解决冲突,然后使用git stash drop命令丢弃之前的暂存记录,再执行git stash pop。在执行git stash之前,确保你的工作目录是干净的,没有未提交的修改。
2023-10-23 10:39:58 341
原创 【supervisor】 问题处理 unix:///var/run/supervisor/supervisor.sock no such file
usr/bin/supervisord 是直接运行 /usr/bin/supervisord 可执行文件的方式,这将启动 supervisord 进程,并使用默认的配置文件(通常是 /etc/supervisor/supervisord.conf)来管理进程。例如,如果 supervisorord 可执行文件位于 /usr/local/bin 目录中,则命令将为 /usr/local/bin/supervisord。但事实上,如果你想使用 service 进行管理,这样子是有问题的。
2023-10-20 16:54:05 2060
原创 快速解决 Resource not accessible by integration
本文将介绍 Resource not accessible by integration 的几种解决方案。也欢迎大家体验一下这个项目,一个十分标准化的 python project 模板,内置 black 代码格式化、单元测试、github actions 等方便和强大的工具,个人认为认真学完里面的东西,在工程规范上已经可以媲美一个从业几年的专业的 python 软开工程师了。
2023-10-18 23:18:58 2349
原创 【django开发手册】详解drf filter中DjangoFilterBackend,SearchFilter,OrderingFilter使用方式
django restframework filter用于API的filter内容搜索,如对于/user接口,如果你想要查询其username字段,就使用/user/?的方式进行查询,这种方式就是通过drf的filter模块构建起来的,通过drf封装的filter模块,节约了自己写query代码的工作成本,而其底层本质是drf filter来帮你实现了数据库字段查询的功能,本文将重点介绍如何快速上手构建起drf的filter。
2023-09-05 00:26:33 1443 1
原创 uwsgi部署多进程django apscheduler与问题排查
之前写django的apscheduler一直采用decorator的方式构建,因为业务的定时任务是定死的,没有产生什么其他的问题。最近定时任务需要做动态增减,进行定时任务的动态设置,因此传统的decorator写法行不通了,需要用scheduler.add_job()来添加job。最开始以为只是一个简单的函数替换,没想到替换了一下出现了很多不一样的问题,故笔者打算记录一下其中发生的问题。
2023-08-31 16:58:46 1126
原创 文心一言接入Promptulate,开发复杂LLM应用程序
最近在尝试将文心一言的LLM能力接入Promptulate,故写了一篇博客记录一下,是 Promptulate AI 旗下的大语言模型自动化与应用开发框架,旨在帮助开发者通过更小的成本构建行业级的大模型应用,其包含了LLM领域应用层开发的大部分常用组件,如外部工具组件、模型组件、Agent智能代理、外部数据源接入模块、数据存储模块、生命周期模块等。通过 Promptulate,你可以轻松构建起属于自己的LLM应用程序。Promptulate官网。
2023-08-29 09:00:00 2021
原创 Docsify + Gitalk详细配置过程讲解
这几天在给我的开源项目文档搭建评论系统,在docsify中发现了gitalk,并分享一下自己的采坑经验。gitalk。国内也有很多易于集成的评论插件,如多说、友言等。国外,用的比较多的是 Disqus。Disqus, 由于服务器架设在国外,访问速度首先是个问题,第二个就是注册比较麻烦,界面全英文,对一些小白想要快速集成评论功能的,也是相当不友好的;另外,Dispus 仅支持国外一些社交账号登录,如 Fackbook, Google, Twritter 等。
2023-08-29 03:28:16 718 1
原创 LLM 大语言模型 & Prompt Technique 论文精读-3
在机器学习领域,大型语言模型(LLMs)在几年内从不存在变得无处不在。由于领域发展迅速,很难确定剩余的挑战和已经取得的应用领域。本文旨在建立一个系统的开放问题和应用成功案例集,以便机器学习研究人员能够更快地了解该领域的当前状态并提高生产力。关键词:Large Language Models, challenges, applications, machine learning, open problems, application successes, ML researchers。
2023-07-24 12:03:42 1508
原创 LLM Prompt Technique 论文精读-2
基础模型的出现,如大型语言模型(LLMs)GPT-4和文本到图像模型DALL-E,为各个领域带来了许多可能性。人们现在可以使用自然语言(即提示)与AI进行交流以执行任务。尽管人们可以通过聊天机器人(例如ChatGPT)使用基础模型,但聊天无论底层模型的能力如何,都不是构建可重用AI服务的生产工具。像LangChain这样的API允许基于LLM的应用程序开发,但需要相当多的编程知识,从而构成了一道障碍。
2023-07-16 01:02:14 1648
原创 【imarkdown】一个轻量级markdown图片链接转换器
下面的示例展示了如何使用imarkdown上传图片自定义的文件服务器,并获取url。首先,你需要自定义一个适配器,并继承;并实现两个方法。然后你就可以将其注入中。
2023-07-13 17:37:44 1380 6
原创 LLM Prompt Technique 论文精读-1
语言模型(LMs)展示了在规模上仅仅通过少量示例或文本指令就能解决新任务的非凡能力。然而,令人矛盾的是,它们在基本功能上却表现出困难,比如算术或事实查找,而更简单、更小的模型却擅长这些。在本文中,我们展示了LMs可以通过简单的API自学使用外部工具,并实现两者的最佳结合。我们引入了Toolformer,一个经过训练的模型,用于决定调用哪些API、何时调用它们、传递什么参数以及如何最好地将结果融入未来的标记预测中。这是以自监督的方式完成的,仅需要每个API的少量演示。
2023-07-04 20:58:53 1537 1
原创 【promptulate专栏】ChatGPT框架——两行代码构建一个强大的论文总结助手
论文晦涩难懂看不明白怎么办?有很多论文需要看,没有那么多精力怎么办?如何快速总结记录论文的一些关键点为我所用?关于上面的几个问题,本文将会基于当前Python新兴的大语言模型开发框架来演示使用如何用两行代码快速构建上手构建一个属于自己的论文总结工具。下面展示如何使用构建属于自己的论文总结工具。上面章节说到过,
2023-06-26 14:27:24 473
原创 【promptulate专栏】使用ChatGPT和XMind快速构建思维导图
思维导图是一种非常有效的工具,它可以帮助我们更好地组织和管理思想,进而提高我们的工作和学习效率。然而,传统的手绘思维导图在制作过程中过于繁琐,使用起来也不够灵活,降低了它的实用性。而现在,我们有了一种更加高效、快速、灵活的思维导图制作工具——ChatGPT+XMind。通过大语言模型的加成,我们可以十分方便的进行定制化的思维导图生成。本文将使用当前Python新兴的大语言模型开发框架来演示使用GPT+XMind生成思维导图的效果。
2023-06-24 01:39:55 1988
原创 ChatGPT新突破:打造自己的智能机器人控制系统
谷歌机器人联合Everyday机器人研发的新的语言处理模型SayCan,该模型能够更好地理解语言指令并给出回答,并且能结合当前物理环境评估每个回答的真正实现可能性,从而让机器人更好地帮助用户完成任务。SayCan模型还能够提取大型语言模型中的结果,进行以语言为条件的价值函数的学习和训练,并采用强化学习方法。实验表明,SayCan模型的规划成功率为84%,执行成功率为74%,比其他模型更好地将语言任务转化为机器人行为。自谷歌提出SayCan框架以来,大语言模型赋能机器人对复杂任务的指令解释成为热门研究。
2023-06-08 17:17:29 2545 1
原创 【ORM】如何自己手写一个ORM框架
前段时间因为一个开源项目需要更新新特性,因此着手研究了一下ORM,相关pr代码已经合并入cushy-storage的最新版本中。cushy-storage是一个基于磁盘缓存的Python框架,让你无需花费精力在如何制订一套数据存储规范上,字典般的操作可以减少很多开发的成本。如果你有对本地文件数据操作的需求,使用本框架可以轻松的进行数据的本地存储。但是有的时候,我们需要对自定义对象进行增删改查,如何可以像查询数据库一下对本地文件存储的数据进行快速查询呢?
2023-06-07 15:59:12 711
原创 【Promptulate】一个强大的大语言自动化与应用开发框架,构建更强悍的GPT应用
在构建了【prompt-me】一个专为 Prompt Engineer设计LLM Prompt Layer框架架构之后,我发现可以构建一个更强大的LLM框架,于是在肝了几天把prompt-me完全组件化重构了之后,有了现在这个框架。是一个专为 Prompt Engineer设计LLM Prompt Layer框架,支持连续对话、对话保存、对话内容与标题总结、角色预设、使用外部工具等功能,开箱即用。通过,你可以轻松构建起属于自己的LLM应用程序。本项目重构重构重构了两次,在本人深度阅读。
2023-05-14 16:14:11 940 6
原创 【django开发手册】DRF自动缓存应用实践分享——缓存注解详解及实现原理
如何使用DRF自动缓存来优化API性能?以及如何解决常见的缓存问题。django cache_page和 drf cache_response的区别?缓存的更新机制本文主要讨论DRF自动缓存的使用。我们首先介绍了如何使用装饰器来缓存视图函数的响应结果。
2023-05-09 20:31:28 913
原创 【prompt-me】一个专为GPT Prompt Engineer设计LLM Prompt Layer框架
prompt-me是一个专为 Prompt Engineer设计LLM Prompt Layer框架,支持连续对话、角色预设、提供缓存的功能,可以记录历史对话等功能,开箱即用。通过 prompt-me,你可以轻松构建起属于自己的GPT应用程序。
2023-05-07 21:13:27 1077
原创 【项目实战】一个赛事组队交流分享平台——微信小程序 uniapp+springboot微服务
去年微信小程序国三,今年这个比赛绝版了,把这个项目开源出来给大家学习一下吧,整个架构还是比较完善的,特别适合学习。一问Event是一个面向大学生的赛事组队交流分享平台微信小程序,采用前后端分离的方式构建,前端采用uniapp跨平台编译到微信小程序,后端采用springcloud nacos+redis+rabbitmq+mysql的分布式技术栈构建,该项目当前因为服务器到期暂时不提供体验版本,如果想要体验可以尝试在本地构建项目,或者查看演示视频一问Event——一个面向大学生的赛事组队交流分享平台。
2023-04-25 01:14:54 130
原创 【Python开发手册】JWT Token中添加过期时间和角色:简单易学的pyjwt
随着数据和信息的大量增长,多数用户都需要更加安全和保护自己的隐私。有很多选项可以帮助我们实现这一目的,其中JSON Web Token(JWT)是一种有效的解决方案。pyjwt是一种开源的Python库,可以生成、验证和编码JWT。在本篇博客中,我将介绍pyjwt的主要特点和功能。同时,我还将探讨JWT的概念、加密和解密过程以及JWT的优点。此外,我将分享使用pyjwt时遇到的问题以及解决方案。而pyjwt是一个十分轻量级的框架,基本上可以做到开箱即用,
2023-04-23 19:20:16 2162
原创 【DRF开发手册】使用 Django Rest Framework 的 @action 定义自定义方法
如果你正在使用 Django Rest Framework 来构建 RESTful API,那么你一定会经常使用到 ViewSet 这个工具类。ViewSet 提供了一些常见操作的映射,比如 list、create、retrieve、update、destroy 等,能够很方便地实现 CRUD 操作。不过,如果你需要实现一些比较特殊的操作,那么 ViewSet 的默认方法就可能无法满足你的需求。
2023-04-18 21:43:59 2207
原创 【Python实战】从架构设计到实现:一个Powerful的图书管理系统
最近给小朋友教学python,让他们自己做一个图书管理系统,然后做完之后大家坐在一起做一下代码评审,想着他们都做了,自己也写一份给他们看一下吧。网上现有的图书管理系统可以说是一找一大堆,但是都是按照新手的水平写的,代码没有什么架构(因为有经验的人也不愿写这种系统),自己也是因为出于教学目的才重新写了一遍,正好把一些面向对象、MVC架构、高内聚低耦合、设计模式等思想传授给他们。
2023-04-16 16:42:22 1514 1
原创 【Python开发手册】深入剖析Google Python开发规范:规范Python注释写作
在Python编程中,注释的作用不仅仅是解释函数或代码块的作用,还可以提高可读性、可维护性和表达代码意图的清晰性。正确书写Python注释,既是程序员的编程规范,更是提高代码质量的必要措施。因此,本文总结了Python注释的写法规范和注意事项,以及如何利用Pycharm代码模板快速生成规范注释的方法,帮助广大程序员提高代码质量和效率。
2023-04-16 01:34:09 1291 1
原创 【Zigbee】解密Zigbee地址分配——你需要知道的一切
简单来说,Zigbee是一种通信技术。具体地,ZigBee技术是一种近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术。主要适合于自动控制和远程控制领域,可以嵌入各种设备中,同时支持地理定位功能。
2023-04-14 15:40:02 3771 1
原创 深度分析MVC和MVVM:你在选择框架的时候应该注意什么?
最近在做安卓开发,重温一下MVC和MVVM的概念,于是去网上搜了一下,网上关于MVC的介绍有很多,但是对MVVM的介绍都不是很全面,因此本人打算重新写一篇文章梳理一下,本文将介绍什么是MVC, MVVM架构,并且将引用一些简单的例子进行讲解。首先,需要明确的一点是,MVC是软件开发中一个比较成熟的概念,下面用苹果开发者文档中的一个图片来展示这个架构再适合不过了。Model:数据模型,用来存储数据View: 视图界面,用于渲染UI界面和进行用户交互。
2023-04-13 00:18:55 556
原创 【django开发手册】Django 中使用自定义用户模型:一个比自带 User 更强的选择
Django 是一个非常受欢迎的 Python web 框架,自带的用户认证体系能帮助我们简单地实现注册、登录和权限控制等功能。然而如果需要实现更多的功能,比如自定义用户属性,或者实现不同的用户类型(如普通用户和管理员用户等),使用 Django 自带的 User 模型就可能会变得比较麻烦和受限。这时候,自定义用户模型就成为了一种很好的解决方案。本篇博客将介绍如何在 Django 中创建自定义用户模型,并给出完整的代码示例。
2023-04-12 01:30:45 926 1
原创 【django开发手册】DRF外键模型查询没有信息?教你实现序列化返回
在使用DRF进行开发时,如果遇到外键模型无法正确查询的问题,可能需要手动序列化外键模型的信息。在本文中,我将介绍DRF中如何手动序列化外键模型的信息,并通过一个具体的示例来展示如何实现这一功能。本文介绍了如何手动序列化外键模型的信息,帮助开发者解决在使用DRF开发时遇到的外键模型查询问题。通过自己手动序列化外键模型信息,不仅可以获得更详细的数据,还可以更加灵活地进行数据处理和返回。希望本文能够对DRF开发者有所帮助。
2023-04-03 20:15:13 405
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人