NirDiamant /
Controllable-RAG-Agent
This repository provides an advanced Retrieval-Augmented Generation (RAG) solution for complex question answering. It uses sophisticated graph based algorithm to handle the tasks.
88/100 healthLoading repository data…
jvking / repository
This repository provides text game simulators for research purposes.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
This repository provides text game simulators for research purposes.
If you just want to have a sense with what text-based games look like, you can try the following .html based version:
This directory contains three text game simulators, including Saving John and Machine of Death mentioned in [1], and Fantasy World mentioned in [2].
Saving John and Machine of Death are converted from their original .html source codes. They are stand-alone simulators and should be easy to run from text-games/simulators/MySimulator.py
Fantasy World requires installing the Evennia package and text-world. The game is played in socket mode. If you are more familar with python, you don't have to install the Lua framework provided by text-world-player. After you have installed both Evennia and text-world, the following steps should be done to start the server and create the world:
To run the game, simply:
python text-games/simulators/MySimulator.py --name savingjohn --doShuffle True
Note that the name could be "savingjohn", "machineofdeath", or "fantasyworld". Setting the doShuffle to True will randomly shuffle the list of actions every time they are presented. After typing the above command, you will see the following tuple of (state-text, list of action-texts, reward). The action order may differ:
('It's difficult to breathe. My psychiatrist says that in order to be saved, one must want to be saved. "Are you alright?" Cherie calls from the deck. The waves don't give me a chance to respond. Instinctively, my eyes turn upward as I'm being pulled under. Please, not yet. "John!" I want a second chance. It's Cherie's hand, reaching out, but for some reason it slips away. My mind's going in circles and I need to focus on something, anything. I grab on to the first thought that seems coherent:', ["I don't deserve to live.", "It's not her fault.", "She can't save me.", "She's trying to kill me!"], 0)
You can continue the game by typing your choice of action (in integer number). For example, typing 0 (choosing "I don't deserve to live.") at the above state will transition to the next tuple:
('//"Knock, knock."//\n//"Uh, who's there?"//\n//"Orange."//\n//"Hey, shut the fuck up over there!"//\n//"Are you seriously telling --"//\n//"I'd like some oranges,"//\n//"You don't deserve oranges,"//\n//"Well you don't deserve to live!"//\n//"Good one,"//\n\n//Someone laughs.//\n\n//"--knock knock jokes?"//\n//"Orange you glad that I didn't kick your face in?"//\n//"Catholic guilt at its best I suppose,"//\n//"I need another shot..."//\n//"Seriously, face palm,"//\n\nIt's the Fourth of July. I remember because it's the day I met \nSam. "Uncle Sam's Birthday!" His nervous laughter was hard to \nforget. \n\nHe wore an orange shirt with an orange slice on it, making him \nthe joke of the party. I felt kind of bad for the guy; he left \nthe party alone and no one could remember who had brought him \nin the first place.\n\n', ['Continue'], 0)
You can edit the main function in MySimulator.py to hook up with your own agent and RL framework. The interface of all three text games are designed so that they share the same interface:
(text, actions, reward) = mySimulator.Read() # text is a string (state-text), actions is a list of strings, reward is a float
mySimulator.Act(playerInput) # playerInput is an integer or a string, depending on which game
mySimulator.Restart() # after the episode ends, restart the game
For Machine of Death, we also provide a paraphrased action mode. You can import MachineOfDeathSimulator from MySimulator and initialize a second simulator with "doParaphrase = True".
The name_*Id.pickle in text-games/simulators store the vocabulary of each game. name_*wordId.pickle means state-side vocabulary, and name_*actionId.pickle means action-side vocabulary.
Selected from shared topics, language and repository description—not editorial ratings.
NirDiamant /
This repository provides an advanced Retrieval-Augmented Generation (RAG) solution for complex question answering. It uses sophisticated graph based algorithm to handle the tasks.
88/100 healthsimplerhacking /
This repository provides penetration testers and red teams with an extensive collection of dynamic phishing templates designed specifically for use with Evilginx3. May be updated periodically.
76/100 healthran-isenberg /
This repository provides a working, deployable, open source-based, serverless service blueprint with an AWS Lambda function and AWS CDK Python code with all the best practices and a complete CI/CD pipeline.
88/100 healthChenHongruixuan /
This repository contains some python code of some traditional change detection methods or provides their original websites, such as SFA, MAD, and some deep learning-based change detection methods, such as SiamCRNN, DSFA, and some FCN-based methods.
76/100 healthvchandu111 /
A fast, structured Python foundation designed specifically for GenAI learners. This repository provides a comprehensive 6-day learning path that covers essential Python concepts with a focus on practical applications for Generative AI work.
72/100 healthaws-samples /
This repository is designed to provide guidance for implementing comprehensive test suites for serverless applications.
63/100 health