Spaces:
Sleeping
Sleeping
from constants import MAX_TOKENS , TEMPERATURE | |
import os | |
import requests | |
import google.generativeai as genai | |
from dotenv import load_dotenv | |
load_dotenv() | |
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY") | |
genai.configure(api_key=GOOGLE_API_KEY) | |
model = genai.GenerativeModel('gemini-1.5-flash') | |
def contruct_prompt(system_prompt:str , user_prompt:str , conversation_history)->str: | |
final_prompt = f"""{system_prompt} \n \n | |
You strictly follow the instructions given above.\n | |
You will also be provided a user query below.\n | |
{user_prompt} | |
Below is the conversation_history.\n | |
{conversation_history} | |
Based on the instrcutions given to you and the user query and conversation history understand all of them and give accurate responses. | |
""" | |
return final_prompt | |
def get_llm_response(system_prompt, user_prompt, conversation_history): | |
generation_config = genai.types.GenerationConfig( | |
max_output_tokens=2500, | |
temperature=0.0, | |
) | |
prompt_to_llm = contruct_prompt(system_prompt, user_prompt, conversation_history) | |
response = model.generate_content(prompt_to_llm,generation_config=generation_config ,stream=True) | |
response.resolve() | |
return response.text | |
# def get_llm_response(system_prompt, user_prompt, conversation_history) -> str: | |
# url = "https://api.openai.com/v1/chat/completions" | |
# prompt_to_llm = contruct_prompt(system_prompt, user_prompt, conversation_history) | |
# headers = { | |
# "Content-Type": "application/json", | |
# "Authorization": f"Bearer {os.getenv('OPENAI_API_KEY')}", | |
# "OpenAI-Organization": os.getenv('ORG_ID') | |
# } | |
# data = { | |
# "model": "gpt-4o-mini", | |
# "max_tokens": MAX_TOKENS, | |
# "messages": [{"role": "user", "content": f"{prompt_to_llm}"}], | |
# "temperature": TEMPERATURE | |
# } | |
# try: | |
# response = requests.post(url, headers=headers, json=data) | |
# output = response.json() | |
# except Exception as e: | |
# print(f"Error Occurred {e}") | |
# return f"Error Occurred {e}" | |
# return output['choices'][0]['message']['content'] |