-
Notifications
You must be signed in to change notification settings - Fork 79
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
有办法通过得到一些和场景有关的数据对NPC的决策做知识蒸馏,然后在NPC决策的时候不需要调用LLM只需要蒸馏出来的小模型吗 #32
Comments
好想法,不过这是一个长远的规划,在单机上,通过浏览器的环境,存储大量的NPC数据以及对每个消息进行embedding 存储检索还是一个挑战。 |
我在自己的电脑上试了以下代码,它可以很好的生成城镇的地理环境,NPC们的背景故事,NPC的住所的室外和室内设计,但是对于自动生成NPC们的住所在城镇中的位置,把他作为一个优化问题考虑(比如渔民角色的npc的住所应该在海边,或者镇长的住所应该在小镇中心位置)交给LLM处理并不容易 import time 设置支持中文的字体plt.rcParams['font.sans-serif'] = ['SimHei'] # 例如使用黑体 openai.log = "debug"openai.api_key = 按指定概率创建等级列表grades = ["D级"] * 400 + ["C级"] * 270 + ["B级"] * 180 + ["A级"] * 100 + ["S级"] * 30 + ["SS级"] * 9 + ["SSS级"] * 1 定义职业及其对应的千分比occupations = { location1={ characters = [] for i in range(25):
rows = 15 # 矩阵的行数 创建一个 rows x cols 的矩阵,所有位置初始化为 0matrix = [[0 for _ in range(cols)] for _ in range(rows)] def find_available_locations(matrix): 查找可用的位置available_locations = find_available_locations(matrix) for character in characters:
Write the JSON data to a filewith open(json_file_path, 'w', encoding='utf-8') as file: Print out the path to the saved fileprint(f"JSON file saved at: {json_file_path}") import matplotlib.pyplot as plt 创建绘图fig, ax = plt.subplots(figsize=(8, 8)) 遍历每个角色,在其居所位置绘制一个标记,并标注名字for character in characters: 设置图表标题和坐标轴标签ax.set_title('NPC Residence Distribution in Medieval City') 显示图表plt.show() |
另外多个NPC之间的智能交互(有玩家参与的情况和没有玩家参与的情况)也不容易模拟 |
观察到NPC的状态中有如下数据:
您附近的 NPCS 活动:
海莉·约翰逊 (Hailey Johnson) 在艺术家的共同居住空间、公共休息室、公共休息室沙发上看电视(观看新节目) @ the Ville:艺术家的共同居住空间:公共休息室:公共休息室沙发
阿比盖尔·陈 (Abigail Chen) 在艺术家的共同居住空间、公共休息室、公共房间的桌子上休息并看电视(讨论拉吉夫·帕特尔 (Rajiv Patel) 和阿比盖尔·陈 (Abigail Chen) 关于创意项目的潜在合作的讨论、参加市长选举讨论和市政厅会议,并探索各种兴趣,例如演奏音乐和讨论自然界的数学模式。)@ the Ville:艺术家的共同居住空间:公共休息室:公共房间的桌子
拉托亚·威廉姆斯 (Latoya Williams) 在艺术家的共同居住空间、公共休息室里创作她的摄影系列(从她的旅行中选择最好的照片) @ the Ville:艺术家的共同居住空间:拉托亚·威廉姆斯的房间:办公桌
弗朗西斯科·洛佩兹 (Francisco Lopez) 在艺术家的共同居住空间、海莉·约翰逊 (Hailey Johnson) 的房间里洗衣服(将衣物转移到烘干机) @ the Ville:艺术家的共同居住空间:弗朗西斯科·洛佩兹 (Francisco Lopez) 的房间:壁橱
Ryan Park 在 Ville 户外慢跑(在附近慢跑) @ the Ville:Johnson Park:park:park 花园
拉吉夫·帕特尔 (Rajiv Patel) 在艺术家的共同居住空间、公共休息室、公共休息室沙发上看电视(看节目) @ the Ville:艺术家的共同居住空间:公共休息室:公共休息室沙发
您在艺术家的共同居住空间,公共休息室
你附近有一些建筑物:
艺术家的共同居住空间
约翰逊公园
在艺术家的共享居住空间中,您附近有一些家具:
画架
壁橱
桌子
床
吉他
淋浴
浴室水槽
洗手间
冰箱
公共休息室沙发
公共房间的桌子
烤面包机
厨房水槽
烹饪区
每個NPC的状态似乎都包含了他附近的NPC和家具有哪些,然后可否通过这些信息用NER结合LLM给出的数据训练出一个类似于状态机或者分层策略网络的算法,这样的好处是可能可以把NPC的数量从25扩大到2000以上,因为分层策略网络算法实际上很节省,另外也可以和一些必要的逻辑结合起来,然后只是在聊天的时候调用LLM
The text was updated successfully, but these errors were encountered: