Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import AutoTokenizer, AutoModelForCausalLM | |
| class RPG_Game: | |
| def __init__(self): | |
| self.model_name = "nomic-ai/gpt4all-j" | |
| self.tokenizer = AutoTokenizer.from_pretrained(self.model_name) | |
| self.model = AutoModelForCausalLM.from_pretrained(self.model_name) | |
| self.inventory = {} | |
| def generate_response(self, prompt): | |
| input_tokens = self.tokenizer.encode(prompt, return_tensors="pt") | |
| response = self.model.generate(input_tokens) | |
| response_text = self.tokenizer.decode(response[:, input_tokens.shape[-1]:][0], skip_special_tokens=True) | |
| return response_text | |
| def process_game_input(self, game_input): | |
| game_input = game_input.strip().lower() | |
| # Check for specific commands to manage the inventory | |
| if game_input.startswith("pick up") or game_input.startswith("get"): | |
| item = game_input.split(" ", 1)[-1].strip() | |
| if item not in self.inventory: | |
| self.inventory[item] = 1 | |
| else: | |
| self.inventory[item] += 1 | |
| return f"You have picked up {item}." | |
| elif game_input == "inventory": | |
| return "Your inventory: " + ", ".join(f"{k}: {v}" for k, v in self.inventory.items()) | |
| # Generate the GPT4ALL response | |
| else: | |
| response = self.generate_response(game_input) | |
| return response | |
| game = RPG_Game() | |
| def gradio_interface(prompt: str): | |
| return game.process_game_input(prompt) | |
| inputs = gr.inputs.Textbox(lines=5, label="Your Input") | |
| outputs = gr.outputs.Textbox(label="Game Response") | |
| iface = gr.Interface(fn=gradio_interface, inputs=inputs, outputs=outputs) | |
| if __name__ == "__main__": | |
| iface.launch() |