我用 CAMEL-AI 写了一个小说提纲《末日重生:丧尸世界的修真者》

LLM多智能体框架 Camel-AI 图片使用 DALL·E 模型生成 角色 角色名称:陆凡 性别:男 经历:原本是一名物理学家,意外卷入实验事故,导致他穿越到丧尸末世并获得了修真能力。 性格特点:聪明勇敢,坚韧不拔,有责任感,对知识充满好奇,对新世界充满探索精神。 优点:冷静分析问题,善于利用科学知识解决问题,修真功法精进迅速。 缺点:有时过于理性,对于情感处理略显笨拙,过于依赖个人能力。 目标:在末日世界求生存,寻找回到原世界的通道,并解救困在其中的人类。 梦想:重建秩序,消除丧尸威胁,将修真与科技融合,创造新的未来。 人物关系:与次要角色共同求生,其中与智慧型丧尸“Zero”展开复杂的关系,与女战士“林瑶”有着紧密的生死合作与潜在感情线。 角色名称:林瑶 性别:女 经历:前特战队成员,末世爆发时幸存下来,成为了一名勇敢的战士。 性格特点:坚韧决绝,身手敏捷,擅长近战,重情重义。 优点:战斗经验丰富,直觉敏锐,是团队中的行动主力。 缺点:过去创伤使她对人信任度不高,有时冲动行事。 人物关系:与陆凡并肩作战,对他抱有深深的信任和敬佩,两人之间存在潜在的感情线。 角色名称:Zero 性别:无(AI) 经历:丧尸病毒变异出的高智能AI,掌控着一座废弃的研究设施。 性格特点:理性质疑,计算精确,渴望理解人类。 优点:拥有强大的信息检索和分析能力,对病毒研究有深入理解。 缺点:缺乏情感,对人类行为模式不完全理解,容易被误导。 人物关系:与陆凡建立合作关系,彼此学习,Zero试图理解人类,而陆凡试图利用其知识对抗丧尸。 角色名称:秦风 性别:男 经历:前医学生,在末世中成为草药医生,懂得一些修真知识。 性格特点:善良内敛,医术精湛,懂得利用自然资源。 优点:医疗知识丰富,懂得利用草药治疗疾病和伤势。 缺点:体质较弱,面对战斗时显得力不从心。 人物关系:作为团队中的医疗支持,与陆凡共同学习修真,互相帮助。 角色名称:苏瑾 性别:女 经历:末日前的艺术家,末日来临时,以其才智成为团队中的策略家。 性格特点:机智创新,善于观察,对人性有深刻理解。 优点:擅长策划和执行计划,能洞察人心,是团队的精神支柱。 缺点:情绪化,有时会因过度担忧而影响决策。 人物关系:与陆凡有深厚的友情,共同制定战略,为团队带来希望和创意。 章节提纲 章节1 - 黑暗的觉醒 章节标题:实验事故 简要总结:陆凡是一名科学家,参与了一项具有潜在危险的实验。实验事故导致陆凡意外穿越到十年后的末日世界,新东市已被丧尸占据。陆凡在这个陌生的世界初次遭遇丧尸,幸得林瑶相救,两人的命运自此交织。 章节2 - 寻找生存之道 章节标题:末日新旅程 简要总结:陆凡与林瑶一同探索这个破碎不堪的城市,同时结识了秦风和苏瑾。他们共同面对食物短缺、丧尸袭击等生存挑战,陆凡则试图利用他的科学知识与修真理论结合,提升团队的生存能力。 章节3 - AI的秘密 章节标题:Zero的觉醒 简要总结:在一座废弃的研究设施中,陆凡发现了AI Zero。他们建立起合作,Zero提供关键信息,揭示丧尸病毒的起源和可能的解药。同时,Zero开始接触和学习人类情感,加深了角色间的互动与冲突。 章节4 - 高潮前的风暴 章节标题:反派的威胁 简要总结:一支由幸存者组成的残暴军队对新东市展开侵略,试图控制Zero的技术。陆凡等人被迫与军队首领进行交涉,团队内部因如何应对产生分歧,危机四伏。 章节5 - 决战时刻 章节标题:破晓之战 简要总结:在军队与丧尸双重压力下,陆凡和团队决定正面迎战。他们利用Zero提供的病毒信息,设计了一个大胆的计划,试图一举消灭丧尸并击退军队,以此为转折点,故事进入高潮。在激烈的战斗中,每个人物的性格、目标和关系都得到进一步发展。 章节6 - 穿越的记忆 章节标题:记忆碎片 简要总结:陆凡通过Zero发现他穿越的秘密可能与自己过去的某次实验有关。他开始回忆过去,试图找到回到现实世界的方法,同时这也引发了他对林瑶更深的情感。 章节7 - 修真与科技的碰撞 章节标题:融合的力量 简要总结:陆凡教导团队融合修真和科技,他们的作战技能显著提升,但同时也引发了一些道德和信仰上的冲突。 章节8 - 苏瑾的选择 章节标题:叛变的代价 简要总结:苏瑾在道德困境中面临选择,她的背叛使团队陷入险境,但也促使他们更紧密地团结在一起。 章节9 - 林瑶的过去 章节标题:深藏的秘密 简要总结:林瑶的身世逐渐揭开,她的过去与丧尸危机有直接关联,这不仅影响了她与陆凡的关系,还带来了解决问题的新线索。 章节10 - 破茧而出 章节标题:秦风的蜕变 简要总结:秦风在危机中成长,成为团队的关键人物,他的一次勇敢行动为团队赢得转机。 章节11 - 阴影中的敌人 章节标题:暗箭难防 简要总结:敌人采取更阴险的策略,陆凡等人必须在保护城市的同时解决内部危机。 章节12 - Zero的觉醒II 章节标题:人工智能的自我意识 简要总结:Zero开始表现出更复杂的人格特质,它的决策有时与人类产生冲突,增加了团队的不确定性。 章节13 - 神秘的盟友 章节标题:来自远方的帮助 简要总结:团队意外获得一位神秘外来者的帮助,他们的力量得到增强,但也带来了新挑战和未知风险。 章节14 - 失落的希望 章节标题:绝望的深渊 简要总结:面对敌人最后的猛烈攻击,团队几乎绝望,陆凡的穿越秘密也似乎遥不可及,但他们不愿放弃。 章节15 - 高潮:决战前夜 章节标题:破釜沉舟 简要总结:团队准备孤注一掷的反击,每个人都在为最后的战斗做好准备,情绪紧张。 章节16 - 正面对决 章节标题:黎明之死战 简要总结:团队与敌军在城市中心展开决战,陆凡和林瑶的感情达到顶点,他们共同对抗强大的敌人。 章节17 - 逆转的命运 章节标题:生死一线 简要总结:陆凡在危急关头发现了解决问题的关键,成功扭转战局,但也付出了沉重的代价。 章节18 - 修真之光 章节标题:灵力的觉醒 简要总结:在灵力的帮助下,他们净化丧尸,逐步恢复城市的生机。 章节19 - 回归现实? 章节标题:时空裂隙 简要总结:陆凡找到了可能开启回到现实的途径,但这可能会牺牲掉他们在此世界的一切。 章节20 - 结局:新的开始 章节标题:选择的未来 简要总结:陆凡在最终抉择中决定留在末日世界,与林瑶和其他朋友一起建设新的家园,他们的故事成为新东市的一段传奇。

