WIP000.1- AI content writer
This commit is contained in:
38
lib/gpt_providers/gemini_pro_text.py
Normal file
38
lib/gpt_providers/gemini_pro_text.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# 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
|
||||
@@ -51,11 +51,3 @@ def generate_dalle3_images(img_prompt, image_dir, size="1024x1024", quality="hd"
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to generate images with Dalle3: {e}")
|
||||
sys.exit("Exiting due to a general error in image generation.")
|
||||
|
||||
# Example usage
|
||||
if __name__ == "__main__":
|
||||
try:
|
||||
image_path = generate_dalle3_images("A futuristic cityscape", "/path/to/image/dir")
|
||||
print(f"Image generated and saved at: {image_path}")
|
||||
except SystemExit as e:
|
||||
print(f"Terminated: {e}")
|
||||
|
||||
Reference in New Issue
Block a user