manichandrareddy commited on
Commit
9e3bd6c
·
1 Parent(s): b657fbc

Initial commit

Browse files
Files changed (3) hide show
  1. .DS_Store +0 -0
  2. gitattributes +35 -0
  3. utils/planner.py +43 -0
.DS_Store ADDED
Binary file (6.15 kB). View file
 
gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
utils/planner.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # utils/planner.py
2
+
3
+ import openai
4
+ import os
5
+
6
+ openai.api_key = os.getenv("OPENAI_API_KEY")
7
+
8
+ SYSTEM_INSTRUCTIONS = """
9
+ You are a scene planning assistant for an AI image generation system.
10
+
11
+ Your job is to take the user's prompt and return a structured JSON with:
12
+ - scene (environment, setting)
13
+ - subject (main actor)
14
+ - objects (main product or items)
15
+ - layout (foreground/background elements and their placement)
16
+ - rules (validation rules to ensure visual correctness)
17
+
18
+ Respond ONLY in raw JSON format. Do NOT include explanations.
19
+ """
20
+
21
+ def extract_scene_plan(prompt: str) -> dict:
22
+ try:
23
+ response = openai.ChatCompletion.create(
24
+ model="gpt-4-0125-preview",
25
+ messages=[
26
+ {"role": "system", "content": SYSTEM_INSTRUCTIONS},
27
+ {"role": "user", "content": prompt}
28
+ ],
29
+ temperature=0.3,
30
+ max_tokens=500
31
+ )
32
+ json_output = response["choices"][0]["message"]["content"]
33
+ return eval(json_output) # Converts JSON string to Python dict
34
+
35
+ except Exception as e:
36
+ print("LLM Error:", e)
37
+ return {
38
+ "scene": None,
39
+ "subject": None,
40
+ "objects": [],
41
+ "layout": {},
42
+ "rules": {}
43
+ }