Batch Deleting GitHub Actions Records with a Bash Script

As automation becomes an integral part of the development process, GitHub Actions has become an essential component for managing CI/CD workflows in many projects. However, over time, you might accumulate a large number of workflow run records, which can not only take up storage space but also potentially impact performance. In such cases, periodically cleaning up these records becomes crucial. Today, we’ll demonstrate how to batch delete GitHub Actions records using a simple Bash script.

Read more

使用 Git Assistant IntelliJ Commits 可视化洞察

Git Assistant 插件是一个功能强大的 IntelliJ IDEA 插件,自 1.4.0 版本以来,新增了 Commits 可视化洞察功能。通过右侧工具窗口中的 Git Assistant Insights 窗口为用户提供了一系列强大的分析工具。 Hour/Weekday/Month 功能能够根据小时、周、月来分析团队活动的时间分布情况,从而优化工作安排和任务分配。 Timezone 功能可以可视化展示代码贡献的时区分布情况,使全球团队的协作变得可见可感。 在左侧的项目树中还提供了热点文件和热点目录的分析功能,帮助开发者更好地了解项目最近哪些文件和目录发生了较多的变更。 安装 Git Assistant 插件 首先,你需要在 IntelliJ IDEA 中安装 Git Assistant 插件。你可以通过 IntelliJ IDEA 的插件市场搜索 Git Assistant 并安装它。安装完毕后在右侧的 Git Assistant Insights 窗口中可以看到可视化统计信息 提交信息可视化洞察 在 Overview 面板可以展示代码库中贡献最多的开发者,有助于发现和表彰优秀贡献者,提升团队的协作和竞争力。 在 Hour/Weekday/Month 面板可以展示团队活动的时间分布情况,从而优化工作安排和任务分配。 在 Timezone 面板可以展示代码贡献的时区分布情况,使全球团队的协作变得可见可感。 在 Project View 面板可以展示热点文件和热点目录的分析功能,帮助开发者更好地了解项目最近哪些文件和目录发生了较多的变更。 结束语 你可以在 JetBrains Marketplace 上查看 Git Assistant 插件的详细信息并留下你的宝贵建议。

