|
import os |
|
import instructor |
|
from groq import Groq |
|
|
|
from pydantic import BaseModel, Field |
|
|
|
from typing import List, Dict |
|
from pydantic import BaseModel |
|
|
|
|
|
class Scene(BaseModel): |
|
narration: str |
|
image_prompts: List[str] |
|
|
|
|
|
class VideoOutput(BaseModel): |
|
scenes: List[Scene] |
|
|
|
|
|
client = Groq(api_key="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") |
|
|
|
|
|
client = instructor.from_groq(client, mode=instructor.Mode.JSON) |
|
|
|
|
|
|
|
|
|
|
|
|
|
def chatbot(prompt): |
|
|
|
response: VideoOutput = client.chat.completions.create( |
|
model="llama3-70b-8192", |
|
|
|
|
|
|
|
max_tokens=5000, |
|
response_model=VideoOutput, |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
messages=[ |
|
|
|
|
|
|
|
|
|
{ |
|
"role": "user", |
|
"content": prompt, |
|
}, |
|
], |
|
) |
|
return response.dict() |
|
|