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 และเติม (จำเป็นต้องสร้างฐานข้อมูล singlestore)LEVEL=<level_name> DATABASE=[dumb|s2] python3 scripts/main.py หมายเหตุ: level_name เป็นชื่อของไฟล์ที่คุณเลือกภายในโฟลเดอร์ scripts/levels