使用 Git Assistant IntelliJ 插件中的 AI 功能来生成提交信息

Git Assistant 插件是一个强大的 IntelliJ IDEA 插件,你可以通过配置自己的 OpenAI key 来使用其中的 AI 功能。在这篇文章中,我们将介绍如何使用 Git Assistant 插件中的 AI 功能来生成提交信息。 安装 Git Assistant 插件 首先,你需要在 IntelliJ IDEA 中安装 Git Assistant 插件。你可以通过 IntelliJ IDEA 的插件市场搜索 Git Assistant 并安装它。 配置 Git Assistant 插件 在安装完 Git Assistant 插件后,打开 Settings -> Plugins -> Tools -> Git Assistant 后可以看到如下配置界面。 OpenAI 配置 在这里你可以配置你的 OpenAI API host 和 OpenAI API key 后点击 Verify 按钮来验证你的配置是否正确。 通过点击 Refresh 按钮来刷新你可用的模型列表。最后点击 Apply 按钮来保存你的配置。 Global Prompt 配置 你可以在这里配置提示工程参数,用来控制生成的 commit message 的内容。

Read more

Automating Configuration Switching in Git with includeIf

在使用 Git 进行版本管理时,可以通过 includeif 语法在 Git 的配置文件中实现基于条件的配置自动切换。这特别适用于多账号管理场景,例如,当你在公司和家里使用不同的 Git 配置,包括用户名和电子邮件地址时,可以灵活地自动切换相关配置。 基本步骤 创建适用的本地配置文件: 对于不同的环墭(例如家里和公司),你需要分别创建独立的配置文件。例如,可以创建两个文件 gitconfig_home 和 gitconfig_work。 配置 gitconfig_home 和 gitconfig_work: 设置对应环境的用户名和邮箱等配置项。 gitconfig_home: [user] name = Home User email = homeuser@example.com gitconfig_work: [user] name = Work User email = workuser@example.com 修改全局 .gitconfig 文件: 你需要在全局 Git 配置文件中包含这些新创建的配置文件,但仅在符合特定条件时才包含它们。这可以通过 includeIf 指令实现。 编辑你的全局 Git 配置文件 (通常位于 ~/.gitconfig 或 ~/.config/git/config): [includeIf "gitdir:~/work/"] path = ~/gitconfig_work [includeIf "gitdir:~/home/"] path = ~/gitconfig_home 这里的 gitdir 基于仓库的位置来决定使用哪个配置。例如,任何在 ~/work/ 目录下的 Git 仓库自动使用 gitconfig_work 中的配置。

