File size: 1,506 Bytes
be3a5c4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from langchain_core.messages import SystemMessage
from langchain_groq import ChatGroq
from pydantic import BaseModel, Field
from dotenv import load_dotenv
load_dotenv()
import os
import numpy as np

os.environ['GROQ_API_KEY']=os.getenv('GROQ_API_KEY')

llm = ChatGroq(
    model="llama3-8b-8192",
    temperature=0,
    max_tokens=None,
    timeout=None,
    max_retries=2,

)

class StoryFormatter(BaseModel):
    """Always use this tool to structure your response to the user."""
    story: str=Field(description="How to introduce the scene and set the tone. What is happening in the scene? Describe key visuals and actions")
    narration:str=Field(description="Suggestions for narration or voiceover that complements the visuals." )
    text_in_the_Video:str=Field(description="Propose important text overlays for key moments.")
    transitions:str=Field(description="Smooth transitions between scenes to maintain flow.")
    emotional_tone:str=Field(description="The mood and energy of the scenes (e.g., excitement, calm, tension, joy")
    key_visuals:str=Field(description="Important props, locations, sound effects, or background music to enhance the video.")


class BrainstromTopicFormatter(BaseModel):
  topic1:str=Field(description="First brainstorming topic of the story")
  topic2:str=Field(description="Second brainstorming topic of the story")
  topic3:str=Field(description="Third brainstorming topic of the story")
  topic4:str=Field(description="Fourth brainstorming topic of the story")