| | 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: str, model: str = "llama3-70b-8192"): |
| |
|
| | response: VideoOutput = client.chat.completions.create( |
| | model=model, |
| | |
| | |
| | |
| | max_tokens=5000, |
| | response_model=VideoOutput, |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | messages=[ |
| | |
| | |
| | |
| | |
| | { |
| | "role": "user", |
| | "content": prompt, |
| | }, |
| | ], |
| | ) |
| | return response.dict() |
| |
|