前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >搞了一个非常牛逼的 FastGPT 塔罗牌工作流,解决专业占卜难题

搞了一个非常牛逼的 FastGPT 塔罗牌工作流,解决专业占卜难题

作者头像
米开朗基杨
发布2024-12-20 14:27:19
发布2024-12-20 14:27:19
23000
代码可运行
举报
文章被收录于专栏:云原生实验室云原生实验室
运行总次数:0
代码可运行

你听说过塔罗牌吗?

这是一种神奇的占卜工具,起源于 15 世纪的欧洲。它由 78 张牌组成 - 22 张大阿尔卡纳和 56 张小阿尔卡纳。每张牌都藏着独特的寓意,能帮你探索生活中的困惑,窥探未来的可能。有趣的是,现在塔罗牌不仅仅可以用来占卜,很多人把它当作一面镜子,用来认识自己、探索内心。

当然,科技在进步,我们可以把 AI 和传统塔罗牌结合在一起,让这门古老的智慧焕发新生。

说实话,要搭建一个专业的塔罗牌咨询系统可不是件容易事。一般来说,一个团队得花好几个月才能搞定。不过,有了 FastGPT 的工作流就不一样了,只要简单拖拖拽拽,再配合 Sealos Devbox 开发一点服务,就能搭建出一个专业的塔罗牌咨询系统。

FastGPT 提供的可视化界面超级好用,它可以把复杂的塔罗牌解读变得简单直观。只需通过简单的节点连接就能实现专业级的塔罗牌咨询服务。来,让我们一起看看怎么用 FastGPT 打造一个智能塔罗牌系统吧!

注意:本项目的塔罗牌插图来自于 https://github.com/LindseyB/tarot-api

信息咨询

卡牌抽取

卡牌初分析

结果细讨论

为什么要做 AI 塔罗机器人?

在开发这个项目前,我深入调研了塔罗占卜市场,发现了三个核心痛点:

  1. 专业门槛高,优质服务稀缺 🎴 塔罗牌解读需要掌握 78 张牌的正逆位共 156 种含义,还要熟练运用 10+种经典牌阵,理解数百种牌面组合。同时还需要具备占星学、心理学等跨学科知识。这导致优质塔罗师极度稀缺,供不应求。
  2. 使用体验不足 ⚡ 预约热门塔罗师通常需要等待 1-2 周,单次占卜要花 30-60分钟。线下店铺少且营业时间有限,想要追问还得重新预约,极不便捷。
  3. 互动性欠佳 🤝 一对一咨询容易产生压力,缺乏有效的反馈渠道。用户无法与他人交流经验,得到的建议也往往缺乏可执行性,后续服务体验割裂。

基于这些痛点,我们打造了基于 FastGPT 的 AI 塔罗机器人,带来三大突破:

  1. 在专业性方面 我们构建了完整的塔罗知识体系,通过标准化输出确保解读质量稳定可控,有效避免主观偏差。
  2. 在便捷性方面 ⚡ 我们提供 7×24 小时在线服务,支持多人同时占卜互动,秒级响应且支持深度追问对话。
  3. 在普惠性方面 💝 我们提供完全免费且不限次数的咨询服务。用户可以在群内交流经验,激发集体智慧。

通过这些创新,我们让塔罗占卜服务变得更加专业可靠 (💫)、便捷高效 (⚡)、普惠共享 (💝),让每个人都能便捷地获得优质的塔罗咨询服务。

FastGPT 工作流设计

让我们来看看如何使用 FastGPT 搭建一个专业的塔罗牌咨询系统。整个工作流程设计如下:

主要工作流程 🔄

系统的工作流程分为以下几个主要阶段:

1、初始化阶段

首先是用户引导配置,系统会通过友好的对话引导用户进入正确的咨询流程:

2、问题类型判断

系统会智能判断用户的需求类型,分为三种情况:

  • 继续已有的塔罗解读
  • 开始新的占卜流程
  • 提供塔罗知识介绍

3、信息收集阶段

系统会仔细提取用户输入中的关键信息,确保准确理解用户的咨询需求:

核心功能模块 🔧

系统包含以下核心功能模块:

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
代码语言:javascript
代码运行次数:0
复制
// 使用 AI 模型提取用户输入中的关键信息(该部分为工作流的解释)
const contentExtract = {
  model: "gpt-4o-mini",
  inputs: ["userQuestion", "questionType", "timeFrame", "spreadType"],
  confirmStatus: boolean
}

塔罗牌抽取:

HTTP 请求获取塔罗牌结果

