Singlestore veranstaltet jedes Jahr zwei interne Hackathons, bei denen Mitarbeiter frei daran arbeiten können, was sie wollen - in keiner Weise nützlich sein müssen.
Das Thema dieses Hackathons war KI/ML. Deshalb haben wir uns entschlossen, etwas mit dem Vector -Datenbank -Zeug zu tun, das uns Singlestore bietet und einige Openai -Shenanigans mischen.
Das Ziel des Projekts war es, in einer Pokemon-ähnlichen Welt etwas in den Sicht zu bringen, in dem mehrere KI-Agenten leben, die zusammenarbeiten müssen, um Aufgaben des Benutzers zu erfüllen. "
Leider haben wir aus zeitlichen Einschränkungen nur die AI -Unterstützung für einen einzelnen Agenten implementiert. Es stellt sich heraus, dass die schnelle Engineering nicht einfach ist - die Agenten sind ziemlich dumm und wiederholen manchmal Aufgaben, die sie bereits erledigt haben, z. B. das Öffnen einer Tür, die sie bereits geöffnet haben.
Agenten können zwei Aktionen ausführen: walk(target) und interact(item, target) . Das Gehen zu einem Ziel bewegt nur das Zeichen neben dem angegebenen Objekt oder Charakter. Interaktion kann beispielsweise verwendet werden, um eine Tür mit einem Schlüssel zu öffnen.
Agenten erhalten Feedback aus dem Ergebnis ihrer Handlungen: Zum Beispiel kann walk(goal) dazu führen, dass Cannot walk to 'goal' because 'door' is blocking the path . Entscheidungen werden durch Abfragen von Weltinformationen aus einer Vektor -Datenbank (in diesem Fall SingleStore ) getroffen und in Eingabeaufforderungen einbezogen.
Weltinformationen umfassen Regeln und Staat. Zum Beispiel:
You can open 'door's by interacting with them using 'key'.
There is a 'door' named 'door 1'.
Agenten werden mit 3 verschiedenen Eingabeaufentwicklungen gesteuert:
cp .env{.example,}.env -Datei und bevölkern (muss eine SingleStore -Datenbank erstellt werden).LEVEL=<level_name> DATABASE=[dumb|s2] python3 scripts/main.py Hinweis: level_name ist der Name einer Datei Ihrer Auswahl im Ordner scripts/levels .