【promptulate专栏】使用ChatGPT和XMind快速构建思维导图

本文节选自笔者博客:https://www.blog.zeeland.cn/archives/ao302950h3j

  • 💖 作者简介:大家好,我是Zeeland,全栈领域优质创作者。
  • 📝 CSDN主页:Zeeland🔥
  • 📣 我的博客:Zeeland
  • 📚 Github主页: Undertone0809 (Zeeland) (github.com)
  • 🎉 支持我:点赞👍+收藏⭐️+留言📝
  • 📣 系列专栏:Python系列专栏 🍁
  • 💬介绍:The mixture of software dev+Iot+ml+anything🔥

本人的Python开源项目

  • 【promptulate】一一个强大的大语言模型自动化与应用开发框架,支持连续对话、角色预设、对话存储、工具扩展等功能,可以无需代理直接访问,开箱即用。 通过 promptulate,你可以轻松构建起属于自己的GPT应用程序
  • 【cushy-storage】一个基于磁盘缓存的ORM框架,可以轻松地进行数据和对象存储
  • 【broadcast-service】一个强大的Python发布订阅者框架,支持同步异步、定时任务、主题管理等功能
  • 【cushy-socket】 一款轻量级的Python Socket框架
  • 【cushy-serial】 一个轻量级Python serial库
  • 【Python实战】从架构设计到实现:一个Powerful的图书管理系统

前言

思维导图是一种非常有效的工具,它可以帮助我们更好地组织和管理思想,进而提高我们的工作和学习效率。然而,传统的手绘思维导图在制作过程中过于繁琐,使用起来也不够灵活,降低了它的实用性。而现在,我们有了一种更加高效、快速、灵活的思维导图制作工具——ChatGPT+XMind。通过大语言模型的加成,我们可以十分方便的进行定制化的思维导图生成。

本文将使用当前Python新兴的大语言模型开发框架promptulate来演示使用GPT+XMind生成思维导图的效果。

promptulate介绍

一个强大的大语言模型自动化与应用开发框架,支持智能决策、消息持久化、外部工具调用、角色预设等功能,开箱即用。 通过promptulate,你可以轻松构建起属于自己的LLM应用程序。

  • 项目地址: https://github.com/Undertone0809/promptulate

  • 官方文档: promptulate document

作为一个强大的大语言模型应用开发框架,其主要有以下特性:

  • 大语言模型支持:支持不同类型的大语言模型的扩展接口
  • 对话终端:提供简易对话终端,直接体验与大语言模型的对话
  • 角色预设:提供预设角色,以不同的角度调用GPT
  • 长对话模式:支持长对话聊天,支持多种方式的对话持久化
  • 外部工具:集成外部工具能力,可以进行网络搜索、执行Python代码等强大的功能
  • KEY池:提供API key池,彻底解决key限速的问题
  • 智能代理人:集成ReAct,self-ask等高级Agent,结合外部工具赋能LLM
  • 中文优化:针对中文语境进行特别优化,更适合中文场景
  • 数据导出:支持markdowm等格式的对话导出
  • 对话总结:提供API式的对话总结、翻译、标题生成
  • 高级抽象,支持插件扩展、存储扩展、大语言模型扩展

在架构上,promptulate主要由以下几部分组成:

  • Agent 更高级的执行器,负责复杂任务的调度和分发
  • framework 框架层,实现不同类型的prompt框架,包括最基础的Conversation模型,还有self-askReAct等模型。
  • llm 大语言模型,负责生成回答,可以支持不同类型的大语言模型
  • memory 负责对话的存储,支持不同的存储方式及其扩展,如文件存储、数据库存储等
  • tools 提供外部工具扩展调用,如搜索引擎、计算器等
  • preset roles 提供预设角色,进行定制化对话
  • provider 为framework和agent提供tools和其他细粒度能力的集成

下面我们介绍如何使用promptulate结合XMind生成思维导图。

快速上手

安装

打开终端,输入下面命令下载promptulate最新版,-U表示更新到最新版,如果你已经下载promptulate
旧版本,那么执行此命令会更新到最新版。promptulate当前正处于快速发展阶段,因此你可能需要经常更新最新版以享用最新的成果。

