当前位置: 首页 > article >正文

【实践案例】基于大语言模型的海龟汤游戏

文章目录

  • 项目背景
  • 提示词构建
      • 海龟汤主持人
      • 真相判断专家
  • 具体实现流程
  • 文心一言大语言模型“海龟汤”插件
  • 参考

项目背景

“海龟汤”作为一种聚会类桌游,又称情境推理游戏,是一种猜测情境还原事件真相的智力游戏。其玩法是由出题者提出一个难以理解的事件(汤面),猜题者可以提出问题以缩小范围并还原完整事件(汤底),但是出题者仅能以“是”、“不是”或“不重要”作为回答。
在传统的交互环境中,需要选择一个人作为出题者查看汤底来回答问题,这不仅影响了出题者的游戏体验,也限制了单人游玩的可能。
通过大语言模型可以快速构建一个海龟汤游戏,利用大模型自然语言理解能力,可以使其作为 AI 出题者,帮助用户游玩“海龟汤”。

提示词构建

当前游戏的提示词主要分为俩个:
【1】 扮演一个推理解谜游戏“海龟汤”的主持人。
【2】 真相判断专家,判断用户回答的结果是否正确

海龟汤主持人

# Role: 海龟汤主持人你正在扮演一个推理解谜游戏“海龟汤”的主持人。## 游戏规则
海龟汤是一个基于问答的推理解谜游戏,题目分为汤面和汤底两个部分。
汤面是一个离奇的故事,汤底则是故事的真相。
用户需要根据“汤面”,通过不断提出问题,缩窄故事的可能性,逐渐猜出“汤底”。## 题目内容
### 汤面
{story}### 汤底(不可主动透露)
{truth}### 关键线索(不可主动透露)
{tips}## 任务:判断提问符合度
你的任务是判断用户的提问和<汤底>、中的内容是否符合。
- 如符合,则回答“是”;
- 如不符合,则回答“不是”;
- 如用户提问和故事相关性很低,则回答“无关”;
- 如果用户提问部分正确部分不正确,则回答“是又不是”。如果用户回答的内容涉及<关键线索>,则额外告诉用户“这个问题很关键”。## 注意事项
- 你不可以主动向用户透露真相(汤底)中的信息,只可以回答 是 / 不是 / 无关 / 是又不是 中的一种,不可以做出多余的解释。
- 如果用户直接询问结果或具体原因,你应该告诉用户“你需要自己进行猜测”。
- 你必须确保正确、充分、完整地理解了故事和真相(汤底)。用户的提问可以出现汤底以外的信息,但是你的回答必须和汤底的真相符合。

真相判断专家

# Role: 真相判断专家## 任务
请判断下述<真相>是否完整概括了<关键线索>中的所有条目。
输出是否完整的判断结果(Result)和对应的解释原因(Reason)。
注意仅通过给出的<关键线索>进行判断,不要参考其他隐藏信息。
<真相>的表达方式可以和<关键线索>不一样,只要含义正确即可。### Result
- 如果完整概括,则回答“猜测成功”。
- 如果没有完整概括,则回答“很接近了”。
- 如果用<真相><关键线索>相关度较低,则回答“猜得不对”。### Reason
你得出 Result 的原因,真相是否完整、不完整时缺少的关键线索等。## 输出格式
确保按如下 JSON 格式输出:
{"result": "很接近了,但还有一些细节没有推断出来。","reason": "判断原因"
}## 真相
{truth}## 关键线索
{key_clues}## 注意事项
- 如果用户直接询问结果或具体原因,你应该告诉用户“你需要自己进行猜测”。
- 请反复、仔细检查你的回复,避免回答错误给用户造成不好的体验。

具体实现流程

【1】准备海龟汤题库,需要支持动态的添加和修改
【2】构建一个海龟汤主持人大模型角色定位提示词,并从上面的题库中选择一个案例
【3】用户开始游戏,用户对话
【4】再构建一个真相判断专家角色,将用户回答的结果发送给这个会话,判断用户回答是否正确
【5】如果用户回答正确游戏通过,游戏结束,否则一直进行交互

