# Using Gemini Pro LLM model import os import logging from pathlib import Path import google.generativeai as genai logging.basicConfig(level=logging.INFO, format='%(asctime)s-%(levelname)s-%(module)s-%(lineno)d-%(message)s') from dotenv import load_dotenv load_dotenv(Path('../../.env')) from tenacity import ( retry, stop_after_attempt, wait_random_exponential, ) # for exponential backoff @retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(6)) def gemini_text_response(prompt): """ Provide a programming blog and get code exmaples.""" genai.configure(api_key=os.getenv('GEMINI_API_KEY')) # Set up the model generation_config = { "temperature": 1, "top_p": 1, "top_k": 1, "max_output_tokens": 4096, } model = genai.GenerativeModel(model_name="gemini-pro", generation_config=generation_config) try: response = model.generate_content(prompt) except Exception as err: logger.error(f"Failed to get response from Gemini: {err}. Retrying..") gemini_research_report(query) return response.text