import sys import os from pathlib import Path from .gpt_providers.openai_chat_completion import openai_chatgpt from .gpt_providers.gemini_pro_text import gemini_text_response import google.generativeai as genai from dotenv import load_dotenv load_dotenv(Path('../.env')) from loguru import logger logger.remove() logger.add(sys.stdout, colorize=True, format="{level}|{file}:{line}:{function}| {message}" ) def generate_blog_description(blog_content, gpt_providers): """ Prompt designed to give SEO optimized blog descripton """ logger.info("Generating Blog Meta Description for the given blog.") prompt = f"""As an expert SEO and blog writer, Compose a compelling meta description for the given blog content, adhering to SEO best practices. Keep it between 150-160 characters. Provide a glimpse of the content's value to entice readers. Respond with only one of your best effort and do not include your explanations. Blog Content: '{blog_content}'""" if 'gemini' in gpt_providers: try: response = gemini_text_response(prompt) return response except Exception as err: logger.error("Failed to get response from gemini.") elif 'openai' in gpt_providers: try: response = openai_chatgpt(prompt) return response except Exception as err: SystemError(f"Error in generating blog summary: {err}")