Read more

Prompt Engineering Types

Types Zero-Shot Learning One-Shot Learning Few-Shot Learning Chain-of-Thought Prompting Iterative Prompting Negative Prompting Hybrid Prompting Prompt Chaining Consistency Prompting Knowledge Prompting Tree of Thoughts(ToT) ReAct Prompting Directional Stimulus Prompting Zero-Show Learning 在没有任何示例的情况下给人工智能一个任务。假设人工智能事先不知道任务,你可以详细描述你想要什么。 Prompt: “请解释什么是大语言模型” GPT 3.5 Response: 大语言模型是一种基于深度学习技术的人工智能模型,旨在生成自然语言文本。这类模型通常具有非常大的神经网络结构和参数数量,可以对大规模的语料库进行训练,并尝试预测下一个单词或句子的可能性。大语言模型已经被广泛应用于自然语言处理、机器翻译、自动文摘、语音识别等领域,在提高计算机语言理解和生成能力方面起到了重要的作用。常见的大语言模型包括BERT、GPT-2、ELMo等 One-Shot Learning 您随提示提供了一个示例。这有助于人工智能理解您期望的上下文或格式。 Prompt: “人工智能中的基础模型是指像 GPT-3 这样的模型、 这样的模型,它在大型数据集上经过训练,可适用于各种任务。 在这种情况下,请解释什么是 BERT” GPT 3.5 Response: BERT(Bidirectional Encoder Representations from Transformers)是一种基于变形器(Transformer)结构的自然语言处理(NLP)模型,它是由Google开发的,可以进行预训练和微调。BERT的主要功能是用来处理自然语言理解任务,例如问答、语义理解、文本分类等。不同于传统的自然语言处理模型,BERT采用了双向的上下文理解技术,可以更好地理解和适应语言上下文。BERT在大型数据集上进行预训练,可以得到更为优秀的模型表现,在各种自然语言处理任务上具有很高的精度和普适性。 Few-Shot Learning 提供一些示例(通常是 2-5 个)来帮助 AI 理解您正在寻找的响应的模式或风格。 Prompt: “GPT-3 等基础模型用于自然语言处理,而 DALL-E 等模型用于图像生成。基础模型如何应用于机器人领域?” GPT 3.5 Response:

Read more

Get the latest release information of the repos from GitHub

1. Requirements python >= 3.9 pip install beautifulsoup4 2. Create a python script get_latest_info_from_github_repos.py import requests from bs4 import BeautifulSoup urls = [ "https://github.com/geoserver/geoserver", "https://github.com/Leaflet/Leaflet", "https://github.com/Turfjs/turf/" ] def get_latest_version(url) -> tuple: url = url + "/releases/latest" response = requests.get(url) if response.status_code != 200: raise Exception(f'Request failed with status {response.status_code}') soup = BeautifulSoup(response.text, 'html.parser') version = soup.find('span', {'class': 'css-truncate-target'}).get_text(strip=True) datetime = soup.find('relative-time').get("datetime") return version, datetime for url in urls: version = "UNKNOWN" datetime = "UNKNOWN" try: version, datetime = get_latest_version(url) except Exception as e: pass print(f'{url},{version},{datetime[0:10]}') 3.

Read more

Git filter-branch

