def generate_text()

in movie_search_metadata/demo_app/backend/scene_search.py [0:0]


def generate_text(prompt: str, model: GenerativeModel = model_flash,
                  temperature: float = 0.4, top_p: float = 0.4) -> dict:

    response_schema = {
        'type': 'array',
        'items': {
            'type': 'object',
            'properties': {
                'Timestamp': {
                    'type': 'string',
                },
                'Description': {
                    'type': 'string',
                },
            },
            'required': ['Timestamp', 'Description'],
        },
    }

    safety_settings={
        generative_models.HarmCategory.HARM_CATEGORY_HATE_SPEECH: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
        generative_models.HarmCategory.HARM_CATEGORY_DANGEROUS_CONTENT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
        generative_models.HarmCategory.HARM_CATEGORY_SEXUALLY_EXPLICIT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
        generative_models.HarmCategory.HARM_CATEGORY_HARASSMENT: generative_models.HarmBlockThreshold.BLOCK_MEDIUM_AND_ABOVE,
    }

    responses = model.generate_content(
        prompt,
        generation_config=GenerationConfig(
            max_output_tokens=8192,
            temperature=temperature,
            top_p=top_p,
            response_mime_type='application/json',
            response_schema=response_schema
        ),
        safety_settings=safety_settings
    )
    result = responses.text

    return json.loads(result)