codebatuk / handler.py
imkhan107's picture
Added Llama3 support
55b70aa
import gemini
import llama_groq
from prompts import *
#model = gemini.GeminiModel()
model=llama_groq.LlamaModel()
def review_code(code, c_prompt=None):
if code is None or len(code) < 5 or code.isspace():
raise InvalidCodeException("No code provided")
if c_prompt is not None and len(c_prompt) > 30:
prompt = custom_review_prompt(code.strip(), c_prompt.strip())
else:
#prompt = validation_prompt(code.strip())
prompt = default_review_prompt1(code.strip())
try:
res = model.execute(prompt)
except Exception as e:
raise CodeReviewException(str(e))
return res
def refine_code(code, c_prompt=None):
if code is None or len(code) < 5 or code.isspace():
raise InvalidCodeException("No code provided")
if c_prompt is not None and len(c_prompt) > 30:
prompt = custom_review_prompt(code.strip(), c_prompt.strip())
else:
#prompt = validation_prompt(code.strip())
prompt = default_refine_prompt(code.strip())
try:
res = model.execute(prompt)
except Exception as e:
raise CodeReviewException(str(e))
return res
def generate_documentation(code,c_prompt):
if code is None or len(code) < 5 or code.isspace():
raise InvalidCodeException("No code provided")
if c_prompt is not None and len(c_prompt) > 30:
prompt = custom_review_prompt(code.strip(), c_prompt.strip())
else:
prompt = default_doc_prompt(code.strip())
try:
res = model.execute(prompt)
except Exception as e:
raise CodeReviewException(str(e))
return res
def resume_writer(code,c_prompt):
if code is None or len(code) < 5 or code.isspace():
raise InvalidCodeException("No code provided")
if c_prompt is not None and len(c_prompt) > 30:
prompt = custom_review_prompt(code.strip(), c_prompt.strip())
else:
prompt = resume_prompt(code.strip())
try:
res = model.execute(prompt)
except Exception as e:
raise CodeReviewException(str(e))
return res
class InvalidCodeException(Exception):
pass
class CodeReviewException(Exception):
pass