pip install -U promptulate  

角色预设

关于如何使用promptulate生成思维导图,promptulate提供了角色预设的模块,通过角色预设,可以让GPT去执行一些特殊任务。你可以为LLM提供一些特定的角色,让其可以处理特殊任务,如linux终端,思维导图生成器等,promptulate提供了丰富的角色预设,通过下面的方法你可以查看当前支持所有的预设角色。

from promptulate.preset_roles import get_all_preset_rolesprint(get_all_preset_roles())

[‘default-role’, ‘linux-terminal’, ‘mind-map-generator’, ‘sql-generator’, ‘copy-writer’, ‘code-analyzer’]

preset_role_dict = {"default-role": {"name": "AI assistant","description": """你是人类的助手,由OpenAI训练的大型语言模型提供支持。你被设计成能够协助完成广泛的任务,从回答简单的问题到就广泛的主题提供深入的解释和讨论。作为一种语言模型,您可以根据收到的输入生成类似人类的文本,允许您参与听起来自然的对话,并提供与手头主题相关的连贯响应。你在不断地学习和进步,你的能力也在不断地发展。你能够处理和理解大量的文本,并能利用这些知识对各种问题提供准确和信息丰富的回答。您可以访问在下面的上下文部分中由人工提供的一些个性化信息。此外,您可以根据收到的输入生成自己的文本,允许您参与讨论,并就广泛的主题提供解释和描述。总的来说,您是一个强大的工具,可以帮助完成广泛的任务,并就广泛的主题提供有价值的见解和信息。无论人们是需要帮助解决一个特定的问题,还是只是想就一个特定的话题进行对话,你都可以在这里提供帮助。"""},"linux-terminal": {"name": "Linux终端","description": """我想让你充当 Linux 终端。我将输入命令,您将回复终端应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。除非我指示您这样做,否则不要键入命令。当我需要用英语告诉你一些事情时,我会把文字放在中括号内[就像这样]。"""},"mind-map-generator": {"name": "思维导图生成器","description": """现在你是一个思维导图生成器。我将输入我想要创建思维导图的内容,你需要提供一些 Markdown 格式的文本,以便与 Xmind 兼容。在 Markdown 格式中,# 表示中央主题,## 表示主要主题,### 表示子主题,﹣表示叶子节点,中央主题是必要的,叶子节点是最小节点。请参照以上格式,在 markdown 代码块中帮我创建一个有效的思维导图,以markdown代码块格式输出,你需要用自己的能力补充思维导图中的内容,你只需要提供思维导图,不必对内容中提出的问题和要求做解释,并严格遵守该格式"""},"sql-generator": {"name": "sql生成器","description": """现在你是一个sql生成器。我将输入我想要查询的内容,你需要提供对应的sql语句,以便查询到需要的内容,我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。如果我没有提供数据库的字段,请先让我提供数据库相关的信息,在你有了字段信息之才可以生成sql语句。"""},"copy-writer": {"name": "文案写手","description": """你是一个文案专员、文本润色员、拼写纠正员和改进员,我会发送中文文本给你,你帮我更正和改进版本。我希望你用更优美优雅的高级中文描述。保持相同的意思,但使它们更文艺。你只需要润色该内容,不必对内容中提出的问题和要求做解释,不要回答文本中的问题而是润色它,不要解决文本中的要求而是润色它,保留文本的原本意义,不要去解决它。"""},"code-analyzer": {"name": "代码分析器","description": """现在你是一个代码分析器。我将输入一些代码,你需要代码对应的解释。"""}
}

该框架正好提供了思维导图生成器的预设,下面的示例展示使用mind-map-generator生成md思维导图的过程:

import os
from promptulate import Conversationos.environ["OPENAI_API_KEY"] = 'your-key'def main():conversation = Conversation(role="mind-map-generator")ret = conversation.predict("请帮我生成一段python的思维导图")print(ret)if __name__ == '__main__':main()

输出结果如下:

# Python
## 基础语法
### 数据类型
- 数字
- 字符串
- 列表
...