结果解读:

状态管理与交互流程 📊

系统采用全局变量管理用户会话状态,并进行信息完整性检查:

整个交互过程包含以下步骤:

  1. 引导式对话 - 通过友好的对话引导用户表达需求
  2. 信息收集与确认 - 收集并确认用户的咨询问题和相关信息
  3. 塔罗牌抽取与展示 - 进行塔罗牌抽取并展示结果
  4. 专业解读与建议 - 提供专业的塔罗牌解读和建议

塔罗牌后端服务实现 🎴

API 接口设计

图片服务 /api/cards/[id]/image
  • 1
  • 2
代码语言:javascript
代码运行次数:0
复制
// 获取塔罗牌图片
GET /api/cards/{id}/image
抽牌服务 /api/readings
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
代码语言:javascript
代码运行次数:0
复制
// 创建新的塔罗牌阵
POST /api/readings
Request {
  spreadType: "SINGLE" | "THREE_CARDS" | "CELTIC_CROSS" | "RELATIONSHIP",
  question?: string
}
Response {
  success: boolean,
  spread: string,
  cards: TarotCard[],
  timestamp: string
}

核心数据结构 📊

塔罗牌数据
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
代码语言:javascript
代码运行次数:0
复制
interface TarotCard {
  id: number;           // 卡牌ID
  name: string;         // 中文名称
  nameEn: string;       // 英文名称
  type: 'major' | 'minor'; // 大阿卡纳或小阿卡纳
  suit?: string;        // 牌组类型(权杖/圣杯/宝剑/金币)
  description: string;  // 描述
  uprightMeaning: string;   // 正位含义
  reversedMeaning: string;  // 逆位含义
  isReversed?: boolean;     // 是否逆位
  position?: string;        // 在牌阵中的位置
}
牌阵类型
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
代码语言:javascript
代码运行次数:0
复制
const SPREAD_TYPES = {
  '单牌': 'SINGLE',
  '三牌阵': 'THREE_CARDS',
  '凯尔特十字阵': 'CELTIC_CROSS',
  '关系牌阵': 'RELATIONSHIP'
} as const;

关键功能实现 🛠️

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
代码语言:javascript
代码运行次数:0
复制
卡牌抽取逻辑
async function drawCards(deck: TarotCard[], spreadType: string) {
  // 根据牌阵类型确定抽牌数量
  const count = SPREAD_CARDS_COUNT[spreadType];
  
  // 随机抽取卡牌并添加位置信息
  return shuffled.slice(0, count).map((card, index) => ({
    ...card,
    isReversed: Math.random() > 0.5,
    position: POSITION_MEANINGS[spreadType][index]
  }));
}
图片处理
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
代码语言:javascript
代码运行次数:0
复制
// 构建图片文件路径
const imagePath = path.join(
  process.cwd(), 
  'data', 
  'tarot', 
  'cards', 
  `${fileName}.png`
);
// 返回图片数据
return new NextResponse(imageBuffer, {
  headers: {
    'Content-Type': 'image/png',
    'Cache-Control': 'public, max-age=31536000'
  }
});

完整后端代码可参考:https://github.com/Jiangween/tarot-app

再看一个感情问题的案例

我只能说:

总结

本文详细介绍了如何利用 FastGPT 打造一个专业的 AI 塔罗牌咨询系统。通过可视化的工作流设计,我们将复杂的塔罗牌解读流程变得简单直观。从信息咨询、卡牌抽取到结果分析,每个环节都经过精心设计,最终实现了一个专业、便捷且普惠的塔罗牌咨询服务。

通过这个案例,我们可以看到 FastGPT 在处理复杂对话流程时的强大能力。同时也证明了 AI 技术与传统文化相结合可以创造出令人惊喜的创新应用。通过这种结合,我们让古老的塔罗牌焕发出新的生命力,让更多人能够便捷地获得优质的塔罗咨询服务。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云原生实验室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 信息咨询
  • 卡牌抽取
  • 卡牌初分析
  • 结果细讨论
  • 为什么要做 AI 塔罗机器人?
  • FastGPT 工作流设计
    • 主要工作流程 🔄
    • 核心功能模块 🔧
    • 状态管理与交互流程 📊
  • 塔罗牌后端服务实现 🎴
    • API 接口设计
      • 图片服务 /api/cards/[id]/image
      • 抽牌服务 /api/readings
    • 核心数据结构 📊
      • 塔罗牌数据
      • 牌阵类型
    • 关键功能实现 🛠️
      • 图片处理
  • 再看一个感情问题的案例
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档