From d1b535400e5bb4ef5c446761d9f50ac31fc07d37 Mon Sep 17 00:00:00 2001 From: Darius Rapalis Date: Mon, 8 Sep 2025 14:31:03 +0300 Subject: [PATCH] verbose with history --- main.py | 36 ++++++++++++++++++++++++++++++------ 1 file changed, 30 insertions(+), 6 deletions(-) diff --git a/main.py b/main.py index 45cfb3e..d00f4de 100644 --- a/main.py +++ b/main.py @@ -2,28 +2,52 @@ import os import sys from dotenv import load_dotenv from google import genai +from google.genai import types + +messages = [] load_dotenv() api_key = os.environ.get("GEMINI_API_KEY") client = genai.Client(api_key=api_key) +def add_message(user, message): + messages.append({"role": user, "parts": [{"text": message}]}) + def main(): if len(sys.argv) < 2: - print("Error: No prompt provided.\nUsage: uv run main.py \"\"") + print("Error: No prompt provided.\nUsage: uv run main.py \"\" [--verbose]") sys.exit(1) - user_prompt = sys.argv[1] + args = sys.argv[1:] + + verbose = False + if "--verbose" in args: + verbose = True + args.remove("--verbose") + + user_prompt = " ".join(args) + + if verbose: + print(f'User prompt: "{user_prompt}"') + + add_message("user", user_prompt) response = client.models.generate_content( model="gemini-2.0-flash-001", - contents=user_prompt + contents=messages ) - print(response.text) + reply_text = response.text - print(f"Prompt tokens: {response.usage_metadata.prompt_token_count}") - print(f"Response tokens: {response.usage_metadata.candidates_token_count}") + # Add AI response to history + add_message("model", reply_text) + + print(reply_text) + + if verbose: + print(f"Prompt tokens: {response.usage_metadata.prompt_token_count}") + print(f"Response tokens: {response.usage_metadata.candidates_token_count}")