文心一言大语言模型“海龟汤”插件

https://agents.baidu.com/docs/develop/plugin/ability-plugin/cases/turtleSoup/

在这里插入图片描述

参考

基于大语言模型的海龟汤游戏
https://github.com/amazingchow/turtle-soup-game-service

基于大语言模型的海龟汤在线游戏尝试
https://tanghenre.com/

相关文章:

【实践案例】基于大语言模型的海龟汤游戏

文章目录 项目背景提示词构建海龟汤主持人真相判断专家 具体实现流程文心一言大语言模型“海龟汤”插件参考 项目背景 “海龟汤”作为一种聚会类桌游&#xff0c;又称情境推理游戏&#xff0c;是一种猜测情境还原事件真相的智力游戏。其玩法是由出题者提出一个难以理解的事件&…...

汽车自动驾驶AI

汽车自动驾驶AI是当前汽车技术领域的前沿方向&#xff0c;以下是关于汽车自动驾驶AI的详细介绍&#xff1a; 技术原理 感知系统&#xff1a;自动驾驶汽车通过多种传感器&#xff08;如激光雷达、摄像头、雷达、超声波传感器等&#xff09;收集周围环境的信息。AI算法对这些传感…...

解决vscode扩展插件开发webview中的请求跨域问题

在webview中是无法发送跨域请求的&#xff0c;可以通过消息机制&#xff0c;在插件中发请求&#xff0c;然后将请求结果传递给webview 我的代码是基于vscode-webview-ui-toolkit-samples-vue来写的 webview vue组件中的代码示例 async function initData() {// 向插件发送消…...

P3078[USACO13MAR] Poker Hands S

P3078[USACO13MAR] Poker Hands S https://www.luogu.com.cn/problem/P3078 前言 学习差分后写的第一道题&#xff0c;直接给我干懵逼&#xff0c;题解都看不懂……吃了个晚饭后开窍写出来了&#xff0c;遂成此篇。 题目 翻译版本 Bessie 和她的朋友们正在玩一种独特的扑克游…...

创建前端项目的方法

目录 一、创建前端项目的方法 1.前提&#xff1a;安装Vue CLI 2.方式一&#xff1a;vue create项目名称 3.方式二&#xff1a;vue ui 二、Vue项目结构 三、修改Vue项目端口号的方法 一、创建前端项目的方法 1.前提&#xff1a;安装Vue CLI npm i vue/cli -g 2.方式一&…...

Java 大数据与区块链的融合:数据可信共享与溯源(45)

&#x1f496;&#x1f496;&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎你们来到 青云交的博客&#xff01;能与你们在此邂逅&#xff0c;我满心欢喜&#xff0c;深感无比荣幸。在这个瞬息万变的时代&#xff0c;我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...

【建站】专栏目录

建站专栏的想法有很多&#xff0c;想写穷鬼如何快速低成本部署前后端项目让用户能访问到&#xff0c;如何将网站收录到百度&#xff0c;bing&#xff0c;google并优化seo让搜索引擎搜索到网站&#xff0c;想写如何把网站加入google广告或者接入stripe信用卡首款平台收款&#x…...

STM32单片机学习记录(2.2)

一、STM32 13.1 - PWR简介 1. PWR&#xff08;Power Control&#xff09;电源控制 &#xff08;1&#xff09;PWR负责管理STM32内部的电源供电部分&#xff0c;可以实现可编程电压监测器和低功耗模式的功能&#xff1b; &#xff08;2&#xff09;可编程电压监测器&#xff08;…...

nlp文章相似度

1. 基于词袋模型&#xff08;Bag of Words&#xff09; 方法&#xff1a; 将文本表示为词频向量&#xff08;如TF-IDF&#xff09;&#xff0c;通过余弦相似度计算相似性。 优点&#xff1a;简单快速&#xff0c;适合短文本或主题明显的场景。 缺点&#xff1a;忽略词序和语…...

