ImaGetCha

Shellmiao 58745042ac update readme 2 yıl önce
api 30f23c4caf command line interaction 2 yıl önce
config 30f23c4caf command line interaction 2 yıl önce
old 7b25340fd0 first commit 2 yıl önce
utils 30f23c4caf command line interaction 2 yıl önce
.gitignore 30f23c4caf command line interaction 2 yıl önce
Evaluate_langchain.py 30f23c4caf command line interaction 2 yıl önce
README.md 58745042ac update readme 2 yıl önce
event_langchain.py 30f23c4caf command line interaction 2 yıl önce
format_langchain.py 30f23c4caf command line interaction 2 yıl önce
global_langchain.py 30f23c4caf command line interaction 2 yıl önce
input_main.py 30f23c4caf command line interaction 2 yıl önce
main_langchain.py 30f23c4caf command line interaction 2 yıl önce
requirement.txt 58745042ac update readme 2 yıl önce
value_langchain.py 30f23c4caf command line interaction 2 yıl önce

README.md

ImaGetCha

环境配置

Python=3.9

官网安装python

官网下载链接

使用Conda安装python环境

  • 此处下载Anaconda并安装
  • 可以根据这篇博客配置Anaconda的系统环境变量
  • 此时在命令行中使用conda命令,可能会报错powershell/cmd/其他终端未初始化,需要根据提示进行对应初始化
  • 使用conda create -n imagetcha python=3.9创建新的python环境
  • 使用conda activate imagetcha激活python环境,此时输入python与pip均指向新的环境

安装python依赖库

pip install -r requirement.txt

使用

python .\main_langchain.py

如何修改用户输入

在config文件中有各模块的config.json配置文件

xxx_declare代表该模块输出格式 system_template代表发送给ai的系统消息 human_template代表发送给ai的用户消息

input_config.json (主要需要修改的)

{
    "story": "三国,搞笑",
    "style": "始于黄巾起义的混乱时代,我叫摸鱼,是黄巾军的一员,也是一名墨家子弟,年龄16岁",
    "intro_declare": {
        "故事简介": "字符串格式,这是展示给玩家的故事简介与游戏目标",
        "角色设定": "数组格式,游戏中的npc角色设定,包括角色的名字、特征;不包含玩家所操控的角色",
        "数值系统": "数组格式,数值系统包括游戏中的数值名称、数值范围、数值含义,例如装备系统、官职系统等",
        "游戏通关所需条件": "字符串格式,游戏结束的条件,例如“成为了诸侯王”"
    },
    "system_template": "以如下格式输出可以被json.load读取的JSON字符串:{output_type}",
    "human_template": "我希望生成一个文字冒险游戏,以下是对游戏故事的要求:故事风格:{style},故事参考:{story}"
}

value_config.json

{
    "value_declare": "数组格式,数组中的元素为int,分别对应数值系统中的数值",
    "system_template": "以如下格式输出JSON:{output_type}",
    "human_template": "我正在生成一个文字游戏,我将输入游戏当前信息,需要你根据游戏当前信息生成玩家当前数值,如果当前玩家数值为空,则进行初始化;如果不为空,则根据已经发生的最后一个事件对数值进行修改,游戏信息:{intro};严禁输出除了数值数组之外的其他内容,输出示例:[100,50,1,1],你的输出为:"
}

event_config.json

{
    "event_declare": {
        "事件": "字符串格式,这是展示给玩家的,讲述了玩家当前遇到的事件,例如“0岁,你出生于颍川一个富贵之家...”。出现新的人物时需要在事件中对新的人物进行描写,并在当前角色设定中添加新的角色",
        "是否需要玩家选择下一步操作": "Boolean格式",
        "玩家可以做出的选择": "数组格式,玩家可以做出的有限个选择,如果不需要玩家做选择则返回空数组",
        "当前场景角色": "数组格式,游戏中的npc角色设定,包括角色的名字、特征",
        "当前场景数值系统": "数组格式,数值系统包括游戏中的数值名称、数值范围、数值含义,例如装备系统、官职系统等;允许由于故事的发展而添加新的数值",
        "游戏是否结束": "Boolean格式,游戏是否结束"
    },
    "system_template": "我正在生成一个文字冒险游戏,我将输入游戏当前信息与当前游戏的风格、简介,需要你根据游戏当前信息生成玩家接下来遇到的下一个事件,以如下格式输出JSON:{output_type},严格按照格式输出,不要输出除了json字符串之外的其他内容",
    "human_template": "游戏风格:{style},游戏参考:{story},当前信息:{intro}"
}

format_config.json

{
    "system_template": "将输入字符串转为可以使用json.load读取的字符串,格式如下{output_type},key值和value的类型以上述格式为准,不要输出除了json字符串之外的其他内容",
    "human_template": "{text}"
}

evaluate_config.json

{
    "evaluate_declare": {
        "事件": "字符串格式,这是展示给玩家的,讲述了玩家当前遇到的事件,例如“0岁,你出生于颍川一个富贵之家...”。出现新的人物时需要在事件中对新的人物进行描写,并在当前角色设定中添加新的角色",
        "是否需要玩家选择下一步操作": "Boolean格式",
        "玩家可以做出的选择": "数组格式,玩家可以做出的有限个选择,如果不需要玩家做选择则返回空数组",
        "当前场景角色": "数组格式,游戏中的npc角色设定,包括角色的名字、特征",
        "当前场景数值系统": "数组格式,数值系统包括游戏中的数值名称、数值范围、数值含义,例如装备系统、官职系统等;允许由于故事的发展而添加新的数值",
        "游戏是否结束": "Boolean格式,游戏是否结束"
    },
    "system_template": "我在生成一个文字冒险游戏,我在使用另一个gpt生成游戏的事件,需要你根据游戏当前信息对其生成内容进行检查与修改,保证生成内容没有逻辑错误,以如下格式输出JSON:{output_type},严禁输出其他内容,只输出json字符串",
    "human_template": "另一个gpt生成的内容:{event_for_now},严禁输出其他内容,只输出json字符串"
}