#Yellx - Pro Config 分享(Chinese 中文特供)

1 messages · Page 1 of 1 (latest)

carmine sinew
#

yellx_yeah : 此帖分享本人用pro config模式制作的app及json文件,并进行简单的引导和解释。

#

写在前面:理解pro config(个人视角)

Pro Config即为Workflow,一个app的实现就是用工作流的思想,协调好各个组件的衔接关系,进行一个又一个的任务处理,并将结果渲染出来。

  • 在理解pro config的时候,我们可以先不管代码语言的括号,引号等内容,直接将其简化为最简单的大纲笔记状态。
  • 图中automata应为自动机...
#

如图简化过后,automata就是总的大标题,state就是二级标题,往下有更多的项目等

  • 一个最简单的app可能只需要一个state,进行从 inputs(用户输入)> tasks(组件执行任务)> outputs (输出结果) > render(渲染结果在屏幕上)的流程,即可完成一次交互。
  • 而transition可以实现不同state之间的跳转,用于多state的app制作。(未指定跳转哪个state的情况,默认留在原本的state下)
carmine sinew
#

简化理解即为以下过程,可以参照json文件中的注释体会,关注格式以及变量的衔接过渡。基本操作就是双括号{{}}可引用之前输入或输出的变量。

主页状态只渲染介绍文本和跳转按钮,点击按钮跳转到input_state
输入状态根据用户输入,让gpt生成文本,最终的邮件草稿渲染在屏幕上

#

在此明确一点,automata(大标题)下也可以有transitions等内容,可以在不同的state中引用。context可以用来储存一些多state都需要使用的值,以及后续可以用来给gpt增添记忆

#

在初版的基础上,我增添了重写邮件的功能,即多了一个rewrite_email_state。想尝试的朋友可以在初版的基础上自行完成,参考对照。以及理解automata下的context和transitions,可以在不同state中引用。
Bot Link:https://app.myshell.ai/bot/MZvaui/1711848718
新版Json文件:

#

App 2 Text Tools Pro

这个app是一个简单的文本处理工具箱,首页设置6个不同的按钮,对应跳转六个不同的state,完成不同的工作。如果理解了上边的内容,这个app的制作其实也很简单。
Bot Link:https://app.myshell.ai/bot/bQVnY3/1711694375

#

在此app中,我还引用了MeloTTS组件实现文字转语音的功能,如何去引用官方组件?

  • 创作工坊 > 组件广场 > 找到你想用的组件 > 右上角三个点 > 复制ID/复制pro config
#

需要注意:官方的组件配置作为示例不一定能直接使用。有些组件需要输入的值有特定要求。

  • 比如MeloTTS选择语言时,只识别en_us, en_br等规定的格式,不能直接输入English这种,否则会报错;
  • StableDiffusion组件选择model时,需要输入一串数字id而非名称,可在civitai网站的链接上获取。在此不做展开,可参照报错提示或大家分享的代码修改。
#

App3 Talkshell

Botlink:https://app.myshell.ai/bot/YvYv2e/1711643317
这个app按照Tinder的流程进行设计,结合了llm和sd的能力。

  1. 前两个app的llm均无记忆,而在此app中,不同的task下,llm有一次性记忆的,有记得上一次记忆的,也有有长期记忆的情况。

    • 我在生成角色简单信息的system prompt中写入了
      Name and age are different from {{context.random_sample_info}} 以使gpt此次生成结果和上次不同,达到类似随机生成的效果,不至于生成和之前相似的人物;

    • 聊天用的llm,则借助"context.memory": "{{[...context.memory, {'user': user_message}, {'assistant': reply}]}}"来实现长期记忆

  2. 此app的语音是可选择的,根据用户输入的目标性别对应预设的男性/女性语音。
    "context.tts_widget_url": "{{context.target_gender == 'Male' ? 'https://app.myshell.ai/widget/UVNFVb' : 'https://app.myshell.ai/widget/e2E7Zj'}}",

carmine sinew
#

在白板上绘制流程图可以帮助我们理清逻辑关系,合理布局。

#

Talkshell Json文件:

#

App 4:Language Partner Zoe

Bot link:https://app.myshell.ai/bot/uYVR3i/1711694987
此app利用llm和melotts的多语言能力,制作了一个多语种的语伴。用户可以选择自身的母语以及想学习的语言,进行交流对话,提高表达能力。

#

Chat 页面主要执行了三个任务:llm 1 - 生成语伴Zoe的回复,MeloTTS语音输出Zoe的回复,llm 2 - 针对Zoe的回复生成句子结构分析,翻译和回复建议。
渲染时统一渲染三个结果。

#

该app中用到了字典对应,使'English(American)'等内容变成'en_us'格式,用于MeloTTS的语言识别;
分析内容的输出格式,使用了html <detail>,以使各项内容默认折叠起来,不影响正常聊天体验。
具体内容参见下方Json文件

#

写在末尾:
有啥问题可以在此帖下方回复,后续新app的内容也将在此分享,感谢阅读。clara_lovesit
...

uneven laurel
solar flame
#

学起来

carmine sinew
#

Yellx - Pro Config 分享(Chinese 中文特供)

carmine sinew
carmine sinew
#
MyShell 进阶 - 入门 Pro Config - 去中心化全栈瓜

这是一篇 Pro Config 入门教程。通过一个 Hello World 实例和一个 Chatbot 实例,展示了如何使用 Pro Config 模式中的自动机(Automata)和原子态(AtomicState)来控制 Bot 进入不同状态,并处理用户输入和输出。通过这些例子,读者可以快速理解 Pro Config 模式的工作流程,并开始编写自己的 Bot。