aankitroy commited on
Commit
833a585
·
verified ·
1 Parent(s): 978858f

Upload folder using huggingface_hub

Browse files
Files changed (3) hide show
  1. .gradio/certificate.pem +31 -0
  2. README.md +2 -8
  3. gradio_ui.py +82 -0
.gradio/certificate.pem ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ -----BEGIN CERTIFICATE-----
2
+ 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
31
+ -----END CERTIFICATE-----
README.md CHANGED
@@ -1,12 +1,6 @@
1
  ---
2
- title: AI Course Generator
3
- emoji: 🌖
4
- colorFrom: indigo
5
- colorTo: indigo
6
  sdk: gradio
7
  sdk_version: 5.14.0
8
- app_file: app.py
9
- pinned: false
10
  ---
11
-
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: AI_Course_Generator
3
+ app_file: gradio_ui.py
 
 
4
  sdk: gradio
5
  sdk_version: 5.14.0
 
 
6
  ---
 
 
gradio_ui.py ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import requests
3
+ import time # For simulating a loading effect
4
+
5
+ # API Endpoints
6
+ LOGIN_URL = "http://127.0.0.1:8000/auth/v1/login"
7
+ COURSE_API_URL = "http://127.0.0.1:8000/ai_course/v1/generate-course/"
8
+
9
+ # Hardcoded user credentials (Ideally, this should be entered dynamically)
10
+ USERNAME = "aankitroy1990@gmail.com"
11
+ PASSWORD = "xyzpassword"
12
+
13
+ # Function to authenticate and get access token
14
+ def get_access_token():
15
+ try:
16
+ response = requests.post(
17
+ LOGIN_URL,
18
+ data={
19
+ "grant_type": "password",
20
+ "username": USERNAME,
21
+ "password": PASSWORD,
22
+ "scope": "",
23
+ "client_id": "string",
24
+ "client_secret": "string",
25
+ },
26
+ headers={"Content-Type": "application/x-www-form-urlencoded"},
27
+ )
28
+ response_data = response.json()
29
+
30
+ if "access_token" in response_data:
31
+ return response_data["access_token"]
32
+ else:
33
+ return None
34
+ except Exception as e:
35
+ return print(f"Failed to get access token: {str(e)}")
36
+
37
+ # Function to fetch course details with loading effect
38
+ def get_course(course_name, goal, course_type, proficiency, difficulty):
39
+ yield "**Generating course... Please wait.** ⏳" # Show loading message
40
+
41
+ access_token = get_access_token()
42
+ if not access_token:
43
+ yield "**❌ Authentication failed. Please check credentials.**"
44
+ return
45
+
46
+ headers = {"Authorization": f"Bearer {access_token}"}
47
+ payload = {
48
+ "course_name": course_name,
49
+ "goal": goal,
50
+ "course_type": course_type,
51
+ "proficiency": proficiency,
52
+ "difficulty": difficulty,
53
+ }
54
+
55
+ try:
56
+ response = requests.post(COURSE_API_URL, json=payload, headers=headers)
57
+ response_data = response.json()
58
+
59
+ if "course_content" in response_data:
60
+ yield response_data["course_content"] # Final response
61
+ else:
62
+ yield "**⚠️ Error: Unexpected response from server.**"
63
+ except Exception as e:
64
+ yield f"**❌ Failed to parse response: {str(e)}**"
65
+
66
+ # Gradio Interface
67
+ iface = gr.Interface(
68
+ fn=get_course,
69
+ inputs=[
70
+ gr.Textbox(label="Course Name"),
71
+ gr.Textbox(label="Goal/Target"),
72
+ gr.Radio(["Micro", "Full"], label="Course Type"),
73
+ gr.Radio(["Beginner", "Intermediate", "Advanced"], label="Proficiency"),
74
+ gr.Radio(["Easy", "Medium", "Hard"], label="Difficulty"),
75
+ ],
76
+ outputs=gr.Markdown(label="Generated Course"),
77
+ title="AI Course Generator",
78
+ description="Create structured courses with AI.",
79
+ )
80
+
81
+ # Launch with sharing enabled
82
+ iface.launch(share=True)