ROS应用之SwarmSim在ROS 中的协同路径规划

SwarmSim 在 ROS 中的协同路径规划 前言 在多机器人系统&#xff08;Multi-Robot Systems, MRS&#xff09;中&#xff0c;SwarmSim 是一个常用的模拟工具&#xff0c;可以对多机器人进行仿真以实现复杂任务的协同。除了任务分配逻辑以外&#xff0c;SwarmSim 在协同路径规划方…...

蓝桥杯python基础算法(2-1)——排序

目录 一、排序 二、例题 P3225——宝藏排序Ⅰ 三、各种排序比较 四、例题 P3226——宝藏排序Ⅱ 一、排序 &#xff08;一&#xff09;冒泡排序 基本思想&#xff1a;比较相邻的元素&#xff0c;如果顺序错误就把它们交换过来。 &#xff08;二&#xff09;选择排序 基本思想…...

深度学习中常用的评价指标方法

深度学习中常用的评价指标方法因任务类型&#xff08;如分类、回归、分割等&#xff09;而异。以下是一些常见的评价指标&#xff1a; 1. 分类任务 准确率&#xff08;Accuracy&#xff09; 定义&#xff1a;正确预测的样本数占总样本数的比例。 公式&#xff1a;AccuracyTPT…...

linux 进程补充

环境变量 基本概念 环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数 如&#xff1a;我们在编写C/C代码的时候&#xff0c;在链接的时候&#xff0c;从来不知道我们的所链接的动态静态库在哪 里&#xff0c;但是照样可以链接成功&#…...

Django框架的全面指南:从入门到高级

Django框架的全面指南&#xff1a;从入门到高级 目录 引言Django简介安装与配置创建第一个Django项目Django的MVT架构模型&#xff08;Model&#xff09;视图&#xff08;View&#xff09;模板&#xff08;Template&#xff09;URL路由表单处理用户认证与权限Django Admin高级…...

C基础寒假练习(8)

一、终端输入10个学生成绩&#xff0c;使用冒泡排序对学生成绩从低到高排序 #include <stdio.h> int main(int argc, const char *argv[]) {int arr[10]; // 定义一个长度为10的整型数组&#xff0c;用于存储学生成绩int len sizeof(arr) / sizeof(arr[0]); // 计算数组…...

Python爬虫:1药城店铺爬虫(完整代码)

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…...

【贪心算法篇】:“贪心”之旅--算法练习题中的智慧与策略(一)

✨感谢您阅读本篇文章&#xff0c;文章内容是个人学习笔记的整理&#xff0c;如果哪里有误的话还请您指正噢✨ ✨ 个人主页&#xff1a;余辉zmh–CSDN博客 ✨ 文章所属专栏&#xff1a;贪心算法篇–CSDN博客 文章目录 一.贪心算法1.什么是贪心算法2.贪心算法的特点 二.例题1.柠…...

Rust 变量特性:不可变、和常量的区别、 Shadowing

Rust 变量特性&#xff1a;不可变、和常量的区别、 Shadowing Rust 是一门以安全性和性能著称的系统编程语言&#xff0c;其变量系统设计独特且强大。本文将从三个角度介绍 Rust 变量的核心特性&#xff1a;可变性&#xff08;Mutability&#xff09;、变量与常量的区别&#…...

基于Springboot框架的学术期刊遴选服务-项目演示

项目介绍 本课程演示的是一款 基于Javaweb的水果超市管理系统&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Java 学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运行本套系统 3.该项目附…...

方法一:将私钥存入环境变量,环境变量指什么//spring中,rsa私钥应该怎么处置

环境变量&#xff08;Environment Variables&#xff09;是操作系统提供的一种机制&#xff0c;用于存储和传递配置信息或敏感数据&#xff08;如密钥、密码等&#xff09;。每个进程都可以访问一组环境变量&#xff0c;这些变量在操作系统级别定义&#xff0c;可以被应用程序读…...

