singlestore summer hackathon 2023
1.0.0
Singlestore每年举办两个内部黑客马拉松,员工可以自由地从事他们想要的任何工作 - 不必以任何方式有用。
该黑客马拉松的主题是AI/ML,因此我们决定尝试使用Singlestore为我们提供的矢量数据库东西来做些事情,还可以混合一些Openai Shenanigans。
该项目的目的是按照“有多个AI代理生活在口袋妖怪般的世界中,必须协作以实现用户提供的任务”。
不幸的是,由于时间限制,我们最终仅对单个代理人实施AI支持。事实证明,及时的工程并不容易 - 代理人很愚蠢,有时最终会重复他们已经完成的任务,例如打开他们已经打开的门。
代理可以执行两个动作: walk(target)和interact(item, target) 。步行到目标只会移动给定对象或字符旁边的字符。例如,可以使用互动使用钥匙打开门。
特工从他们的行动的结果中获得反馈:例如, walk(goal)可以导致Cannot walk to 'goal' because 'door' is blocking the path 。决策是通过查询矢量数据库的世界信息(在这种情况下SingleStore )来执行的,并在提示中包括该信息。
世界信息包括规则和状态。例如:
You can open 'door's by interacting with them using 'key'.
There is a 'door' named 'door 1'.
代理人由3种不同的提示类型控制:
cp .env{.example,}.env文件并填充它(需要创建一个单口数据库)LEVEL=<level_name> DATABASE=[dumb|s2] python3 scripts/main.py注意: level_name是您在scripts/levels文件夹中选择的文件的名称。