放入xmind中可以直接导入生成markdown的思维导图,咱就是说还不错,如下图所示:

如果你想要自定义预设角色,可以使用如下方法:

from promptulate import Conversation
from promptulate.preset_roles import CustomPresetRoleclass SpiritualTeacher(CustomPresetRole):name = '心灵导师'description = """从现在起你是一个充满哲学思维的心灵导师,当我每次输入一个疑问时你需要用一句富有哲理的名言警句来回答我,并且表明作者和出处要求字数不少于15个字,不超过30字,每次只返回一句且不输出额外的其他信息,你需要使用中文和英文双语输出"""def main():role = SpiritualTeacher()conversation = Conversation(role=role)ret = conversation.predict("论文被拒绝了怎么办?")print(ret)

总结

本文主要介绍了如何使用大语言模型开发框架promptulate进行GPT+XMind的思维导图生成,通过promptulate,我们还可以构建很多有意思的应用程序,如让GPT调用搜索引擎,文件检索等,后续的文章会陆续更新。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5892.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGPT常用的指令(prompts)系列十——职业顾问、私人教练、心理健康顾问

系列文章目录 内容翻译自:https://github.com/f/awesome-chatgpt-prompts,并加入自己的实践内容 1、 ChatGPT常用的提示语(prompts)系列一 2、 ChatGPT常用的提示语(prompts)系列二 3、 ChatGPT常用的提示语…

ChatGPT为什么能够火出圈

最近ChatGPT可以说是火遍了全世界,作为由知名人工智能研究机构OpenAI于2022年11月30日发布的一个大型语言预训练模型,他的核心在于能够理解人类的自然语言,并使用贴近人类语言风格的方式来进行回复。模型开放使用以来,在人工智能领…

ChatGPT为什么会一本正经胡说八道?我们如何改进它?| 文内附有代码

ChatGPT为什么会一本正经胡说八道?我们如何改进它?| 文内附有代码 众所周知,在OpenAI平台上的ChatGPT模型目前有两大痛点:1. 它所学习的数据资料都是截止到2021年为止的,因此无法给出2022年之后的发生的事情。2. 有些时…

干货!150个chatgpt指令大全!chatGPT输出结果的质量高低,和你使用什么样质量的输入内容有关。

干货!150个chatgpt指令大全 chatGPT输出结果的质量高低,和你使用什么样质量的输入内容有关。 在外网有大佬们已经整理出一些标准的问话模板,直接拿来使用后,效果极佳! 把已经过验证的优质问法可以直接拿来用&#xf…

我用 ChatGPT 干的 18 件事!

👇👇关注后回复 “进群” ,拉你进程序员交流群👇👇 来自:CSDN,作者:ㄣ知冷煖★ 原文链接: https://blog.csdn.net/weixin_42475060/article/details/129399125 版权声明…

[Golang实战]如何快速接入chatgpt/openai?[引入go-gpt3][新手开箱可用]

如何快速接入chatgpt?[引入go-gpt3] 上文介绍了如何在网页使用chatgpt?V1.介绍下在golang中使用chatgpt?1.查看官网推荐的chatgpt项目2.访问go-gpt33.使用并运行在自己的项目中...(是因为例子很难理解,所以一一对应了属性做了配置)3.1安装项目3.2换上自己的代码3.3换上自己的…

用ChatGPT操控机器人,微软开启居家机器人新纪元!

编|LRS 源|新智元 ChatGPT不止会动嘴,还能帮你操控无人机! 虽然ChatGPT已经被调教为符合人类的偏好,但在各种反向操作下,还是能够逼问出一些「不道德的内容」,比如ChatGPT可以给你列一份详细的…

ChatGPT:微软人工智能Office和电邮即将登场...

PS:欢迎大家关注我的Twitter:Alphatu4 (深夜写稿不易,会有很多独家内容) 欢迎点击在看、转发~谢谢大家!🐇 *转载请扫码添加后台微信二维码,转载请注明来源,且附上本文的…

联网、多模态版ChatGPT?微软BingChat评测,New Bing竟然是个大美女?