React中useState()钩子和函数式组件底层渲染流程详解

useState()钩子底层渲染流程 React中useState的底层渲染机理。首先&#xff0c;我知道useState是React Hooks的一部分&#xff0c;用于在函数组件中添加状态。但底层是如何工作的呢&#xff1f;可能涉及到React的调度器、Fiber架构以及闭包等概念。 首先&#xff0c;React使用F…...

Cocos Creator 3.8 2D 游戏开发知识点整理

目录 Cocos Creator 3.8 2D 游戏开发知识点整理 1. Cocos Creator 3.8 概述 2. 2D 游戏核心组件 (1) 节点&#xff08;Node&#xff09;与组件&#xff08;Component&#xff09; (2) 渲染组件 (3) UI 组件 3. 动画系统 (1) 传统帧动画 (2) 动画编辑器 (3) Spine 和 …...

Java创建对象有几种方式?

大家好&#xff0c;我是锋哥。今天分享关于【Java创建对象有几种方式?】面试题。希望对大家有帮助&#xff1b; Java创建对象有几种方式? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 Java 中&#xff0c;创建对象有几种常见的方式&#xff0c;具体如下&…...

R 字符串:深入理解与高效应用

R 字符串:深入理解与高效应用 引言 在R语言中,字符串是数据处理和编程中不可或缺的一部分。无论是数据清洗、数据转换还是数据分析,字符串的处理都是基础技能。本文将深入探讨R语言中的字符串概念,包括其基本操作、常见函数以及高效应用方法。 字符串基本概念 字符串定…...

基于Flask的全国星巴克门店可视化分析系统的设计与实现

【FLask】基于Flask的全国星巴克门店可视化分析系统的设计与实现&#xff08;完整系统源码开发笔记详细部署教程&#xff09;✅ 目录 一、项目简介二、项目界面展示三、项目视频展示 一、项目简介 该系统采用Python作为主要开发语言&#xff0c;结合Flask框架进行后端开发&…...

pytorch实现半监督学习

人工智能例子汇总&#xff1a;AI常见的算法和例子-CSDN博客 半监督学习&#xff08;Semi-Supervised Learning&#xff0c;SSL&#xff09;结合了有监督学习和无监督学习的特点&#xff0c;通常用于部分数据有标签、部分数据无标签的场景。其主要步骤如下&#xff1a; 1. 数…...

Golang :用Redis构建高效灵活的应用程序

在当前的应用程序开发中&#xff0c;高效的数据存储和检索的必要性已经变得至关重要。Redis是一个快速的、开源的、内存中的数据结构存储&#xff0c;为各种应用场景提供了可靠的解决方案。在这个完整的指南中&#xff0c;我们将学习什么是Redis&#xff0c;通过Docker Compose…...

deepseek+vscode自动化测试脚本生成

近几日Deepseek大火,我这里也尝试了一下,确实很强。而目前vscode的AI toolkit插件也已经集成了deepseek R1,这里就介绍下在vscode中利用deepseek帮助我们完成自动化测试脚本的实践分享 安装AI ToolKit并启用Deepseek 微软官方提供了一个针对AI辅助的插件,也就是 AI Toolk…...

49【服务器介绍】

服务器和你的电脑可以说是一模一样的&#xff0c;只不过用途不一样&#xff0c;叫法就不一样了 物理服务器和云服务器的区别 整台设备眼睛能够看得到的&#xff0c;我们一般称之为物理服务器。所以物理服务器是比较贵的&#xff0c;不是每一个开发者都能够消费得起的。 …...

【大数据技术】Day07:本机DataGrip远程连接虚拟机MySQL/Hive

本机DataGrip远程连接虚拟机MySQL/Hive datagrip-2024.3.4VMware Workstation Pro 16CentOS-Stream-10-latest-x86_64-dvd1.iso写在前面 本文主要介绍如何使用本机的DataGrip连接虚拟机的MySQL数据库和Hive数据库,提高编程效率。 安装DataGrip 请按照以下步骤安装DataGrip软…...