DualMind/README.md

91 lines
2.6 KiB
Markdown

# DualMind: AI Conversation Simulator
DualMind is an innovative AI conversation simulator that facilitates engaging dialogues between two AI models using the Ollama API. It offers a command-line interface (CLI) for immersive and customizable AI interactions.
![Screenshot](imgs/screenshot.png)
## Features
- 🤖 Dual-model conversation: Engage two different AI models in a thought-provoking dialogue
- 🎭 Customizable system prompts: Tailor the behavior and personality of each AI model
- 🖥️ Command-line interface for quick interactions
- 🛠️ Conversation customization:
- Adjust the number of exchanges
- Modify the initial prompt
- Select different AI models
- 💾 Save conversation logs
- 🔢 Token count display and limit: Monitor the token usage for each message and limit the conversation to a specified number of tokens.
## Prerequisite: Ollama
This project is privacy oriented and for such reason it uses Ollama as a backend. You need an Ollama endpoint to use this software.
Please refer to [Ollama](https://ollama.com/download) to install Ollama on your machine.
## Installation
1. Clone the repository:
```sh
git clone https://github.com/yourusername/dualmind.git
cd dualmind
```
2. Install the required dependencies:
```sh
pip install -r requirements.txt
```
3. Set up your environment variables by creating a `.env` file in the project root:
```
OLLAMA_ENDPOINT=http://localhost:11434
MODEL_1=llama2
MODEL_2=mistral
INITIAL_PROMPT="Let's discuss the future of AI. What are your thoughts on its potential impact on society?"
MAX_TOKENS=8000
```
Feel free to use the env.example file as a template.
**Note:** The INITIAL_PROMPT is the first message that will be sent and it will be send on behalf of the second AI to the first AI.
## Usage
To run DualMind in CLI mode:
```sh
./run_cli.sh
```
## Customization
### System Prompts
You can customize the system prompts for each AI model by editing the `system_prompt_1.txt` and `system_prompt_2.txt` files in the project root.
### Options
You can customize the options for the conversation by editing the `options.json` file in the project root.
## Project Structure
- `main.py`: Entry point of the application
- `ai_conversation.py`: Core logic for AI conversations
- `run_cli.sh`: Shell script to run the CLI version
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is open source and available under the [MIT License](LICENSE).
## Acknowledgements
- This project uses the [Ollama](https://ollama.ai/) API for AI model interactions.