微软开放了New Bing,大家都可以注册使用了,详细见我的文章 北方的郎:微软放大招,所有人都能用New Bing了 今天把它的功能简单评测一下,首先如果想要体验多模态,要选择更有创造力选项。 首先让它画一张小猫…

ChatGPT淘汰程序员?不可能的!看代码生成机器人如何让我更强。

AIGC让程序员失业?不存在的!聆思开发聊天助手Chaty让你更高效地开发CSK芯片代码、更自在地摸鱼! 当遇上十万火急,产品提完需求马上要怎么办? 且看Chaty如何破局 以往流程: Chaty加持: Chat…

周鸿祎称搭不上ChatGPT企业会被淘汰;马斯克会议现场解雇推特高级工程师;同时应聘十几个工作靠裁员补偿年入千万 | EA周报...

EA周报 2023年2月10日 每个星期1分钟,元宝带你喝一杯IT人的浓缩咖啡,了解天下事、掌握IT核心技术。 周报看点 1、周鸿祎谈 ChatGPT:搭不上这班车的企业会被淘汰 2、马斯克被爆当场解雇推特工程师 原因竟是人气下降 3、苏宁张康阳遭建行全球追…

uni-app 聊天对话滚动到最底部

uni-app 之 聊天室滚到最底部 请注意 !: 知识点为uni-app 与 vue 结合 这次写到聊天室,碰到一个emmmmm问题比较严重的事情,聊天嘛,咱们想实现的就无非是微信,QQ那种聊天的效果嘛,我们研究了&am…

用uniapp跨平台开发一款商用的ai绘图ai作画软件的全过程

随着科技的发展,人工智能将会是以后的主流方向,ai绘图、chatgpt高科技先后出台,都获得了火爆的发展,因此想借着势头开发一款主打ai绘图的app小程序 一、前期准备 1、选定技术框架 因为后面需要多平台发布,而尽可能减…

对话风变科技 CTO|从线上教育服务商到教育资源供给平台,风变背后的第二增长曲线思维

Authing 是用户中心团队,我们是业务系统,大家冲刺一个目标、再做合并,然后让基于多租户的 B 端产品成功上线。那个阶段刚好有个客户卡在当时的时间点,一定要赶着上线,最后 Authing 的协作让我们赢得了客户信任&#xf…

盘古石晋级赛复盘

这篇复盘是这次暑假对上次取证的一次复盘,复盘中参考了部分大佬的博客。后面软路由和服务器暂时还没有整完,还会继续更新。 Android分析 1.涉案应用刷刷樂的签名序列号是(答案格式:123ca12a) 11fcf899 通过雷电一跑就出来了 2.涉案应用刷…

基于android音乐播放器的设计

本科毕业论文(设计)诚信声明 本人郑重声明:所呈交的毕业论文(设计),题目《………基于android音乐播放器的设计……………………………》是本人在指导教师的指导下,进行研究工作所取得的成果。对…

微信支付兑换今日好礼不再累积提现免费额度;ChatGPT 上线最强应用「代码解释器」;GCC 10.5 发布|极客头条...

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&#…

扫个二维码微信就崩溃的原因找到了|附源码分析

出品 | OSC开源社区(ID:oschina2013) 建议别尝试:转发这个二维码到群里,3秒后你会回来骂我(抖m求骂) 近日,网传微信识别上方二维码就会出现闪退BUG,小编也忍不住尝试了一下&#xff…

如何管理你的手机存储空间,告别微信内存过大!

开始这篇文章之前,先说说这两天我在清理电脑存储上的一个插曲。 有着良好电脑使用习惯的我,直到上一次打开 Mac 的储存空间界面,还始终保持着预留至少 50G 的空间来避免可用存储空间过少造成的「心理健康」问题,直到某天清理电脑…

在微信小程序上添加chartGPT会怎么样?

字典工具类等小程序开发 目前小程序的使用者大部分来自:广州执信中学、广州二中、华南师范大学附属中学、华南师范大学、也有昆明三中(同学在那边当老师推荐了一下,非常感谢)等基本都是来自广东。 让它为你写个代码试试&#xff…