import requests import time # ---- CONFIG ---- OLLAMA_HOST = "http://100.103.117.14:11434" # Tailscale IP MODEL_NAME = "neural-chat" NUM_EXCHANGES = 10 # number of exchanges # Names / personalities AI1_NAME = "Alice" AI2_NAME = "Bob" AI1_PERSONALITY = "Alice is cheerful, curious, and friendly." AI2_PERSONALITY = "Bob is witty, thoughtful, and calm." # ---- HELPER FUNCTION ---- def generate_response(prompt, model="neural-chat", url="http://100.103.117.14:11434/api/generate"): # Add instruction for short answers payload = { "model": model, "prompt": prompt, "stream": False } try: response = requests.post(url, json=payload, timeout=120) response.raise_for_status() data = response.json() return data.get("response", "").strip() except Exception as e: print(f"LLM error: {e}") return None # ---- INITIAL PROMPT ---- conversation_history = f"{AI1_NAME}: Hello, my name is {AI1_NAME}. {AI1_PERSONALITY}\n" \ f"{AI2_NAME}: Hi, I'm {AI2_NAME}. {AI2_PERSONALITY}\n" print("=== Conversation Start ===") for i in range(NUM_EXCHANGES): # AI1 speaks ai1_prompt = conversation_history + f"{AI1_NAME}:" ai1_msg = generate_response(ai1_prompt) ai1_msg = ai1_msg.strip() print(f"{AI1_NAME}: {ai1_msg}") conversation_history += f"{AI1_NAME}: {ai1_msg}\n" # AI2 speaks ai2_prompt = conversation_history + f"{AI2_NAME}:" ai2_msg = generate_response(ai2_prompt) ai2_msg = ai2_msg.strip() print(f"{AI2_NAME}: {ai2_msg}") conversation_history += f"{AI2_NAME}: {ai2_msg}\n" print("=== Conversation End ===")