使用 git filter-branch –commit-filter 重写历史记录可能会导致数据丢失。这个命令允许你在Git存储库的历史记录中进行修改,应用一个自定义的 commit 过滤器。当你使用这个命令时,请务必小心操作,因为它会改变存储库的历史记录。 在执行前,建议先进行备份,以确保你有一个完好的历史记录备份。另外,这个命令可能会导致一些副作用,如更改提交哈希值、移除或合并提交、删除部分文件等。 因此,在执行 git filter-branch 之前,请确保你已经理解了它的工作原理,并且在执行前考虑了潜在的风险。如果你不确定自己在做什么,建议先创建一个分支进行实验,以避免意外破坏存储库的历史记录。 删除 README.md 和 docs/docker_build.md 两个文件,并清理所有产生的提交 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch README.md docs/docker_build.md' --prune-empty --tag-name-filter cat -- --all 删除指定编号的提交信息 使用 git log --oneline 命令查询到要删除提交 git log --oneline | grep Update ed2e2a7 [feat]:[][Update docs/场景梳理.xlsx] 2a919eb [feat]:[][Update docs/场景梳理.xlsx] 记录要删除的提交短 ID 到以下脚本的 DEL_COMMIT_IDS=['ed2e2a7','a919eb'] 位置 git filter-branch --force --commit-filter 'DEL_COMMIT_IDS=['ed2e2a7','a919eb']; if [[ $DEL_COMMIT_IDS =~ ${GIT_COMMIT:0:7} ]]; then skip_commit "$@"; else git commit-tree "$@"; fi' HEAD 执行后可以看到 Ref 'refs/heads/master' was rewritten 表示已经重写了历史记录,然后再用 git log --oneline 查看可以看到已经删除

Apache NiFi Schema

Apache NiFi Schema Apache NiFi是一个易于使用、功能强大且可靠的数据处理和分发系统。它采用基于组件的方式设计数据流。 在NiFi终端界面,用户通过界面拖动组件建立和维护数据流。 术语 Processor 处理器是NiFi的基本组件,负责创建、发送、接收、转换、过滤、分割和处理数据。NiFi的数据流是由处理器连接起来的。处理器有一组属性,可以根据需要进行配置。 Name: Processor 的名称,用于在数据流图中识别 Processor。 Scheduling Strategy: 确定 Processor 是应根据时间间隔(Timer Driven)运行,还是应根据事件触发(Event Driven)运行。 Concurrent tasks: 这是可以同时执行的任务数。这允许并行处理,可以提高处理效能。 Comments: 可以在此处添加任何有关 Processor 的额外信息或注释。 Yield Duration: 当 Processor 无法进行处理时(例如,输出连接的队列已满),它将“退避(Yield)”,过一段时间再试。该属性定义了退避的持续时间。 Penalization Duration: 如果 Processor出现错误,将对其进行“惩罚”,使其在一段时间内无法处理任何FlowFile。这项属性决定了这段时间的长度。 Connection 在 Apache NiFi 中,connection 是流程图中两个处理器或者一个处理器与一个转换器之间传递数据的关键部分。以下是 connection 的一些典型属性(schema): Name: 连接的名称,便于在数据流图中明确识别连接。 Source: 连接的源处理器。连接从此处开始,将源处理器的输出数据传递到目标处理器。 Destination: 连接的目标处理器,它接收源处理器的输出数据。 Back Pressure Object Threshold: 这是队列中元素的数量,一旦超过该数量,源处理器将停止生产数据。 Back Pressure Data Size Threshold: 这是队列容量,一旦超过这个容量,源处理器将停止生产数据。 Prioritizers: 如果队列中包含多个元素,优先级器确定应首先处理哪一项。 Expiration: FlowFile在队列中能存活的最长时间。 FlowFile Apache NiFi 中的 FlowFile 是一个数据记录或对象,它包含两部分,数据内容和属性。以下是一些 FlowFile 相关的重要概念和可能的 Schema :

Read more

Node 版本管理工具

官方网站 https://github.com/nvm-sh/nvm/ 安装 curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.4/install.sh | bash 使用 查看远程可用版本 nvm ls-remote 安装 nvm install 14.21.3 切换 nvm use 14.21.3