def obtain_json()

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}