# Oh No! I'm Surrounded by LLMs! (LLMRiddles)

## Project Introduction
"Oh No! I'm Surrounded by LLMs!" is an intellectual challenge game. We use LLM to automatically generate corresponding game code based on existing Large Language Model (LLM) dialogue Gradio application codes within the ModelScope community, combined with preset questions from the Zhihu article ["How to Accomplish Tasks with 'Impossible'"](https://zhuanlan.zhihu.com/p/665393240), creating a unique gameplay experience. In this stream, players are required to cleverly construct questions that challenge the LLM to provide answers that meet specific conditions.

## News
November 9, 2023 - Added two new questions, and introduced the chatglm-turbo model 🔥🔥🔥
November 7, 2023 - Released the initial demo version 🔥
November 8, 2023 - Segregated level modules and LLM, enabling independent integration of levels and LLM. Pull Requests welcome 🔥 🔥

## Getting Started

### Online Experience

[LLMRiddles](https://modelscope.cn/studios/LLMRiddles/LLMRiddles/summary)

### Local Execution
To start the game, please follow the steps below:

1. Clone the project code:
   ```
   git clone https://github.com/modelscope/modelscope.git
   ```
2. Navigate to the `examples/apps/llm_riddles` directory.
3. Install the required Python dependencies with `pip install -r requirements.txt`.
4. Go to [DashScope](https://dashscope.aliyun.com/), activate the service, obtain a token, and configure the environment variable `DASHSCOPE_API_KEY=your API-KEY`.
5. Run the launch command `python app.py`.

## Roadmap
- [x] Initial version source code and space experience ready.
- [x] Support for custom questions and validation logic integration.
- [ ] Expand to 9 major levels, each with 9 questions.
- [ ] Support for more open-source models.
- [ ] Support for switching between cloud API and local inference.

## Contribution Guide
We welcome everyone to contribute to "Oh No! I'm Surrounded by LLMs!", including proposing more fun questions, fixing validator corner cases, and providing more gameplay. Please follow the steps below:

1. Visit the project address [ModelScope](https://github.com/modelscope/modelscope) and fork the project.
2. Create your feature branch in your local environment (`git checkout -b feature/AmazingFeature`).
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`).
4. Push your changes to the branch (`git push origin feature/AmazingFeature`).
5. Initiate a Pull Request in the original project.

## Community Contributors
We sincerely thank all community members who have contributed to this project, especially:

- Idea from: [haoqiangfan](https://www.zhihu.com/people/haoqiang-fan)
- Most of the code is auto-generated by LLM

## Support
If you encounter any problems or need assistance during the game, please submit your issues on the project's [Issues page](https://github.com/modelscope/modelscope/issues).

## Copyright and License
This project is licensed under the APACHE License. Please see the [LICENSE](https://github.com/modelscope/modelscope/blob/main/LICENSE) file in the project for more information.
