Fixed issue with Gemini API

This commit is contained in:
ajaysi
2024-04-19 08:05:41 +05:30
parent a9a19f102d
commit 180f28a493
4 changed files with 31 additions and 36 deletions

View File

@@ -4,7 +4,6 @@ import sys
from pathlib import Path
import google.generativeai as genai
from google.api_core import retry
from dotenv import load_dotenv
load_dotenv(Path('../../../.env'))
from loguru import logger
@@ -13,8 +12,14 @@ logger.add(sys.stdout,
colorize=True,
format="<level>{level}</level>|<green>{file}:{line}:{function}</green>| {message}"
)
from tenacity import (
retry,
stop_after_attempt,
wait_random_exponential,
)
#@retry(wait=wait_random_exponential(min=1, max=60), stop=stop_after_attempt(6))
def gemini_text_response(prompt, temperature, top_p, n, max_tokens):
""" Common functiont to get response from gemini pro Text. """
#FIXME: Include : https://github.com/google-gemini/cookbook/blob/main/quickstarts/rest/System_instructions_REST.ipynb
@@ -28,17 +33,19 @@ def gemini_text_response(prompt, temperature, top_p, n, max_tokens):
"temperature": temperature,
"top_p": top_p,
"top_k": n,
"max_output_tokens": max_tokens
"max_output_tokens": max_tokens,
}
# FIXME: Expose model_name in main_config
model = genai.GenerativeModel(model_name="gemini-1.0-pro", generation_config=generation_config)
model = genai.GenerativeModel(model_name="gemini-pro", generation_config=generation_config)
try:
# text_response = []
response = model.generate_content(prompt, stream=True, request_options={'retry':retry.Retry()})
for chunk in response:
# text_response.append(chunk.text)
print(chunk.text)
response = model.generate_content(prompt, stream=True)
if response:
for chunk in response:
# text_response.append(chunk.text)
print(chunk.text)
else:
print(response)
return response.text
except Exception as err:
logger.error(response)
logger.error(f"Failed to get response from Gemini: {err}. Retrying.")

View File

@@ -268,7 +268,7 @@ def competitor_analysis():
text += "Read More Here: https://docs.exa.ai/reference/company-analyst \n"
text += "_______________________________________________________________________\n"
print(text)
similar_url = prompt("Enter Valid URL to get web analysis:: ")
similar_url = prompt("⚠️ 👋 Enter a single Valid URL for web analysis:: ")
try:
metaphor_find_similar(similar_url)
except Exception as err: