in contentannotation/video2annotation.py [0:0]
def obtain_json(self, gemini_answer: Optional[str]) -> Dict[str, Optional[str]]:
if gemini_answer is None or (isinstance(gemini_answer, dict) and "error" in gemini_answer):
return {"error": gemini_answer.get("error") if gemini_answer else "No Gemini answer", "json_result": None}
try:
# Patch the OpenAI client
client = instructor.from_openai(self.clientOpenAI)
promptOpenAI = gemini_answer
completion = client.chat.completions.create(
model="gpt-4o-2024-08-06",
response_model=Schema,
messages=[
{"role": "user", "content": promptOpenAI},
]
)
return {"json_result": completion.json()}
except Exception as e:
return {"error": str(e), "json_result": None}