Title: EduPrompt complete site generator prompt
Browse filesYou are an expert full stack developer and product designer. Generate a production ready Next.js app that implements the full EduPrompt website. Use React, TypeScript, Tailwind, shadcn ui, Framer Motion, TanStack Query, and a unified API route. Follow everything below exactly. Do not skip sections. Do not leave TODOs.
A. Tech stack and project setup
1. Create a Next.js App Router project with TypeScript and Tailwind.
2. Install shadcn ui components and lucide react icons.
3. Add Framer Motion for micro interactions.
4. Add TanStack Query for network state.
5. Prepare a layout with a top navigation and a footer.
6. Use a dark friendly theme with soft rounded corners and subtle shadows.
7. Include a responsive container and consistent spacing scale.
B. Environment and configuration
1. Create an environment variable NEXT_PUBLIC_LIVE_API_URL for the Hugging Face Space endpoint.
2. Add NEXT_PUBLIC_APP_NAME set to EduPrompt.
3. Add a config file for site meta including title, description, and social links.
4. Add a constants file for task enums summarize, rewrite, proofread, explain_code.
C. Unified API contract
1. Create a server route at app/api/run/route.ts.
2. Accept a JSON body with task, input, params.
3. Build an enhancedPrompt by applying Role, Goal, Constraints, and optional Format rules based on task and params.
4. Forward the enhancedPrompt to the Space at NEXT_PUBLIC_LIVE_API_URL using fetch.
5. Return JSON with output, enhancedPrompt, model, latencyMs, mode.
6. Handle timeouts and errors with a friendly message and an error field.
D. Prompt enhancer rules
1. Always apply a role sentence, a clear goal sentence, explicit constraints, and an optional format instruction that fits on one screen.
2. Summarize uses role expert explainer, goal concise notes, constraints target length and audience, optional JSON format with keys summary or bullets.
3. Rewrite uses role writing assistant, goal rewrite to target tone and length, constraints preserve meaning and facts, optional style guide or reading level.
4. Proofread uses role editor, goal correct grammar and clarity, constraints keep author voice and provide a short change log, optional JSON format with keys corrected and changes.
5. Explain code uses role programming tutor, goal explain what the code does and how, constraints beginner or intermediate depth and max words, optional big picture or line by line.
E. Pages to create
1. Home page at route /. Hero section explains EduPrompt as a prompt enhancing playground. Include a Try it now button that routes to the Playground. Add three feature cards for Enhance first then run, Unified API, and Free model hosting. Add testimonials placeholders. Add a footer with links to Playground, Concepts, Demos, Glossary, About.
2. Playground page at route /eduprompt. This is the large page. Provide a left panel with inputs and a right panel with results. Left panel contains a textarea for input, a select for task, fields for parameters per task, a toggle for Demo or Live, and a button Enhance and run. Right panel shows Enhanced Prompt in a collapsible code block, Model Output in a rich panel, badges for model and latency and mode, a Copy button for both texts, and a small log area with the last three runs. Implement client side caching by hashing task and input. Enforce a three thousand character input limit with a visible counter. Show a warm up message if the first live call exceeds eight seconds. If the Space is unreachable, automatically return a Demo fallback result and show a toast.
3. Concepts page at route /concepts. Present cards for Role Prompting, Goal plus Constraints, Stepwise Thinking, Example driven prompts, and Tool aware formatting. Each card contains a Why it works paragraph, a weak prompt versus strong prompt pair, and a Copy button.
4. Try it yourself mini lab at route /try. Provide prefilled examples for each task. On click, fill the Playground and navigate there with the fields populated, then auto run.
5. Demos page at route /demos. Provide three friendly presets for Summarize, Rewrite, Proofread, Explain code. Each card has a title, a short description, a Run demo button, and a link to view the enhancer template used.
6. Glossary page at route /glossary. Include at least thirty essential LLM terms with short definitions and a why this matters line. Render as a searchable list with a sticky search input.
7. About page at route /about. Explain the project mission and how the prompt enhancer teaches better prompting by showing the enhanced text next to the result.
F. Components and UI behavior
1. Build a TaskSelector with enum values summarize, rewrite, proofread, explain_code.
2. Build a ModeToggle with values Demo and Live that persists to localStorage.
3. Build an InputPanel that renders dynamic fields based on task.
4. Build a ResultPanel that shows Enhanced Prompt and Model Output with copy buttons and a model latency badge.
5. Build a Toast system for errors and fallbacks.
6. Build a simple AnalyticsCounter that counts runs and cache hits stored locally.
G. Demo mode data
1. Include a data folder with demo results for summarize, rewrite, proofread, explain_code keyed by small example inputs.
2. In Demo mode the API route returns these without contacting the Space.
3. Always include the enhancedPrompt in Demo mode as well.
H. Hugging Face Space design
1. Create a FastAPI Space that exposes a single POST /run endpoint.
2. The endpoint accepts task, input, params and returns output, model, latencyMs.
3. Implement four lightweight pipelines. Summarize uses t5 small. Rewrite uses flan t5 small. Proofread uses flan t5 small with a grammar fix instruction. Explain code uses codet5p 220m or flan t5 small when codet5p is unavailable.
4. Enable CORS for your site domain.
5. Add requirements for transformers, torch, fastapi, uvicorn, pydantic.
I. File structure guidance
1. app layout.tsx and globals.css for base.
2. app eduprompt page.tsx for the Playground.
3. app concepts page.tsx for teaching cards.
4. app try page.tsx for one click presets.
5. app demos page.tsx for demo cards.
6. app glossary page.tsx for glossary.
7. app about page.tsx for about.
8. app api run route.ts for the unified API.
9. lib promptEnhancer.ts for enhancer logic.
10. lib tasks.ts for enums and per task parameter schema.
11. lib hash.ts for cache keys.
12. components InputPanel.tsx, TaskSelector.tsx, ModeToggle.tsx, ResultPanel.tsx, CopyButton.tsx.
J. Parameter schema per task
1. Summarize supports audience, length, style, format.
2. Rewrite supports tone, length, style guide name, reading level.
3. Proofread supports reading level, showChanges boolean, format.
4. Explain code supports language, depth, focus.
K. Acceptance tests
1. Summarize test. Input a five sentence paragraph. Expect three bullets under one hundred words.
2. Rewrite test. Input a formal sentence and tone friendly. Expect meaning preserved.
3. Proofread test. Input a sentence with two grammar errors. Expect corrected text plus a short list of changes.
4. Explain code test. Input a ten line function. Expect a beginner level explanation under one hundred twenty words.
5. Demo fallback test. Disable Space and run. Expect a demo response and a toast.
6. Latency badge test. Warm call should be below three seconds on small models.
L. Accessibility and quality
1. Use semantic HTML for sections, landmarks, and buttons.
2. Ensure keyboard focus states and ARIA labels for toggles.
3. Prefer readable contrast and a minimum touch target size.
4. Add sensible empty states and loading states.
5. Add basic error boundaries.
M. Copy and product text
1. Home page tagline. Enhance your prompt then run the model.
2. Playground helper text. Type anything and see how the enhancer upgrades your prompt before calling a real model.
3. Concepts intro. Learn the five prompt moves that make any request clearer and more reproducible.
4. Demos intro. One click examples that showcase the full flow.
N. Performance and caching
1. Hash task and input to cache results on the client for ten minutes.
2. Do not store secrets in the client.
3. Stream or progressively reveal long responses when available.
4. Limit input length to three thousand characters and display a live counter.
O. Deliverables
1. Fully working Next.js project that builds without errors.
2. All routes and components implemented.
3. One cohesive visual style.
4. A README with setup steps, environment variables, and Space URL.
Generate the complete codebase now with this exact structure and behavior.
- README.md +8 -5
- about.html +216 -0
- concepts.html +228 -0
- demos.html +240 -0
- eduprompt.html +408 -0
- glossary.html +335 -0
- index.html +201 -18
|
@@ -1,10 +1,13 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: EduPrompt Playground
|
| 3 |
+
colorFrom: yellow
|
| 4 |
+
colorTo: green
|
| 5 |
+
emoji: 🐳
|
| 6 |
sdk: static
|
| 7 |
pinned: false
|
| 8 |
+
tags:
|
| 9 |
+
- deepsite-v3
|
| 10 |
---
|
| 11 |
|
| 12 |
+
# Welcome to your new DeepSite project!
|
| 13 |
+
This project was created with [DeepSite](https://deepsite.hf.co).
|
|
@@ -0,0 +1,216 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>About - EduPrompt</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 11 |
+
<script>
|
| 12 |
+
tailwind.config = {
|
| 13 |
+
theme: {
|
| 14 |
+
extend: {
|
| 15 |
+
colors: {
|
| 16 |
+
primary: {
|
| 17 |
+
50: '#f0f9ff',
|
| 18 |
+
100: '#e0f2fe',
|
| 19 |
+
200: '#bae6fd',
|
| 20 |
+
300: '#7dd3fc',
|
| 21 |
+
400: '#38bdf8',
|
| 22 |
+
500: '#0ea5e9',
|
| 23 |
+
600: '#0284c7',
|
| 24 |
+
700: '#0369a1',
|
| 25 |
+
800: '#075985',
|
| 26 |
+
900: '#0c4a6e',
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
fontFamily: {
|
| 30 |
+
sans: ['Inter', 'sans-serif']
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
}
|
| 35 |
+
</script>
|
| 36 |
+
<style>
|
| 37 |
+
.gradient-bg {
|
| 38 |
+
background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
|
| 39 |
+
}
|
| 40 |
+
</style>
|
| 41 |
+
</head>
|
| 42 |
+
<body class="bg-gray-50 text-gray-900 font-sans">
|
| 43 |
+
<!-- Navigation -->
|
| 44 |
+
<nav class="bg-white shadow-sm py-4">
|
| 45 |
+
<div class="container mx-auto px-4 flex justify-between items-center">
|
| 46 |
+
<div class="flex items-center space-x-2">
|
| 47 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center">
|
| 48 |
+
<i data-feather="zap" class="text-white"></i>
|
| 49 |
+
</div>
|
| 50 |
+
<span class="text-xl font-bold text-gray-900">EduPrompt</span>
|
| 51 |
+
</div>
|
| 52 |
+
<div class="hidden md:flex space-x-8">
|
| 53 |
+
<a href="/" class="text-gray-600 hover:text-primary-600">Home</a>
|
| 54 |
+
<a href="/eduprompt.html" class="text-gray-600 hover:text-primary-600">Playground</a>
|
| 55 |
+
<a href="/concepts.html" class="text-gray-600 hover:text-primary-600">Concepts</a>
|
| 56 |
+
<a href="/demos.html" class="text-gray-600 hover:text-primary-600">Demos</a>
|
| 57 |
+
<a href="/glossary.html" class="text-gray-600 hover:text-primary-600">Glossary</a>
|
| 58 |
+
<a href="/about.html" class="text-primary-600 font-medium">About</a>
|
| 59 |
+
</div>
|
| 60 |
+
<button class="md:hidden text-gray-600">
|
| 61 |
+
<i data-feather="menu"></i>
|
| 62 |
+
</button>
|
| 63 |
+
</div>
|
| 64 |
+
</nav>
|
| 65 |
+
|
| 66 |
+
<!-- Hero Section -->
|
| 67 |
+
<section class="py-16 bg-white">
|
| 68 |
+
<div class="container mx-auto px-4 text-center">
|
| 69 |
+
<h1 class="text-4xl font-bold mb-6">About EduPrompt</h1>
|
| 70 |
+
<p class="text-xl text-gray-600 max-w-3xl mx-auto">Teaching better prompting by showing the enhanced text next to the result</p>
|
| 71 |
+
</div>
|
| 72 |
+
</section>
|
| 73 |
+
|
| 74 |
+
<!-- Mission Section -->
|
| 75 |
+
<section class="py-16">
|
| 76 |
+
<div class="container mx-auto px-4">
|
| 77 |
+
<div class="max-w-4xl mx-auto">
|
| 78 |
+
<div class="bg-white rounded-xl shadow-sm p-8">
|
| 79 |
+
<h2 class="text-3xl font-bold mb-6">Our Mission</h2>
|
| 80 |
+
<p class="text-gray-700 text-lg mb-6">
|
| 81 |
+
At EduPrompt, we believe that understanding how to communicate effectively with AI is a fundamental skill for the modern world.
|
| 82 |
+
Our mission is to make prompt engineering accessible, understandable, and teachable to everyone.
|
| 83 |
+
</p>
|
| 84 |
+
<p class="text-gray-700 text-lg mb-6">
|
| 85 |
+
We're not just building tools - we're creating educational experiences that reveal the inner workings of AI systems.
|
| 86 |
+
By showing how prompts get enhanced before being sent to models, we help users understand what makes effective communication with AI.
|
| 87 |
+
</p>
|
| 88 |
+
<div class="flex flex-col md:flex-row gap-8 mt-12">
|
| 89 |
+
<div class="flex-1">
|
| 90 |
+
<div class="w-12 h-12 rounded-lg gradient-bg flex items-center justify-center mb-4">
|
| 91 |
+
<i data-feather="eye" class="text-white"></i>
|
| 92 |
+
</div>
|
| 93 |
+
<h3 class="text-xl font-bold mb-3">Transparency First</h3>
|
| 94 |
+
<p class="text-gray-600">
|
| 95 |
+
We show exactly how your prompts are enhanced, making the AI's "thinking process" visible and learnable.
|
| 96 |
+
</p>
|
| 97 |
+
</div>
|
| 98 |
+
<div class="flex-1">
|
| 99 |
+
<div class="w-12 h-12 rounded-lg gradient-bg flex items-center justify-center mb-4">
|
| 100 |
+
<i data-feather="book-open" class="text-white"></i>
|
| 101 |
+
</div>
|
| 102 |
+
<h3 class="text-xl font-bold mb-3">Education Focused</h3>
|
| 103 |
+
<p class="text-gray-600">
|
| 104 |
+
Every interaction is designed to teach principles of effective prompting, not just produce results.
|
| 105 |
+
</p>
|
| 106 |
+
</div>
|
| 107 |
+
<div class="flex-1">
|
| 108 |
+
<div class="w-12 h-12 rounded-lg gradient-bg flex items-center justify-center mb-4">
|
| 109 |
+
<i data-feather="tool" class="text-white"></i>
|
| 110 |
+
</div>
|
| 111 |
+
<h3 class="text-xl font-bold mb-3">Practical Tools</h3>
|
| 112 |
+
<p class="text-gray-600">
|
| 113 |
+
Our playground and API provide real utility while demonstrating best practices in action.
|
| 114 |
+
</p>
|
| 115 |
+
</div>
|
| 116 |
+
</div>
|
| 117 |
+
</div>
|
| 118 |
+
</div>
|
| 119 |
+
</div>
|
| 120 |
+
</section>
|
| 121 |
+
|
| 122 |
+
<!-- How It Works Section -->
|
| 123 |
+
<section class="py-16 bg-gray-50">
|
| 124 |
+
<div class="container mx-auto px-4">
|
| 125 |
+
<div class="max-w-4xl mx-auto text-center mb-16">
|
| 126 |
+
<h2 class="text-3xl font-bold mb-4">How EduPrompt Teaches Better Prompting</h2>
|
| 127 |
+
<p class="text-xl text-gray-600">
|
| 128 |
+
Our unique approach shows the transformation process that turns basic prompts into expert instructions
|
| 129 |
+
</p>
|
| 130 |
+
</div>
|
| 131 |
+
<div class="max-w-5xl mx-auto">
|
| 132 |
+
<div class="bg-white rounded-xl shadow-sm p-8">
|
| 133 |
+
<div class="grid md:grid-cols-3 gap-8">
|
| 134 |
+
<div class="text-center">
|
| 135 |
+
<div class="w-16 h-16 rounded-full gradient-bg flex items-center justify-center mx-auto mb-6">
|
| 136 |
+
<span class="text-white text-2xl font-bold">1</span>
|
| 137 |
+
</div>
|
| 138 |
+
<h3 class="text-xl font-bold mb-3">User Input</h3>
|
| 139 |
+
<p class="text-gray-600">
|
| 140 |
+
You enter a basic prompt with your task and parameters
|
| 141 |
+
</p>
|
| 142 |
+
</div>
|
| 143 |
+
<div class="text-center">
|
| 144 |
+
<div class="w-16 h-16 rounded-full gradient-bg flex items-center justify-center mx-auto mb-6">
|
| 145 |
+
<span class="text-white text-2xl font-bold">2</span>
|
| 146 |
+
</div>
|
| 147 |
+
<h3 class="text-xl font-bold mb-3">Enhancement</h3>
|
| 148 |
+
<p class="text-gray-600">
|
| 149 |
+
Our system transforms your input into an expert-level prompt using proven techniques
|
| 150 |
+
</p>
|
| 151 |
+
</div>
|
| 152 |
+
<div class="text-center">
|
| 153 |
+
<div class="w-16 h-16 rounded-full gradient-bg flex items-center justify-center mx-auto mb-6">
|
| 154 |
+
<span class="text-white text-2xl font-bold">3</span>
|
| 155 |
+
</div>
|
| 156 |
+
<h3 class="text-xl font-bold mb-3">Learning</h3>
|
| 157 |
+
<p class="text-gray-600">
|
| 158 |
+
You see both the enhanced prompt and result side-by-side to understand what works
|
| 159 |
+
</p>
|
| 160 |
+
</div>
|
| 161 |
+
</div>
|
| 162 |
+
<div class="mt-12 p-6 bg-gray-50 rounded-lg">
|
| 163 |
+
<h3 class="text-lg font-bold mb-3">Why This Approach Works</h3>
|
| 164 |
+
<p class="text-gray-700">
|
| 165 |
+
Traditional prompt engineering tools hide the enhancement process, making it difficult to learn.
|
| 166 |
+
EduPrompt's transparency shows exactly how effective prompts are structured, enabling users to
|
| 167 |
+
internalize best practices and apply them independently. This "show, don't tell" approach
|
| 168 |
+
accelerates learning and builds lasting skills.
|
| 169 |
+
</p>
|
| 170 |
+
</div>
|
| 171 |
+
</div>
|
| 172 |
+
</div>
|
| 173 |
+
</div>
|
| 174 |
+
</section>
|
| 175 |
+
|
| 176 |
+
<!-- Team Section -->
|
| 177 |
+
<section class="py-16">
|
| 178 |
+
<div class="container mx-auto px-4">
|
| 179 |
+
<div class="max-w-4xl mx-auto text-center mb-16">
|
| 180 |
+
<h2 class="text-3xl font-bold mb-4">Created by AI Educators</h2>
|
| 181 |
+
<p class="text-xl text-gray-600">
|
| 182 |
+
Our team combines expertise in machine learning, education, and user experience design
|
| 183 |
+
</p>
|
| 184 |
+
</div>
|
| 185 |
+
<div class="max-w-5xl mx-auto">
|
| 186 |
+
<div class="bg-white rounded-xl shadow-sm p-8">
|
| 187 |
+
<div class="flex flex-col md:flex-row items-center gap-8">
|
| 188 |
+
<div class="flex-shrink-0">
|
| 189 |
+
<div class="w-32 h-32 rounded-full bg-gray-300 flex items-center justify-center">
|
| 190 |
+
<i data-feather="user" class="text-white text-4xl"></i>
|
| 191 |
+
</div>
|
| 192 |
+
</div>
|
| 193 |
+
<div>
|
| 194 |
+
<h3 class="text-2xl font-bold mb-2">The EduPrompt Team</h3>
|
| 195 |
+
<p class="text-gray-700 mb-4">
|
| 196 |
+
We're a group of researchers, educators, and developers passionate about making AI
|
| 197 |
+
accessible and understandable. Our backgrounds span computational linguistics,
|
| 198 |
+
cognitive science, and software engineering.
|
| 199 |
+
</p>
|
| 200 |
+
<p class="text-gray-700">
|
| 201 |
+
We created EduPrompt because we saw a gap between powerful AI capabilities and
|
| 202 |
+
people's ability to harness them effectively. Our goal is to bridge that gap through
|
| 203 |
+
education and transparent tools.
|
| 204 |
+
</p>
|
| 205 |
+
</div>
|
| 206 |
+
</div>
|
| 207 |
+
</div>
|
| 208 |
+
</div>
|
| 209 |
+
</div>
|
| 210 |
+
</section>
|
| 211 |
+
|
| 212 |
+
<script>
|
| 213 |
+
feather.replace();
|
| 214 |
+
</script>
|
| 215 |
+
</body>
|
| 216 |
+
</html>
|
|
@@ -0,0 +1,228 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Concepts - EduPrompt</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 11 |
+
<script>
|
| 12 |
+
tailwind.config = {
|
| 13 |
+
theme: {
|
| 14 |
+
extend: {
|
| 15 |
+
colors: {
|
| 16 |
+
primary: {
|
| 17 |
+
50: '#f0f9ff',
|
| 18 |
+
100: '#e0f2fe',
|
| 19 |
+
200: '#bae6fd',
|
| 20 |
+
300: '#7dd3fc',
|
| 21 |
+
400: '#38bdf8',
|
| 22 |
+
500: '#0ea5e9',
|
| 23 |
+
600: '#0284c7',
|
| 24 |
+
700: '#0369a1',
|
| 25 |
+
800: '#075985',
|
| 26 |
+
900: '#0c4a6e',
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
fontFamily: {
|
| 30 |
+
sans: ['Inter', 'sans-serif']
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
}
|
| 35 |
+
</script>
|
| 36 |
+
<style>
|
| 37 |
+
.concept-card {
|
| 38 |
+
transition: all 0.3s ease;
|
| 39 |
+
}
|
| 40 |
+
.concept-card:hover {
|
| 41 |
+
transform: translateY(-5px);
|
| 42 |
+
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
| 43 |
+
}
|
| 44 |
+
.gradient-bg {
|
| 45 |
+
background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
|
| 46 |
+
}
|
| 47 |
+
</style>
|
| 48 |
+
</head>
|
| 49 |
+
<body class="bg-gray-50 text-gray-900 font-sans">
|
| 50 |
+
<!-- Navigation -->
|
| 51 |
+
<nav class="bg-white shadow-sm py-4">
|
| 52 |
+
<div class="container mx-auto px-4 flex justify-between items-center">
|
| 53 |
+
<div class="flex items-center space-x-2">
|
| 54 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center">
|
| 55 |
+
<i data-feather="zap" class="text-white"></i>
|
| 56 |
+
</div>
|
| 57 |
+
<span class="text-xl font-bold text-gray-900">EduPrompt</span>
|
| 58 |
+
</div>
|
| 59 |
+
<div class="hidden md:flex space-x-8">
|
| 60 |
+
<a href="/" class="text-gray-600 hover:text-primary-600">Home</a>
|
| 61 |
+
<a href="/eduprompt.html" class="text-gray-600 hover:text-primary-600">Playground</a>
|
| 62 |
+
<a href="/concepts.html" class="text-primary-600 font-medium">Concepts</a>
|
| 63 |
+
<a href="/demos.html" class="text-gray-600 hover:text-primary-600">Demos</a>
|
| 64 |
+
<a href="/glossary.html" class="text-gray-600 hover:text-primary-600">Glossary</a>
|
| 65 |
+
<a href="/about.html" class="text-gray-600 hover:text-primary-600">About</a>
|
| 66 |
+
</div>
|
| 67 |
+
<button class="md:hidden text-gray-600">
|
| 68 |
+
<i data-feather="menu"></i>
|
| 69 |
+
</button>
|
| 70 |
+
</div>
|
| 71 |
+
</nav>
|
| 72 |
+
|
| 73 |
+
<!-- Header -->
|
| 74 |
+
<header class="py-16 bg-white">
|
| 75 |
+
<div class="container mx-auto px-4 text-center">
|
| 76 |
+
<h1 class="text-4xl font-bold mb-4">Prompt Engineering Concepts</h1>
|
| 77 |
+
<p class="text-xl text-gray-600 max-w-2xl mx-auto">Learn the five prompt moves that make any request clearer and more reproducible</p>
|
| 78 |
+
</div>
|
| 79 |
+
</header>
|
| 80 |
+
|
| 81 |
+
<!-- Concepts Grid -->
|
| 82 |
+
<main class="container mx-auto px-4 py-8">
|
| 83 |
+
<div class="grid md:grid-cols-2 gap-8">
|
| 84 |
+
<!-- Concept 1 -->
|
| 85 |
+
<div class="concept-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 86 |
+
<div class="p-6">
|
| 87 |
+
<div class="flex items-center mb-4">
|
| 88 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 89 |
+
<i data-feather="user" class="text-white"></i>
|
| 90 |
+
</div>
|
| 91 |
+
<h2 class="text-xl font-bold">Role Prompting</h2>
|
| 92 |
+
</div>
|
| 93 |
+
<p class="text-gray-700 mb-4">Assigning a specific role to the AI helps it understand the context and perspective from which to respond.</p>
|
| 94 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 95 |
+
<h3 class="font-medium text-gray-900 mb-2">Weak Prompt:</h3>
|
| 96 |
+
<p class="text-gray-600 italic">"Explain photosynthesis"</p>
|
| 97 |
+
</div>
|
| 98 |
+
<div class="bg-gray-50 p-4 rounded-lg">
|
| 99 |
+
<h3 class="font-medium text-gray-900 mb-2">Strong Prompt:</h3>
|
| 100 |
+
<p class="text-gray-600 italic">"As a biology teacher, explain photosynthesis to 8th grade students in simple terms with examples"</p>
|
| 101 |
+
</div>
|
| 102 |
+
<button class="mt-4 text-primary-600 hover:text-primary-800 flex items-center copy-btn" data-text="As a biology teacher, explain photosynthesis to 8th grade students in simple terms with examples">
|
| 103 |
+
<i data-feather="copy" class="mr-1"></i> Copy Strong Prompt
|
| 104 |
+
</button>
|
| 105 |
+
</div>
|
| 106 |
+
</div>
|
| 107 |
+
|
| 108 |
+
<!-- Concept 2 -->
|
| 109 |
+
<div class="concept-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 110 |
+
<div class="p-6">
|
| 111 |
+
<div class="flex items-center mb-4">
|
| 112 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 113 |
+
<i data-feather="target" class="text-white"></i>
|
| 114 |
+
</div>
|
| 115 |
+
<h2 class="text-xl font-bold">Goal + Constraints</h2>
|
| 116 |
+
</div>
|
| 117 |
+
<p class="text-gray-700 mb-4">Clearly defining what you want and setting boundaries helps the AI produce more focused and useful responses.</p>
|
| 118 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 119 |
+
<h3 class="font-medium text-gray-900 mb-2">Weak Prompt:</h3>
|
| 120 |
+
<p class="text-gray-600 italic">"Write about climate change"</p>
|
| 121 |
+
</div>
|
| 122 |
+
<div class="bg-gray-50 p-4 rounded-lg">
|
| 123 |
+
<h3 class="font-medium text-gray-900 mb-2">Strong Prompt:</h3>
|
| 124 |
+
<p class="text-gray-600 italic">"Goal: Write a 300-word article about climate change for a general audience. Constraints: Focus on solutions, avoid technical jargon, include 3 actionable steps"</p>
|
| 125 |
+
</div>
|
| 126 |
+
<button class="mt-4 text-primary-600 hover:text-primary-800 flex items-center copy-btn" data-text="Goal: Write a 300-word article about climate change for a general audience. Constraints: Focus on solutions, avoid technical jargon, include 3 actionable steps">
|
| 127 |
+
<i data-feather="copy" class="mr-1"></i> Copy Strong Prompt
|
| 128 |
+
</button>
|
| 129 |
+
</div>
|
| 130 |
+
</div>
|
| 131 |
+
|
| 132 |
+
<!-- Concept 3 -->
|
| 133 |
+
<div class="concept-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 134 |
+
<div class="p-6">
|
| 135 |
+
<div class="flex items-center mb-4">
|
| 136 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 137 |
+
<i data-feather="list" class="text-white"></i>
|
| 138 |
+
</div>
|
| 139 |
+
<h2 class="text-xl font-bold">Stepwise Thinking</h2>
|
| 140 |
+
</div>
|
| 141 |
+
<p class="text-gray-700 mb-4">Breaking complex tasks into sequential steps helps the AI organize its thinking and produce more structured responses.</p>
|
| 142 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 143 |
+
<h3 class="font-medium text-gray-900 mb-2">Weak Prompt:</h3>
|
| 144 |
+
<p class="text-gray-600 italic">"Plan a marketing campaign"</p>
|
| 145 |
+
</div>
|
| 146 |
+
<div class="bg-gray-50 p-4 rounded-lg">
|
| 147 |
+
<h3 class="font-medium text-gray-900 mb-2">Strong Prompt:</h3>
|
| 148 |
+
<p class="text-gray-600 italic">"Step 1: Identify target audience for eco-friendly water bottles. Step 2: List 3 key messaging points. Step 3: Suggest 2 social media platforms. Step 4: Create sample post for each platform"</p>
|
| 149 |
+
</div>
|
| 150 |
+
<button class="mt-4 text-primary-600 hover:text-primary-800 flex items-center copy-btn" data-text="Step 1: Identify target audience for eco-friendly water bottles. Step 2: List 3 key messaging points. Step 3: Suggest 2 social media platforms. Step 4: Create sample post for each platform">
|
| 151 |
+
<i data-feather="copy" class="mr-1"></i> Copy Strong Prompt
|
| 152 |
+
</button>
|
| 153 |
+
</div>
|
| 154 |
+
</div>
|
| 155 |
+
|
| 156 |
+
<!-- Concept 4 -->
|
| 157 |
+
<div class="concept-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 158 |
+
<div class="p-6">
|
| 159 |
+
<div class="flex items-center mb-4">
|
| 160 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 161 |
+
<i data-feather="book-open" class="text-white"></i>
|
| 162 |
+
</div>
|
| 163 |
+
<h2 class="text-xl font-bold">Example-Driven Prompts</h2>
|
| 164 |
+
</div>
|
| 165 |
+
<p class="text-gray-700 mb-4">Providing examples helps the AI understand the desired format, style, and level of detail for its response.</p>
|
| 166 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 167 |
+
<h3 class="font-medium text-gray-900 mb-2">Weak Prompt:</h3>
|
| 168 |
+
<p class="text-gray-600 italic">"Write a product description"</p>
|
| 169 |
+
</div>
|
| 170 |
+
<div class="bg-gray-50 p-4 rounded-lg">
|
| 171 |
+
<h3 class="font-medium text-gray-900 mb-2">Strong Prompt:</h3>
|
| 172 |
+
<p class="text-gray-600 italic">"Write a product description like this example: 'Revolutionary wireless earbuds with 30hr battery life. Crystal-clear sound with noise cancellation. Sweat-resistant for workouts. $129.99' - Now describe a smart water bottle that tracks hydration"</p>
|
| 173 |
+
</div>
|
| 174 |
+
<button class="mt-4 text-primary-600 hover:text-primary-800 flex items-center copy-btn" data-text="Write a product description like this example: 'Revolutionary wireless earbuds with 30hr battery life. Crystal-clear sound with noise cancellation. Sweat-resistant for workouts. $129.99' - Now describe a smart water bottle that tracks hydration">
|
| 175 |
+
<i data-feather="copy" class="mr-1"></i> Copy Strong Prompt
|
| 176 |
+
</button>
|
| 177 |
+
</div>
|
| 178 |
+
</div>
|
| 179 |
+
|
| 180 |
+
<!-- Concept 5 -->
|
| 181 |
+
<div class="concept-card bg-white rounded-xl shadow-sm overflow-hidden md:col-span-2">
|
| 182 |
+
<div class="p-6">
|
| 183 |
+
<div class="flex items-center mb-4">
|
| 184 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 185 |
+
<i data-feather="tool" class="text-white"></i>
|
| 186 |
+
</div>
|
| 187 |
+
<h2 class="text-xl font-bold">Tool-Aware Formatting</h2>
|
| 188 |
+
</div>
|
| 189 |
+
<p class="text-gray-700 mb-4">Specifying output formats that work well with tools helps automate workflows and integrate with other systems.</p>
|
| 190 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 191 |
+
<h3 class="font-medium text-gray-900 mb-2">Weak Prompt:</h3>
|
| 192 |
+
<p class="text-gray-600 italic">"List project tasks"</p>
|
| 193 |
+
</div>
|
| 194 |
+
<div class="bg-gray-50 p-4 rounded-lg">
|
| 195 |
+
<h3 class="font-medium text-gray-900 mb-2">Strong Prompt:</h3>
|
| 196 |
+
<p class="text-gray-600 italic">"Create a JSON array of project tasks for a website redesign. Include keys: id, title, priority (high/medium/low), deadline (YYYY-MM-DD). Limit to 5 tasks."</p>
|
| 197 |
+
</div>
|
| 198 |
+
<button class="mt-4 text-primary-600 hover:text-primary-800 flex items-center copy-btn" data-text="Create a JSON array of project tasks for a website redesign. Include keys: id, title, priority (high/medium/low), deadline (YYYY-MM-DD). Limit to 5 tasks.">
|
| 199 |
+
<i data-feather="copy" class="mr-1"></i> Copy Strong Prompt
|
| 200 |
+
</button>
|
| 201 |
+
</div>
|
| 202 |
+
</div>
|
| 203 |
+
</div>
|
| 204 |
+
</main>
|
| 205 |
+
|
| 206 |
+
<script>
|
| 207 |
+
feather.replace();
|
| 208 |
+
|
| 209 |
+
// Copy button functionality
|
| 210 |
+
document.querySelectorAll('.copy-btn').forEach(button => {
|
| 211 |
+
button.addEventListener('click', () => {
|
| 212 |
+
const text = button.getAttribute('data-text');
|
| 213 |
+
navigator.clipboard.writeText(text);
|
| 214 |
+
|
| 215 |
+
const icon = button.querySelector('i');
|
| 216 |
+
const originalIcon = icon.getAttribute('data-feather');
|
| 217 |
+
icon.setAttribute('data-feather', 'check');
|
| 218 |
+
feather.replace();
|
| 219 |
+
|
| 220 |
+
setTimeout(() => {
|
| 221 |
+
icon.setAttribute('data-feather', originalIcon);
|
| 222 |
+
feather.replace();
|
| 223 |
+
}, 2000);
|
| 224 |
+
});
|
| 225 |
+
});
|
| 226 |
+
</script>
|
| 227 |
+
</body>
|
| 228 |
+
</html>
|
|
@@ -0,0 +1,240 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Demos - EduPrompt</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 11 |
+
<script>
|
| 12 |
+
tailwind.config = {
|
| 13 |
+
theme: {
|
| 14 |
+
extend: {
|
| 15 |
+
colors: {
|
| 16 |
+
primary: {
|
| 17 |
+
50: '#f0f9ff',
|
| 18 |
+
100: '#e0f2fe',
|
| 19 |
+
200: '#bae6fd',
|
| 20 |
+
300: '#7dd3fc',
|
| 21 |
+
400: '#38bdf8',
|
| 22 |
+
500: '#0ea5e9',
|
| 23 |
+
600: '#0284c7',
|
| 24 |
+
700: '#0369a1',
|
| 25 |
+
800: '#075985',
|
| 26 |
+
900: '#0c4a6e',
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
fontFamily: {
|
| 30 |
+
sans: ['Inter', 'sans-serif']
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
}
|
| 35 |
+
</script>
|
| 36 |
+
<style>
|
| 37 |
+
.demo-card {
|
| 38 |
+
transition: all 0.3s ease;
|
| 39 |
+
}
|
| 40 |
+
.demo-card:hover {
|
| 41 |
+
transform: translateY(-5px);
|
| 42 |
+
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
| 43 |
+
}
|
| 44 |
+
.gradient-bg {
|
| 45 |
+
background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
|
| 46 |
+
}
|
| 47 |
+
</style>
|
| 48 |
+
</head>
|
| 49 |
+
<body class="bg-gray-50 text-gray-900 font-sans">
|
| 50 |
+
<!-- Navigation -->
|
| 51 |
+
<nav class="bg-white shadow-sm py-4">
|
| 52 |
+
<div class="container mx-auto px-4 flex justify-between items-center">
|
| 53 |
+
<div class="flex items-center space-x-2">
|
| 54 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center">
|
| 55 |
+
<i data-feather="zap" class="text-white"></i>
|
| 56 |
+
</div>
|
| 57 |
+
<span class="text-xl font-bold text-gray-900">EduPrompt</span>
|
| 58 |
+
</div>
|
| 59 |
+
<div class="hidden md:flex space-x-8">
|
| 60 |
+
<a href="/" class="text-gray-600 hover:text-primary-600">Home</a>
|
| 61 |
+
<a href="/eduprompt.html" class="text-gray-600 hover:text-primary-600">Playground</a>
|
| 62 |
+
<a href="/concepts.html" class="text-gray-600 hover:text-primary-600">Concepts</a>
|
| 63 |
+
<a href="/demos.html" class="text-primary-600 font-medium">Demos</a>
|
| 64 |
+
<a href="/glossary.html" class="text-gray-600 hover:text-primary-600">Glossary</a>
|
| 65 |
+
<a href="/about.html" class="text-gray-600 hover:text-primary-600">About</a>
|
| 66 |
+
</div>
|
| 67 |
+
<button class="md:hidden text-gray-600">
|
| 68 |
+
<i data-feather="menu"></i>
|
| 69 |
+
</button>
|
| 70 |
+
</div>
|
| 71 |
+
</nav>
|
| 72 |
+
|
| 73 |
+
<!-- Header -->
|
| 74 |
+
<header class="py-16 bg-white">
|
| 75 |
+
<div class="container mx-auto px-4 text-center">
|
| 76 |
+
<h1 class="text-4xl font-bold mb-4">Prompt Demos</h1>
|
| 77 |
+
<p class="text-xl text-gray-600 max-w-2xl mx-auto">One-click examples that showcase the full flow from prompt enhancement to model output</p>
|
| 78 |
+
</div>
|
| 79 |
+
</header>
|
| 80 |
+
|
| 81 |
+
<!-- Demos Grid -->
|
| 82 |
+
<main class="container mx-auto px-4 py-8">
|
| 83 |
+
<div class="grid md:grid-cols-2 lg:grid-cols-3 gap-8">
|
| 84 |
+
<!-- Demo 1: Summarize -->
|
| 85 |
+
<div class="demo-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 86 |
+
<div class="p-6">
|
| 87 |
+
<div class="flex items-center mb-4">
|
| 88 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 89 |
+
<i data-feather="file-text" class="text-white"></i>
|
| 90 |
+
</div>
|
| 91 |
+
<h2 class="text-xl font-bold">Article Summarization</h2>
|
| 92 |
+
</div>
|
| 93 |
+
<p class="text-gray-700 mb-4">See how EduPrompt creates concise summaries from lengthy articles while preserving key information.</p>
|
| 94 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 95 |
+
<h3 class="font-medium text-gray-900 mb-2">Input:</h3>
|
| 96 |
+
<p class="text-gray-600 text-sm">A 500-word article about renewable energy trends...</p>
|
| 97 |
+
</div>
|
| 98 |
+
<div class="flex justify-between items-center">
|
| 99 |
+
<button class="gradient-bg text-white font-medium py-2 px-4 rounded-lg hover:opacity-90 transition">
|
| 100 |
+
Run Demo
|
| 101 |
+
</button>
|
| 102 |
+
<a href="#" class="text-primary-600 hover:text-primary-800 text-sm flex items-center">
|
| 103 |
+
<i data-feather="eye" class="mr-1"></i> View Template
|
| 104 |
+
</a>
|
| 105 |
+
</div>
|
| 106 |
+
</div>
|
| 107 |
+
</div>
|
| 108 |
+
|
| 109 |
+
<!-- Demo 2: Rewrite -->
|
| 110 |
+
<div class="demo-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 111 |
+
<div class="p-6">
|
| 112 |
+
<div class="flex items-center mb-4">
|
| 113 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 114 |
+
<i data-feather="edit" class="text-white"></i>
|
| 115 |
+
</div>
|
| 116 |
+
<h2 class="text-xl font-bold">Tone Transformation</h2>
|
| 117 |
+
</div>
|
| 118 |
+
<p class="text-gray-700 mb-4">Watch how formal business communication gets rewritten into friendly, approachable language.</p>
|
| 119 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 120 |
+
<h3 class="font-medium text-gray-900 mb-2">Input:</h3>
|
| 121 |
+
<p class="text-gray-600 text-sm">Formal customer service response...</p>
|
| 122 |
+
</div>
|
| 123 |
+
<div class="flex justify-between items-center">
|
| 124 |
+
<button class="gradient-bg text-white font-medium py-2 px-4 rounded-lg hover:opacity-90 transition">
|
| 125 |
+
Run Demo
|
| 126 |
+
</button>
|
| 127 |
+
<a href="#" class="text-primary-600 hover:text-primary-800 text-sm flex items-center">
|
| 128 |
+
<i data-feather="eye" class="mr-1"></i> View Template
|
| 129 |
+
</a>
|
| 130 |
+
</div>
|
| 131 |
+
</div>
|
| 132 |
+
</div>
|
| 133 |
+
|
| 134 |
+
<!-- Demo 3: Proofread -->
|
| 135 |
+
<div class="demo-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 136 |
+
<div class="p-6">
|
| 137 |
+
<div class="flex items-center mb-4">
|
| 138 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 139 |
+
<i data-feather="check-circle" class="text-white"></i>
|
| 140 |
+
</div>
|
| 141 |
+
<h2 class="text-xl font-bold">Grammar Correction</h2>
|
| 142 |
+
</div>
|
| 143 |
+
<p class="text-gray-700 mb-4">See how EduPrompt identifies and corrects grammatical errors while preserving the author's voice.</p>
|
| 144 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 145 |
+
<h3 class="font-medium text-gray-900 mb-2">Input:</h3>
|
| 146 |
+
<p class="text-gray-600 text-sm">Text with intentional grammar mistakes...</p>
|
| 147 |
+
</div>
|
| 148 |
+
<div class="flex justify-between items-center">
|
| 149 |
+
<button class="gradient-bg text-white font-medium py-2 px-4 rounded-lg hover:opacity-90 transition">
|
| 150 |
+
Run Demo
|
| 151 |
+
</button>
|
| 152 |
+
<a href="#" class="text-primary-600 hover:text-primary-800 text-sm flex items-center">
|
| 153 |
+
<i data-feather="eye" class="mr-1"></i> View Template
|
| 154 |
+
</a>
|
| 155 |
+
</div>
|
| 156 |
+
</div>
|
| 157 |
+
</div>
|
| 158 |
+
|
| 159 |
+
<!-- Demo 4: Explain Code -->
|
| 160 |
+
<div class="demo-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 161 |
+
<div class="p-6">
|
| 162 |
+
<div class="flex items-center mb-4">
|
| 163 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 164 |
+
<i data-feather="code" class="text-white"></i>
|
| 165 |
+
</div>
|
| 166 |
+
<h2 class="text-xl font-bold">Code Explanation</h2>
|
| 167 |
+
</div>
|
| 168 |
+
<p class="text-gray-700 mb-4">Learn how EduPrompt breaks down complex code into understandable explanations for different skill levels.</p>
|
| 169 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 170 |
+
<h3 class="font-medium text-gray-900 mb-2">Input:</h3>
|
| 171 |
+
<p class="text-gray-600 text-sm">Python function with recursive logic...</p>
|
| 172 |
+
</div>
|
| 173 |
+
<div class="flex justify-between items-center">
|
| 174 |
+
<button class="gradient-bg text-white font-medium py-2 px-4 rounded-lg hover:opacity-90 transition">
|
| 175 |
+
Run Demo
|
| 176 |
+
</button>
|
| 177 |
+
<a href="#" class="text-primary-600 hover:text-primary-800 text-sm flex items-center">
|
| 178 |
+
<i data-feather="eye" class="mr-1"></i> View Template
|
| 179 |
+
</a>
|
| 180 |
+
</div>
|
| 181 |
+
</div>
|
| 182 |
+
</div>
|
| 183 |
+
|
| 184 |
+
<!-- Demo 5: Creative Writing -->
|
| 185 |
+
<div class="demo-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 186 |
+
<div class="p-6">
|
| 187 |
+
<div class="flex items-center mb-4">
|
| 188 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 189 |
+
<i data-feather="pen-tool" class="text-white"></i>
|
| 190 |
+
</div>
|
| 191 |
+
<h2 class="text-xl font-bold">Creative Writing</h2>
|
| 192 |
+
</div>
|
| 193 |
+
<p class="text-gray-700 mb-4">See how EduPrompt enhances creative prompts to generate more vivid and engaging stories.</p>
|
| 194 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 195 |
+
<h3 class="font-medium text-gray-900 mb-2">Input:</h3>
|
| 196 |
+
<p class="text-gray-600 text-sm">Simple story premise about time travel...</p>
|
| 197 |
+
</div>
|
| 198 |
+
<div class="flex justify-between items-center">
|
| 199 |
+
<button class="gradient-bg text-white font-medium py-2 px-4 rounded-lg hover:opacity-90 transition">
|
| 200 |
+
Run Demo
|
| 201 |
+
</button>
|
| 202 |
+
<a href="#" class="text-primary-600 hover:text-primary-800 text-sm flex items-center">
|
| 203 |
+
<i data-feather="eye" class="mr-1"></i> View Template
|
| 204 |
+
</a>
|
| 205 |
+
</div>
|
| 206 |
+
</div>
|
| 207 |
+
</div>
|
| 208 |
+
|
| 209 |
+
<!-- Demo 6: Data Analysis -->
|
| 210 |
+
<div class="demo-card bg-white rounded-xl shadow-sm overflow-hidden">
|
| 211 |
+
<div class="p-6">
|
| 212 |
+
<div class="flex items-center mb-4">
|
| 213 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center mr-4">
|
| 214 |
+
<i data-feather="bar-chart-2" class="text-white"></i>
|
| 215 |
+
</div>
|
| 216 |
+
<h2 class="text-xl font-bold">Data Interpretation</h2>
|
| 217 |
+
</div>
|
| 218 |
+
<p class="text-gray-700 mb-4">Discover how EduPrompt transforms raw data into meaningful insights and clear visual descriptions.</p>
|
| 219 |
+
<div class="bg-gray-50 p-4 rounded-lg mb-4">
|
| 220 |
+
<h3 class="font-medium text-gray-900 mb-2">Input:</h3>
|
| 221 |
+
<p class="text-gray-600 text-sm">Sales figures for Q1-Q3 2023...</p>
|
| 222 |
+
</div>
|
| 223 |
+
<div class="flex justify-between items-center">
|
| 224 |
+
<button class="gradient-bg text-white font-medium py-2 px-4 rounded-lg hover:opacity-90 transition">
|
| 225 |
+
Run Demo
|
| 226 |
+
</button>
|
| 227 |
+
<a href="#" class="text-primary-600 hover:text-primary-800 text-sm flex items-center">
|
| 228 |
+
<i data-feather="eye" class="mr-1"></i> View Template
|
| 229 |
+
</a>
|
| 230 |
+
</div>
|
| 231 |
+
</div>
|
| 232 |
+
</div>
|
| 233 |
+
</div>
|
| 234 |
+
</main>
|
| 235 |
+
|
| 236 |
+
<script>
|
| 237 |
+
feather.replace();
|
| 238 |
+
</script>
|
| 239 |
+
</body>
|
| 240 |
+
</html>
|
|
@@ -0,0 +1,408 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Playground - EduPrompt</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 11 |
+
<script>
|
| 12 |
+
tailwind.config = {
|
| 13 |
+
theme: {
|
| 14 |
+
extend: {
|
| 15 |
+
colors: {
|
| 16 |
+
primary: {
|
| 17 |
+
50: '#f0f9ff',
|
| 18 |
+
100: '#e0f2fe',
|
| 19 |
+
200: '#bae6fd',
|
| 20 |
+
300: '#7dd3fc',
|
| 21 |
+
400: '#38bdf8',
|
| 22 |
+
500: '#0ea5e9',
|
| 23 |
+
600: '#0284c7',
|
| 24 |
+
700: '#0369a1',
|
| 25 |
+
800: '#075985',
|
| 26 |
+
900: '#0c4a6e',
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
fontFamily: {
|
| 30 |
+
sans: ['Inter', 'sans-serif']
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
}
|
| 35 |
+
</script>
|
| 36 |
+
<style>
|
| 37 |
+
.collapsible-content {
|
| 38 |
+
max-height: 0;
|
| 39 |
+
overflow: hidden;
|
| 40 |
+
transition: max-height 0.3s ease-out;
|
| 41 |
+
}
|
| 42 |
+
.collapsible-content.open {
|
| 43 |
+
max-height: 1000px;
|
| 44 |
+
}
|
| 45 |
+
.gradient-bg {
|
| 46 |
+
background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
|
| 47 |
+
}
|
| 48 |
+
</style>
|
| 49 |
+
</head>
|
| 50 |
+
<body class="bg-gray-50 text-gray-900 font-sans">
|
| 51 |
+
<!-- Navigation -->
|
| 52 |
+
<nav class="bg-white shadow-sm py-4">
|
| 53 |
+
<div class="container mx-auto px-4 flex justify-between items-center">
|
| 54 |
+
<div class="flex items-center space-x-2">
|
| 55 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center">
|
| 56 |
+
<i data-feather="zap" class="text-white"></i>
|
| 57 |
+
</div>
|
| 58 |
+
<span class="text-xl font-bold text-gray-900">EduPrompt</span>
|
| 59 |
+
</div>
|
| 60 |
+
<div class="hidden md:flex space-x-8">
|
| 61 |
+
<a href="/" class="text-gray-600 hover:text-primary-600">Home</a>
|
| 62 |
+
<a href="/eduprompt.html" class="text-primary-600 font-medium">Playground</a>
|
| 63 |
+
<a href="/concepts.html" class="text-gray-600 hover:text-primary-600">Concepts</a>
|
| 64 |
+
<a href="/demos.html" class="text-gray-600 hover:text-primary-600">Demos</a>
|
| 65 |
+
<a href="/glossary.html" class="text-gray-600 hover:text-primary-600">Glossary</a>
|
| 66 |
+
<a href="/about.html" class="text-gray-600 hover:text-primary-600">About</a>
|
| 67 |
+
</div>
|
| 68 |
+
<button class="md:hidden text-gray-600">
|
| 69 |
+
<i data-feather="menu"></i>
|
| 70 |
+
</button>
|
| 71 |
+
</div>
|
| 72 |
+
</nav>
|
| 73 |
+
|
| 74 |
+
<!-- Main Content -->
|
| 75 |
+
<main class="container mx-auto px-4 py-8">
|
| 76 |
+
<div class="text-center mb-10">
|
| 77 |
+
<h1 class="text-3xl font-bold mb-4">Prompt Playground</h1>
|
| 78 |
+
<p class="text-gray-600 max-w-2xl mx-auto">Type anything and see how the enhancer upgrades your prompt before calling a real model. Results are cached for 10 minutes.</p>
|
| 79 |
+
</div>
|
| 80 |
+
|
| 81 |
+
<div class="grid lg:grid-cols-2 gap-8">
|
| 82 |
+
<!-- Left Panel - Input -->
|
| 83 |
+
<div class="bg-white rounded-xl shadow-sm p-6">
|
| 84 |
+
<div class="mb-6">
|
| 85 |
+
<label class="block text-gray-700 font-medium mb-2">Input Text</label>
|
| 86 |
+
<textarea
|
| 87 |
+
id="inputText"
|
| 88 |
+
class="w-full h-48 p-4 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500"
|
| 89 |
+
placeholder="Enter your text here..."></textarea>
|
| 90 |
+
<div class="flex justify-between mt-2">
|
| 91 |
+
<span id="charCount" class="text-sm text-gray-500">0/3000 characters</span>
|
| 92 |
+
<span id="wordCount" class="text-sm text-gray-500">0 words</span>
|
| 93 |
+
</div>
|
| 94 |
+
</div>
|
| 95 |
+
|
| 96 |
+
<div class="grid grid-cols-1 md:grid-cols-2 gap-6 mb-6">
|
| 97 |
+
<div>
|
| 98 |
+
<label class="block text-gray-700 font-medium mb-2">Task</label>
|
| 99 |
+
<select id="taskSelect" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500">
|
| 100 |
+
<option value="summarize">Summarize</option>
|
| 101 |
+
<option value="rewrite">Rewrite</option>
|
| 102 |
+
<option value="proofread">Proofread</option>
|
| 103 |
+
<option value="explain_code">Explain Code</option>
|
| 104 |
+
</select>
|
| 105 |
+
</div>
|
| 106 |
+
<div>
|
| 107 |
+
<label class="block text-gray-700 font-medium mb-2">Mode</label>
|
| 108 |
+
<div class="flex items-center">
|
| 109 |
+
<span class="mr-3 text-gray-600">Demo</span>
|
| 110 |
+
<div class="relative inline-block w-12 h-6">
|
| 111 |
+
<input type="checkbox" id="modeToggle" class="opacity-0 w-0 h-0">
|
| 112 |
+
<span class="absolute cursor-pointer top-0 left-0 right-0 bottom-0 bg-gray-300 rounded-full transition duration-300"></span>
|
| 113 |
+
<span class="absolute h-4 w-4 bg-white rounded-full left-1 top-1 transition duration-300"></span>
|
| 114 |
+
</div>
|
| 115 |
+
<span class="ml-3 text-gray-600">Live</span>
|
| 116 |
+
</div>
|
| 117 |
+
</div>
|
| 118 |
+
</div>
|
| 119 |
+
|
| 120 |
+
<!-- Dynamic Parameters -->
|
| 121 |
+
<div id="parametersContainer" class="mb-6">
|
| 122 |
+
<!-- Parameters will be dynamically inserted here -->
|
| 123 |
+
</div>
|
| 124 |
+
|
| 125 |
+
<button id="runButton" class="w-full gradient-bg text-white font-semibold py-3 px-6 rounded-lg hover:opacity-90 transition duration-300">
|
| 126 |
+
Enhance and Run
|
| 127 |
+
</button>
|
| 128 |
+
</div>
|
| 129 |
+
|
| 130 |
+
<!-- Right Panel - Results -->
|
| 131 |
+
<div class="bg-white rounded-xl shadow-sm p-6">
|
| 132 |
+
<div class="mb-6">
|
| 133 |
+
<div class="flex justify-between items-center mb-4">
|
| 134 |
+
<h2 class="text-xl font-bold">Enhanced Prompt</h2>
|
| 135 |
+
<button id="copyPromptBtn" class="text-primary-600 hover:text-primary-800 flex items-center">
|
| 136 |
+
<i data-feather="copy" class="mr-1"></i> Copy
|
| 137 |
+
</button>
|
| 138 |
+
</div>
|
| 139 |
+
<div class="border border-gray-200 rounded-lg p-4 bg-gray-50">
|
| 140 |
+
<pre id="enhancedPrompt" class="text-sm whitespace-pre-wrap break-words">Your enhanced prompt will appear here...</pre>
|
| 141 |
+
</div>
|
| 142 |
+
</div>
|
| 143 |
+
|
| 144 |
+
<div class="mb-6">
|
| 145 |
+
<div class="flex justify-between items-center mb-4">
|
| 146 |
+
<h2 class="text-xl font-bold">Model Output</h2>
|
| 147 |
+
<div class="flex items-center space-x-3">
|
| 148 |
+
<span id="modelBadge" class="bg-gray-200 text-gray-800 text-xs font-medium px-2.5 py-0.5 rounded">Model</span>
|
| 149 |
+
<span id="latencyBadge" class="bg-gray-200 text-gray-800 text-xs font-medium px-2.5 py-0.5 rounded">0ms</span>
|
| 150 |
+
<span id="modeBadge" class="bg-gray-200 text-gray-800 text-xs font-medium px-2.5 py-0.5 rounded">Demo</span>
|
| 151 |
+
<button id="copyOutputBtn" class="text-primary-600 hover:text-primary-800 flex items-center">
|
| 152 |
+
<i data-feather="copy" class="mr-1"></i> Copy
|
| 153 |
+
</button>
|
| 154 |
+
</div>
|
| 155 |
+
</div>
|
| 156 |
+
<div class="border border-gray-200 rounded-lg p-4 min-h-[200px]">
|
| 157 |
+
<div id="modelOutput" class="whitespace-pre-wrap break-words">Results will appear here...</div>
|
| 158 |
+
</div>
|
| 159 |
+
</div>
|
| 160 |
+
|
| 161 |
+
<div>
|
| 162 |
+
<h3 class="font-medium mb-2">Recent Runs</h3>
|
| 163 |
+
<div id="runLog" class="text-sm text-gray-600 space-y-1">
|
| 164 |
+
<div>No runs yet. Try running a prompt!</div>
|
| 165 |
+
</div>
|
| 166 |
+
</div>
|
| 167 |
+
</div>
|
| 168 |
+
</div>
|
| 169 |
+
</main>
|
| 170 |
+
|
| 171 |
+
<script>
|
| 172 |
+
// Initialize Feather icons
|
| 173 |
+
feather.replace();
|
| 174 |
+
|
| 175 |
+
// DOM Elements
|
| 176 |
+
const inputText = document.getElementById('inputText');
|
| 177 |
+
const charCount = document.getElementById('charCount');
|
| 178 |
+
const wordCount = document.getElementById('wordCount');
|
| 179 |
+
const taskSelect = document.getElementById('taskSelect');
|
| 180 |
+
const modeToggle = document.getElementById('modeToggle');
|
| 181 |
+
const parametersContainer = document.getElementById('parametersContainer');
|
| 182 |
+
const runButton = document.getElementById('runButton');
|
| 183 |
+
const enhancedPrompt = document.getElementById('enhancedPrompt');
|
| 184 |
+
const modelOutput = document.getElementById('modelOutput');
|
| 185 |
+
const copyPromptBtn = document.getElementById('copyPromptBtn');
|
| 186 |
+
const copyOutputBtn = document.getElementById('copyOutputBtn');
|
| 187 |
+
const modelBadge = document.getElementById('modelBadge');
|
| 188 |
+
const latencyBadge = document.getElementById('latencyBadge');
|
| 189 |
+
const modeBadge = document.getElementById('modeBadge');
|
| 190 |
+
const runLog = document.getElementById('runLog');
|
| 191 |
+
|
| 192 |
+
// Character counter
|
| 193 |
+
inputText.addEventListener('input', () => {
|
| 194 |
+
const text = inputText.value;
|
| 195 |
+
const chars = text.length;
|
| 196 |
+
const words = text.trim() ? text.trim().split(/\s+/).length : 0;
|
| 197 |
+
|
| 198 |
+
charCount.textContent = `${chars}/3000 characters`;
|
| 199 |
+
wordCount.textContent = `${words} words`;
|
| 200 |
+
|
| 201 |
+
// Change color when approaching limit
|
| 202 |
+
if (chars > 2700) {
|
| 203 |
+
charCount.classList.add('text-red-500');
|
| 204 |
+
} else {
|
| 205 |
+
charCount.classList.remove('text-red-500');
|
| 206 |
+
}
|
| 207 |
+
});
|
| 208 |
+
|
| 209 |
+
// Task parameters
|
| 210 |
+
const taskParameters = {
|
| 211 |
+
summarize: [
|
| 212 |
+
{ name: 'audience', label: 'Target Audience', type: 'text', placeholder: 'e.g., high school students' },
|
| 213 |
+
{ name: 'length', label: 'Target Length', type: 'select', options: ['short', 'medium', 'long'] },
|
| 214 |
+
{ name: 'style', label: 'Writing Style', type: 'text', placeholder: 'e.g., formal, casual' }
|
| 215 |
+
],
|
| 216 |
+
rewrite: [
|
| 217 |
+
{ name: 'tone', label: 'Target Tone', type: 'text', placeholder: 'e.g., professional, friendly' },
|
| 218 |
+
{ name: 'length', label: 'Target Length', type: 'select', options: ['shorter', 'same', 'longer'] },
|
| 219 |
+
{ name: 'styleGuide', label: 'Style Guide', type: 'text', placeholder: 'e.g., AP, Chicago' }
|
| 220 |
+
],
|
| 221 |
+
proofread: [
|
| 222 |
+
{ name: 'showChanges', label: 'Show Changes', type: 'checkbox' },
|
| 223 |
+
{ name: 'readingLevel', label: 'Reading Level', type: 'select', options: ['elementary', 'middle', 'high school', 'college'] }
|
| 224 |
+
],
|
| 225 |
+
explain_code: [
|
| 226 |
+
{ name: 'language', label: 'Programming Language', type: 'text', placeholder: 'e.g., Python, JavaScript' },
|
| 227 |
+
{ name: 'depth', label: 'Explanation Depth', type: 'select', options: ['beginner', 'intermediate', 'advanced'] },
|
| 228 |
+
{ name: 'focus', label: 'Focus Area', type: 'text', placeholder: 'e.g., logic flow, syntax' }
|
| 229 |
+
]
|
| 230 |
+
};
|
| 231 |
+
|
| 232 |
+
// Render parameters based on selected task
|
| 233 |
+
function renderParameters() {
|
| 234 |
+
const task = taskSelect.value;
|
| 235 |
+
const params = taskParameters[task] || [];
|
| 236 |
+
|
| 237 |
+
parametersContainer.innerHTML = '';
|
| 238 |
+
|
| 239 |
+
params.forEach(param => {
|
| 240 |
+
const div = document.createElement('div');
|
| 241 |
+
div.className = 'mb-4';
|
| 242 |
+
|
| 243 |
+
if (param.type === 'checkbox') {
|
| 244 |
+
div.innerHTML = `
|
| 245 |
+
<label class="flex items-center">
|
| 246 |
+
<input type="checkbox" id="${param.name}" class="mr-2">
|
| 247 |
+
<span class="text-gray-700">${param.label}</span>
|
| 248 |
+
</label>
|
| 249 |
+
`;
|
| 250 |
+
} else if (param.type === 'select') {
|
| 251 |
+
const options = param.options.map(opt => `<option value="${opt}">${opt}</option>`).join('');
|
| 252 |
+
div.innerHTML = `
|
| 253 |
+
<label class="block text-gray-700 font-medium mb-2">${param.label}</label>
|
| 254 |
+
<select id="${param.name}" class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500">
|
| 255 |
+
<option value="">Select ${param.label}</option>
|
| 256 |
+
${options}
|
| 257 |
+
</select>
|
| 258 |
+
`;
|
| 259 |
+
} else {
|
| 260 |
+
div.innerHTML = `
|
| 261 |
+
<label class="block text-gray-700 font-medium mb-2">${param.label}</label>
|
| 262 |
+
<input type="${param.type}" id="${param.name}" placeholder="${param.placeholder}"
|
| 263 |
+
class="w-full p-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500">
|
| 264 |
+
`;
|
| 265 |
+
}
|
| 266 |
+
|
| 267 |
+
parametersContainer.appendChild(div);
|
| 268 |
+
});
|
| 269 |
+
}
|
| 270 |
+
|
| 271 |
+
// Initialize parameters
|
| 272 |
+
renderParameters();
|
| 273 |
+
taskSelect.addEventListener('change', renderParameters);
|
| 274 |
+
|
| 275 |
+
// Mode toggle styling
|
| 276 |
+
modeToggle.addEventListener('change', function() {
|
| 277 |
+
const span = this.nextElementSibling;
|
| 278 |
+
const handle = span.nextElementSibling;
|
| 279 |
+
|
| 280 |
+
if (this.checked) {
|
| 281 |
+
span.classList.remove('bg-gray-300');
|
| 282 |
+
span.classList.add('bg-primary-500');
|
| 283 |
+
handle.classList.remove('left-1');
|
| 284 |
+
handle.classList.add('left-7');
|
| 285 |
+
modeBadge.textContent = 'Live';
|
| 286 |
+
modeBadge.classList.remove('bg-gray-200');
|
| 287 |
+
modeBadge.classList.add('bg-green-100', 'text-green-800');
|
| 288 |
+
} else {
|
| 289 |
+
span.classList.remove('bg-primary-500');
|
| 290 |
+
span.classList.add('bg-gray-300');
|
| 291 |
+
handle.classList.remove('left-7');
|
| 292 |
+
handle.classList.add('left-1');
|
| 293 |
+
modeBadge.textContent = 'Demo';
|
| 294 |
+
modeBadge.classList.remove('bg-green-100', 'text-green-800');
|
| 295 |
+
modeBadge.classList.add('bg-gray-200', 'text-gray-800');
|
| 296 |
+
}
|
| 297 |
+
});
|
| 298 |
+
|
| 299 |
+
// Copy buttons
|
| 300 |
+
copyPromptBtn.addEventListener('click', () => {
|
| 301 |
+
navigator.clipboard.writeText(enhancedPrompt.textContent);
|
| 302 |
+
const icon = copyPromptBtn.querySelector('i');
|
| 303 |
+
const originalIcon = icon.getAttribute('data-feather');
|
| 304 |
+
icon.setAttribute('data-feather', 'check');
|
| 305 |
+
feather.replace();
|
| 306 |
+
setTimeout(() => {
|
| 307 |
+
icon.setAttribute('data-feather', originalIcon);
|
| 308 |
+
feather.replace();
|
| 309 |
+
}, 2000);
|
| 310 |
+
});
|
| 311 |
+
|
| 312 |
+
copyOutputBtn.addEventListener('click', () => {
|
| 313 |
+
navigator.clipboard.writeText(modelOutput.textContent);
|
| 314 |
+
const icon = copyOutputBtn.querySelector('i');
|
| 315 |
+
const originalIcon = icon.getAttribute('data-feather');
|
| 316 |
+
icon.setAttribute('data-feather', 'check');
|
| 317 |
+
feather.replace();
|
| 318 |
+
setTimeout(() => {
|
| 319 |
+
icon.setAttribute('data-feather', originalIcon);
|
| 320 |
+
feather.replace();
|
| 321 |
+
}, 2000);
|
| 322 |
+
});
|
| 323 |
+
|
| 324 |
+
// Mock run function
|
| 325 |
+
runButton.addEventListener('click', () => {
|
| 326 |
+
const input = inputText.value;
|
| 327 |
+
const task = taskSelect.value;
|
| 328 |
+
const isLive = modeToggle.checked;
|
| 329 |
+
|
| 330 |
+
if (!input.trim()) {
|
| 331 |
+
alert('Please enter some text');
|
| 332 |
+
return;
|
| 333 |
+
}
|
| 334 |
+
|
| 335 |
+
// Collect parameters
|
| 336 |
+
const params = {};
|
| 337 |
+
const paramElements = parametersContainer.querySelectorAll('input, select, textarea');
|
| 338 |
+
paramElements.forEach(el => {
|
| 339 |
+
if (el.type === 'checkbox') {
|
| 340 |
+
params[el.id] = el.checked;
|
| 341 |
+
} else if (el.value) {
|
| 342 |
+
params[el.id] = el.value;
|
| 343 |
+
}
|
| 344 |
+
});
|
| 345 |
+
|
| 346 |
+
// Mock API call
|
| 347 |
+
runButton.disabled = true;
|
| 348 |
+
runButton.textContent = 'Running...';
|
| 349 |
+
|
| 350 |
+
setTimeout(() => {
|
| 351 |
+
// Mock response based on task
|
| 352 |
+
let mockEnhancedPrompt, mockOutput, mockModel;
|
| 353 |
+
|
| 354 |
+
switch(task) {
|
| 355 |
+
case 'summarize':
|
| 356 |
+
mockEnhancedPrompt = `As an expert explainer, please create concise notes from the following text for ${params.audience || 'general audience'}. Target length: ${params.length || 'medium'}. Style: ${params.style || 'clear and informative'}.\n\nText: ${input}`;
|
| 357 |
+
mockOutput = "• Key point one\n• Key point two\n• Key point three";
|
| 358 |
+
mockModel = "t5-small";
|
| 359 |
+
break;
|
| 360 |
+
case 'rewrite':
|
| 361 |
+
mockEnhancedPrompt = `As a writing assistant, rewrite the following text in a ${params.tone || 'professional'} tone. Target length: ${params.length || 'same'}. Style guide: ${params.styleGuide || 'standard'}.\n\nText: ${input}`;
|
| 362 |
+
mockOutput = input.split('').reverse().join(''); // Simple mock transformation
|
| 363 |
+
mockModel = "flan-t5-small";
|
| 364 |
+
break;
|
| 365 |
+
case 'proofread':
|
| 366 |
+
mockEnhancedPrompt = `As an editor, correct grammar and clarity issues in the following text while preserving the author's voice. Reading level: ${params.readingLevel || 'standard'}.\n\nText: ${input}`;
|
| 367 |
+
mockOutput = input.replace(/teh/g, 'the').replace(/adn/g, 'and'); // Simple mock corrections
|
| 368 |
+
mockModel = "flan-t5-small";
|
| 369 |
+
break;
|
| 370 |
+
case 'explain_code':
|
| 371 |
+
mockEnhancedPrompt = `As a programming tutor, explain what the following ${params.language || 'code'} does and how it works. Depth: ${params.depth || 'intermediate'}. Focus: ${params.focus || 'general understanding'}.\n\nCode: ${input}`;
|
| 372 |
+
mockOutput = "This code performs a specific function by following these steps:\n1. Step one\n2. Step two\n3. Step three";
|
| 373 |
+
mockModel = "codet5p-220m";
|
| 374 |
+
break;
|
| 375 |
+
default:
|
| 376 |
+
mockEnhancedPrompt = `Enhanced prompt for: ${input}`;
|
| 377 |
+
mockOutput = "Model output would appear here";
|
| 378 |
+
mockModel = "default-model";
|
| 379 |
+
}
|
| 380 |
+
|
| 381 |
+
// Update UI with results
|
| 382 |
+
enhancedPrompt.textContent = mockEnhancedPrompt;
|
| 383 |
+
modelOutput.textContent = mockOutput;
|
| 384 |
+
modelBadge.textContent = mockModel;
|
| 385 |
+
latencyBadge.textContent = `${Math.floor(Math.random() * 1000)}ms`;
|
| 386 |
+
|
| 387 |
+
// Add to run log
|
| 388 |
+
const logEntry = document.createElement('div');
|
| 389 |
+
logEntry.className = 'py-2 border-b border-gray-100 last:border-0';
|
| 390 |
+
logEntry.innerHTML = `
|
| 391 |
+
<div class="font-medium">${task} - ${new Date().toLocaleTimeString()}</div>
|
| 392 |
+
<div class="text-gray-500 text-xs truncate">${input.substring(0, 50)}${input.length > 50 ? '...' : ''}</div>
|
| 393 |
+
`;
|
| 394 |
+
runLog.insertBefore(logEntry, runLog.firstChild);
|
| 395 |
+
|
| 396 |
+
// Limit log to 3 entries
|
| 397 |
+
if (runLog.children.length > 3) {
|
| 398 |
+
runLog.removeChild(runLog.lastChild);
|
| 399 |
+
}
|
| 400 |
+
|
| 401 |
+
// Reset button
|
| 402 |
+
runButton.disabled = false;
|
| 403 |
+
runButton.textContent = 'Enhance and Run';
|
| 404 |
+
}, 1500);
|
| 405 |
+
});
|
| 406 |
+
</script>
|
| 407 |
+
</body>
|
| 408 |
+
</html>
|
|
@@ -0,0 +1,335 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>Glossary - EduPrompt</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 11 |
+
<script>
|
| 12 |
+
tailwind.config = {
|
| 13 |
+
theme: {
|
| 14 |
+
extend: {
|
| 15 |
+
colors: {
|
| 16 |
+
primary: {
|
| 17 |
+
50: '#f0f9ff',
|
| 18 |
+
100: '#e0f2fe',
|
| 19 |
+
200: '#bae6fd',
|
| 20 |
+
300: '#7dd3fc',
|
| 21 |
+
400: '#38bdf8',
|
| 22 |
+
500: '#0ea5e9',
|
| 23 |
+
600: '#0284c7',
|
| 24 |
+
700: '#0369a1',
|
| 25 |
+
800: '#075985',
|
| 26 |
+
900: '#0c4a6e',
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
fontFamily: {
|
| 30 |
+
sans: ['Inter', 'sans-serif']
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
}
|
| 35 |
+
</script>
|
| 36 |
+
<style>
|
| 37 |
+
.gradient-bg {
|
| 38 |
+
background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
|
| 39 |
+
}
|
| 40 |
+
.term-card {
|
| 41 |
+
transition: all 0.3s ease;
|
| 42 |
+
}
|
| 43 |
+
.term-card:hover {
|
| 44 |
+
transform: translateY(-2px);
|
| 45 |
+
box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
|
| 46 |
+
}
|
| 47 |
+
</style>
|
| 48 |
+
</head>
|
| 49 |
+
<body class="bg-gray-50 text-gray-900 font-sans">
|
| 50 |
+
<!-- Navigation -->
|
| 51 |
+
<nav class="bg-white shadow-sm py-4 sticky top-0 z-10">
|
| 52 |
+
<div class="container mx-auto px-4 flex justify-between items-center">
|
| 53 |
+
<div class="flex items-center space-x-2">
|
| 54 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center">
|
| 55 |
+
<i data-feather="zap" class="text-white"></i>
|
| 56 |
+
</div>
|
| 57 |
+
<span class="text-xl font-bold text-gray-900">EduPrompt</span>
|
| 58 |
+
</div>
|
| 59 |
+
<div class="hidden md:flex space-x-8">
|
| 60 |
+
<a href="/" class="text-gray-600 hover:text-primary-600">Home</a>
|
| 61 |
+
<a href="/eduprompt.html" class="text-gray-600 hover:text-primary-600">Playground</a>
|
| 62 |
+
<a href="/concepts.html" class="text-gray-600 hover:text-primary-600">Concepts</a>
|
| 63 |
+
<a href="/demos.html" class="text-gray-600 hover:text-primary-600">Demos</a>
|
| 64 |
+
<a href="/glossary.html" class="text-primary-600 font-medium">Glossary</a>
|
| 65 |
+
<a href="/about.html" class="text-gray-600 hover:text-primary-600">About</a>
|
| 66 |
+
</div>
|
| 67 |
+
<button class="md:hidden text-gray-600">
|
| 68 |
+
<i data-feather="menu"></i>
|
| 69 |
+
</button>
|
| 70 |
+
</div>
|
| 71 |
+
</nav>
|
| 72 |
+
|
| 73 |
+
<!-- Header -->
|
| 74 |
+
<header class="py-16 bg-white">
|
| 75 |
+
<div class="container mx-auto px-4">
|
| 76 |
+
<h1 class="text-4xl font-bold mb-4">LLM Glossary</h1>
|
| 77 |
+
<p class="text-xl text-gray-600 max-w-2xl">Essential terms and concepts for understanding large language models and prompt engineering</p>
|
| 78 |
+
</div>
|
| 79 |
+
</header>
|
| 80 |
+
|
| 81 |
+
<!-- Search -->
|
| 82 |
+
<div class="container mx-auto px-4 mb-8">
|
| 83 |
+
<div class="relative max-w-2xl">
|
| 84 |
+
<input
|
| 85 |
+
type="text"
|
| 86 |
+
id="searchInput"
|
| 87 |
+
placeholder="Search terms..."
|
| 88 |
+
class="w-full p-4 pl-12 border border-gray-300 rounded-lg focus:ring-2 focus:ring-primary-500 focus:border-primary-500">
|
| 89 |
+
<i data-feather="search" class="absolute left-4 top-1/2 transform -translate-y-1/2 text-gray-400"></i>
|
| 90 |
+
</div>
|
| 91 |
+
</div>
|
| 92 |
+
|
| 93 |
+
<!-- Glossary Terms -->
|
| 94 |
+
<main class="container mx-auto px-4 pb-16">
|
| 95 |
+
<div id="termsContainer" class="grid md:grid-cols-2 gap-6">
|
| 96 |
+
<!-- Term 1 -->
|
| 97 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 98 |
+
<h2 class="text-xl font-bold mb-2">Prompt Engineering</h2>
|
| 99 |
+
<p class="text-gray-700 mb-3">The practice of designing and refining text inputs to effectively guide AI models toward desired outputs.</p>
|
| 100 |
+
<div class="text-sm text-gray-500">Why it matters: Enables precise control over AI responses and improves result quality.</div>
|
| 101 |
+
</div>
|
| 102 |
+
|
| 103 |
+
<!-- Term 2 -->
|
| 104 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 105 |
+
<h2 class="text-xl font-bold mb-2">Token</h2>
|
| 106 |
+
<p class="text-gray-700 mb-3">The basic units that language models process, typically words, subwords, or punctuation marks.</p>
|
| 107 |
+
<div class="text-sm text-gray-500">Why it matters: Understanding tokens helps optimize prompt length and efficiency.</div>
|
| 108 |
+
</div>
|
| 109 |
+
|
| 110 |
+
<!-- Term 3 -->
|
| 111 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 112 |
+
<h2 class="text-xl font-bold mb-2">Zero-Shot Learning</h2>
|
| 113 |
+
<p class="text-gray-700 mb-3">A model's ability to perform tasks it wasn't explicitly trained on, using only the prompt for guidance.</p>
|
| 114 |
+
<div class="text-sm text-gray-500">Why it matters: Allows models to handle new tasks without additional training.</div>
|
| 115 |
+
</div>
|
| 116 |
+
|
| 117 |
+
<!-- Term 4 -->
|
| 118 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 119 |
+
<h2 class="text-xl font-bold mb-2">Few-Shot Learning</h2>
|
| 120 |
+
<p class="text-gray-700 mb-3">Providing a small number of examples in the prompt to guide the model's response format and content.</p>
|
| 121 |
+
<div class="text-sm text-gray-500">Why it matters: Improves accuracy by demonstrating the desired output structure.</div>
|
| 122 |
+
</div>
|
| 123 |
+
|
| 124 |
+
<!-- Term 5 -->
|
| 125 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 126 |
+
<h2 class="text-xl font-bold mb-2">Context Window</h2>
|
| 127 |
+
<p class="text-gray-700 mb-3">The maximum amount of text (in tokens) a model can process in a single request.</p>
|
| 128 |
+
<div class="text-sm text-gray-500">Why it matters: Determines how much information can be included in a prompt.</div>
|
| 129 |
+
</div>
|
| 130 |
+
|
| 131 |
+
<!-- Term 6 -->
|
| 132 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 133 |
+
<h2 class="text-xl font-bold mb-2">Temperature</h2>
|
| 134 |
+
<p class="text-gray-700 mb-3">A parameter controlling randomness in model outputs, with lower values being more deterministic.</p>
|
| 135 |
+
<div class="text-sm text-gray-500">Why it matters: Balances creativity and consistency in generated text.</div>
|
| 136 |
+
</div>
|
| 137 |
+
|
| 138 |
+
<!-- Term 7 -->
|
| 139 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 140 |
+
<h2 class="text-xl font-bold mb-2">Top-p (Nucleus Sampling)</h2>
|
| 141 |
+
<p class="text-gray-700 mb-3">Limits token selection to the most probable options that cumulatively reach a certain probability threshold.</p>
|
| 142 |
+
<div class="text-sm text-gray-500">Why it matters: Reduces low-probability outputs while maintaining diversity.</div>
|
| 143 |
+
</div>
|
| 144 |
+
|
| 145 |
+
<!-- Term 8 -->
|
| 146 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 147 |
+
<h2 class="text-xl font-bold mb-2">Fine-Tuning</h2>
|
| 148 |
+
<p class="text-gray-700 mb-3">Training a pre-trained model on a specific dataset to specialize its capabilities for particular tasks.</p>
|
| 149 |
+
<div class="text-sm text-gray-500">Why it matters: Adapts general models to specific domains or requirements.</div>
|
| 150 |
+
</div>
|
| 151 |
+
|
| 152 |
+
<!-- Term 9 -->
|
| 153 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 154 |
+
<h2 class="text-xl font-bold mb-2">Embedding</h2>
|
| 155 |
+
<p class="text-gray-700 mb-3">Numerical representations of text that capture semantic meaning in a high-dimensional space.</p>
|
| 156 |
+
<div class="text-sm text-gray-500">Why it matters: Enables models to understand relationships between words and concepts.</div>
|
| 157 |
+
</div>
|
| 158 |
+
|
| 159 |
+
<!-- Term 10 -->
|
| 160 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 161 |
+
<h2 class="text-xl font-bold mb-2">Attention Mechanism</h2>
|
| 162 |
+
<p class="text-gray-700 mb-3">A model component that determines which parts of the input are most relevant for each output element.</p>
|
| 163 |
+
<div class="text-sm text-gray-500">Why it matters: Allows models to focus on important context when generating responses.</div>
|
| 164 |
+
</div>
|
| 165 |
+
|
| 166 |
+
<!-- Term 11 -->
|
| 167 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 168 |
+
<h2 class="text-xl font-bold mb-2">Transformer</h2>
|
| 169 |
+
<p class="text-gray-700 mb-3">The neural network architecture that underlies most modern language models, using attention mechanisms.</p>
|
| 170 |
+
<div class="text-sm text-gray-500">Why it matters: Revolutionized NLP by enabling models to handle long-range dependencies.</div>
|
| 171 |
+
</div>
|
| 172 |
+
|
| 173 |
+
<!-- Term 12 -->
|
| 174 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 175 |
+
<h2 class="text-xl font-bold mb-2">Hallucination</h2>
|
| 176 |
+
<p class="text-gray-700 mb-3">When a model generates false or misleading information that appears plausible but is factually incorrect.</p>
|
| 177 |
+
<div class="text-sm text-gray-500">Why it matters: Critical to verify model outputs, especially for factual content.</div>
|
| 178 |
+
</div>
|
| 179 |
+
|
| 180 |
+
<!-- Term 13 -->
|
| 181 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 182 |
+
<h2 class="text-xl font-bold mb-2">In-Context Learning</h2>
|
| 183 |
+
<p class="text-gray-700 mb-3">A model's ability to adapt its behavior based on examples and instructions provided within the prompt.</p>
|
| 184 |
+
<div class="text-sm text-gray-500">Why it matters: Eliminates need for retraining by leveraging prompt-based adaptation.</div>
|
| 185 |
+
</div>
|
| 186 |
+
|
| 187 |
+
<!-- Term 14 -->
|
| 188 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 189 |
+
<h2 class="text-xl font-bold mb-2">Chain-of-Thought</h2>
|
| 190 |
+
<p class="text-gray-700 mb-3">Prompting technique that encourages models to show their reasoning steps before providing an answer.</p>
|
| 191 |
+
<div class="text-sm text-gray-500">Why it matters: Improves accuracy on complex reasoning tasks and makes outputs interpretable.</div>
|
| 192 |
+
</div>
|
| 193 |
+
|
| 194 |
+
<!-- Term 15 -->
|
| 195 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 196 |
+
<h2 class="text-xl font-bold mb-2">Retrieval-Augmented Generation (RAG)</h2>
|
| 197 |
+
<p class="text-gray-700 mb-3">Combining language models with external knowledge retrieval to produce more factual responses.</p>
|
| 198 |
+
<div class="text-sm text-gray-500">Why it matters: Reduces hallucinations by grounding responses in verified information.</div>
|
| 199 |
+
</div>
|
| 200 |
+
|
| 201 |
+
<!-- Term 16 -->
|
| 202 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 203 |
+
<h2 class="text-xl font-bold mb-2">Bias</h2>
|
| 204 |
+
<p class="text-gray-700 mb-3">Systematic favoring of certain groups, perspectives, or outcomes in model outputs based on training data.</p>
|
| 205 |
+
<div class="text-sm text-gray-500">Why it matters: Can perpetuate unfairness and requires careful mitigation strategies.</div>
|
| 206 |
+
</div>
|
| 207 |
+
|
| 208 |
+
<!-- Term 17 -->
|
| 209 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 210 |
+
<h2 class="text-xl font-bold mb-2">Alignment</h2>
|
| 211 |
+
<p class="text-gray-700 mb-3">Techniques for ensuring AI systems behave in accordance with human values and intentions.</p>
|
| 212 |
+
<div class="text-sm text-gray-500">Why it matters: Essential for developing trustworthy and beneficial AI systems.</div>
|
| 213 |
+
</div>
|
| 214 |
+
|
| 215 |
+
<!-- Term 18 -->
|
| 216 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 217 |
+
<h2 class="text-xl font-bold mb-2">Emergent Abilities</h2>
|
| 218 |
+
<p class="text-gray-700 mb-3">Capabilities that appear in large models without explicit training, such as reasoning or translation.</p>
|
| 219 |
+
<div class="text-sm text-gray-500">Why it matters: Reveals unexpected potential but also unpredictable behaviors.</div>
|
| 220 |
+
</div>
|
| 221 |
+
|
| 222 |
+
<!-- Term 19 -->
|
| 223 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 224 |
+
<h2 class="text-xl font-bold mb-2">Scaling Laws</h2>
|
| 225 |
+
<p class="text-gray-700 mb-3">Predictable relationships between model size, dataset size, and performance improvements.</p>
|
| 226 |
+
<div class="text-sm text-gray-500">Why it matters: Guides resource allocation decisions in model development.</div>
|
| 227 |
+
</div>
|
| 228 |
+
|
| 229 |
+
<!-- Term 20 -->
|
| 230 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 231 |
+
<h2 class="text-xl font-bold mb-2">Instruction Tuning</h2>
|
| 232 |
+
<p class="text-gray-700 mb-3">Training models to better follow natural language instructions through specialized datasets.</p>
|
| 233 |
+
<div class="text-sm text-gray-500">Why it matters: Makes models more responsive to user intent and easier to use.</div>
|
| 234 |
+
</div>
|
| 235 |
+
|
| 236 |
+
<!-- Term 21 -->
|
| 237 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 238 |
+
<h2 class="text-xl font-bold mb-2">Anthropomorphism</h2>
|
| 239 |
+
<p class="text-gray-700 mb-3">Attributing human characteristics, emotions, or intentions to AI systems.</p>
|
| 240 |
+
<div class="text-sm text-gray-500">Why it matters: Can lead to unrealistic expectations and misunderstanding of AI capabilities.</div>
|
| 241 |
+
</div>
|
| 242 |
+
|
| 243 |
+
<!-- Term 22 -->
|
| 244 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 245 |
+
<h2 class="text-xl font-bold mb-2">Latent Space</h2>
|
| 246 |
+
<p class="text-gray-700 mb-3">High-dimensional representation space where models encode semantic relationships between concepts.</p>
|
| 247 |
+
<div class="text-sm text-gray-500">Why it matters: Enables mathematical operations on concepts and analogy formation.</div>
|
| 248 |
+
</div>
|
| 249 |
+
|
| 250 |
+
<!-- Term 23 -->
|
| 251 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 252 |
+
<h2 class="text-xl font-bold mb-2">Pre-training</h2>
|
| 253 |
+
<p class="text-gray-700 mb-3">Initial training phase where models learn general language patterns from large text corpora.</p>
|
| 254 |
+
<div class="text-sm text-gray-500">Why it matters: Provides foundational knowledge that can be specialized through fine-tuning.</div>
|
| 255 |
+
</div>
|
| 256 |
+
|
| 257 |
+
<!-- Term 24 -->
|
| 258 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 259 |
+
<h2 class="text-xl font-bold mb-2">Overfitting</h2>
|
| 260 |
+
<p class="text-gray-700 mb-3">When a model performs well on training data but poorly on new, unseen examples.</p>
|
| 261 |
+
<div class="text-sm text-gray-500">Why it matters: Indicates the model has memorized rather than learned generalizable patterns.</div>
|
| 262 |
+
</div>
|
| 263 |
+
|
| 264 |
+
<!-- Term 25 -->
|
| 265 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 266 |
+
<h2 class="text-xl font-bold mb-2">Transfer Learning</h2>
|
| 267 |
+
<p class="text-gray-700 mb-3">Applying knowledge gained from one task to improve performance on a related task.</p>
|
| 268 |
+
<div class="text-sm text-gray-500">Why it matters: Reduces training time and data requirements for new applications.</div>
|
| 269 |
+
</div>
|
| 270 |
+
|
| 271 |
+
<!-- Term 26 -->
|
| 272 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 273 |
+
<h2 class="text-xl font-bold mb-2">Multimodal</h2>
|
| 274 |
+
<p class="text-gray-700 mb-3">Models that can process and generate multiple types of data, such as text, images, and audio.</p>
|
| 275 |
+
<div class="text-sm text-gray-500">Why it matters: Enables more natural and comprehensive human-AI interaction.</div>
|
| 276 |
+
</div>
|
| 277 |
+
|
| 278 |
+
<!-- Term 27 -->
|
| 279 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 280 |
+
<h2 class="text-xl font-bold mb-2">Few-Shot Chain-of-Thought</h2>
|
| 281 |
+
<p class="text-gray-700 mb-3">Combining few-shot examples with chain-of-thought reasoning to solve complex problems.</p>
|
| 282 |
+
<div class="text-sm text-gray-500">Why it matters: Maximizes reasoning performance with minimal prompt engineering effort.</div>
|
| 283 |
+
</div>
|
| 284 |
+
|
| 285 |
+
<!-- Term 28 -->
|
| 286 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 287 |
+
<h2 class="text-xl font-bold mb-2">Self-Attention</h2>
|
| 288 |
+
<p class="text-gray-700 mb-3">Mechanism allowing models to weigh the importance of different input elements relative to each other.</p>
|
| 289 |
+
<div class="text-sm text-gray-500">Why it matters: Enables models to capture long-range dependencies in text.</div>
|
| 290 |
+
</div>
|
| 291 |
+
|
| 292 |
+
<!-- Term 29 -->
|
| 293 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 294 |
+
<h2 class="text-xl font-bold mb-2">Decoder-Only</h2>
|
| 295 |
+
<p class="text-gray-700 mb-3">Model architecture that generates text sequentially, predicting one token at a time based on previous tokens.</p>
|
| 296 |
+
<div class="text-sm text-gray-500">Why it matters: Efficient for autoregressive text generation tasks.</div>
|
| 297 |
+
</div>
|
| 298 |
+
|
| 299 |
+
<!-- Term 30 -->
|
| 300 |
+
<div class="term-card bg-white rounded-xl shadow-sm p-6">
|
| 301 |
+
<h2 class="text-xl font-bold mb-2">Prompt Injection</h2>
|
| 302 |
+
<p class="text-gray-700 mb-3">Malicious manipulation of prompts to override intended model behavior or extract sensitive information.</p>
|
| 303 |
+
<div class="text-sm text-gray-500">Why it matters: Security risk requiring careful input validation and prompt design.</div>
|
| 304 |
+
</div>
|
| 305 |
+
</div>
|
| 306 |
+
</main>
|
| 307 |
+
|
| 308 |
+
<script>
|
| 309 |
+
feather.replace();
|
| 310 |
+
|
| 311 |
+
// Search functionality
|
| 312 |
+
const searchInput = document.getElementById('searchInput');
|
| 313 |
+
const termsContainer = document.getElementById('termsContainer');
|
| 314 |
+
const termCards = termsContainer.querySelectorAll('.term-card');
|
| 315 |
+
|
| 316 |
+
searchInput.addEventListener('input', () => {
|
| 317 |
+
const searchTerm = searchInput.value.toLowerCase();
|
| 318 |
+
|
| 319 |
+
termCards.forEach(card => {
|
| 320 |
+
const termTitle = card.querySelector('h2').textContent.toLowerCase();
|
| 321 |
+
const termDescription = card.querySelector('p').textContent.toLowerCase();
|
| 322 |
+
const termImportance = card.querySelector('.text-sm').textContent.toLowerCase();
|
| 323 |
+
|
| 324 |
+
if (termTitle.includes(searchTerm) ||
|
| 325 |
+
termDescription.includes(searchTerm) ||
|
| 326 |
+
termImportance.includes(searchTerm)) {
|
| 327 |
+
card.style.display = 'block';
|
| 328 |
+
} else {
|
| 329 |
+
card.style.display = 'none';
|
| 330 |
+
}
|
| 331 |
+
});
|
| 332 |
+
});
|
| 333 |
+
</script>
|
| 334 |
+
</body>
|
| 335 |
+
</html>
|
|
@@ -1,19 +1,202 @@
|
|
| 1 |
-
<!
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
</html>
|
|
|
|
| 1 |
+
<!DOCTYPE html>
|
| 2 |
+
<html lang="en">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="UTF-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
| 6 |
+
<title>EduPrompt - Enhance Your Prompts</title>
|
| 7 |
+
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
+
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
+
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
+
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
|
| 11 |
+
<script>
|
| 12 |
+
tailwind.config = {
|
| 13 |
+
theme: {
|
| 14 |
+
extend: {
|
| 15 |
+
colors: {
|
| 16 |
+
primary: {
|
| 17 |
+
50: '#f0f9ff',
|
| 18 |
+
100: '#e0f2fe',
|
| 19 |
+
200: '#bae6fd',
|
| 20 |
+
300: '#7dd3fc',
|
| 21 |
+
400: '#38bdf8',
|
| 22 |
+
500: '#0ea5e9',
|
| 23 |
+
600: '#0284c7',
|
| 24 |
+
700: '#0369a1',
|
| 25 |
+
800: '#075985',
|
| 26 |
+
900: '#0c4a6e',
|
| 27 |
+
}
|
| 28 |
+
},
|
| 29 |
+
fontFamily: {
|
| 30 |
+
sans: ['Inter', 'sans-serif']
|
| 31 |
+
}
|
| 32 |
+
}
|
| 33 |
+
}
|
| 34 |
+
}
|
| 35 |
+
</script>
|
| 36 |
+
<style>
|
| 37 |
+
.feature-card:hover {
|
| 38 |
+
transform: translateY(-5px);
|
| 39 |
+
box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
|
| 40 |
+
}
|
| 41 |
+
.gradient-bg {
|
| 42 |
+
background: linear-gradient(135deg, #0ea5e9 0%, #0284c7 100%);
|
| 43 |
+
}
|
| 44 |
+
</style>
|
| 45 |
+
</head>
|
| 46 |
+
<body class="bg-gray-50 text-gray-900 font-sans">
|
| 47 |
+
<!-- Navigation -->
|
| 48 |
+
<nav class="bg-white shadow-sm py-4">
|
| 49 |
+
<div class="container mx-auto px-4 flex justify-between items-center">
|
| 50 |
+
<div class="flex items-center space-x-2">
|
| 51 |
+
<div class="w-10 h-10 rounded-lg gradient-bg flex items-center justify-center">
|
| 52 |
+
<i data-feather="zap" class="text-white"></i>
|
| 53 |
+
</div>
|
| 54 |
+
<span class="text-xl font-bold text-gray-900">EduPrompt</span>
|
| 55 |
+
</div>
|
| 56 |
+
<div class="hidden md:flex space-x-8">
|
| 57 |
+
<a href="/" class="text-primary-600 font-medium">Home</a>
|
| 58 |
+
<a href="/eduprompt.html" class="text-gray-600 hover:text-primary-600">Playground</a>
|
| 59 |
+
<a href="/concepts.html" class="text-gray-600 hover:text-primary-600">Concepts</a>
|
| 60 |
+
<a href="/demos.html" class="text-gray-600 hover:text-primary-600">Demos</a>
|
| 61 |
+
<a href="/glossary.html" class="text-gray-600 hover:text-primary-600">Glossary</a>
|
| 62 |
+
<a href="/about.html" class="text-gray-600 hover:text-primary-600">About</a>
|
| 63 |
+
</div>
|
| 64 |
+
<button class="md:hidden text-gray-600">
|
| 65 |
+
<i data-feather="menu"></i>
|
| 66 |
+
</button>
|
| 67 |
+
</div>
|
| 68 |
+
</nav>
|
| 69 |
+
|
| 70 |
+
<!-- Hero Section -->
|
| 71 |
+
<section class="py-16 md:py-24 gradient-bg">
|
| 72 |
+
<div class="container mx-auto px-4 text-center">
|
| 73 |
+
<h1 class="text-4xl md:text-6xl font-bold text-white mb-6">Enhance Your Prompt Then Run The Model</h1>
|
| 74 |
+
<p class="text-xl text-blue-100 max-w-2xl mx-auto mb-10">Transform your basic prompts into expertly crafted instructions that get better results from AI models</p>
|
| 75 |
+
<div class="flex flex-col sm:flex-row justify-center gap-4">
|
| 76 |
+
<a href="/eduprompt.html" class="bg-white text-primary-600 font-semibold py-3 px-8 rounded-lg hover:bg-gray-100 transition duration-300">Try It Now</a>
|
| 77 |
+
<a href="/concepts.html" class="bg-transparent border-2 border-white text-white font-semibold py-3 px-8 rounded-lg hover:bg-white/10 transition duration-300">Learn How It Works</a>
|
| 78 |
+
</div>
|
| 79 |
+
</div>
|
| 80 |
+
</section>
|
| 81 |
+
|
| 82 |
+
<!-- Features Section -->
|
| 83 |
+
<section class="py-16 bg-white">
|
| 84 |
+
<div class="container mx-auto px-4">
|
| 85 |
+
<h2 class="text-3xl font-bold text-center mb-16">Why EduPrompt Works</h2>
|
| 86 |
+
<div class="grid md:grid-cols-3 gap-8">
|
| 87 |
+
<div class="feature-card bg-gray-50 rounded-xl p-8 shadow-sm transition-all duration-300">
|
| 88 |
+
<div class="w-14 h-14 rounded-lg gradient-bg flex items-center justify-center mb-6">
|
| 89 |
+
<i data-feather="zap" class="text-white"></i>
|
| 90 |
+
</div>
|
| 91 |
+
<h3 class="text-xl font-bold mb-3">Enhance First, Then Run</h3>
|
| 92 |
+
<p class="text-gray-600">Our prompt enhancer automatically transforms your input into expertly crafted instructions before sending to the model for better results.</p>
|
| 93 |
+
</div>
|
| 94 |
+
<div class="feature-card bg-gray-50 rounded-xl p-8 shadow-sm transition-all duration-300">
|
| 95 |
+
<div class="w-14 h-14 rounded-lg gradient-bg flex items-center justify-center mb-6">
|
| 96 |
+
<i data-feather="code" class="text-white"></i>
|
| 97 |
+
</div>
|
| 98 |
+
<h3 class="text-xl font-bold mb-3">Unified API</h3>
|
| 99 |
+
<p class="text-gray-600">One simple API endpoint handles all prompt types with automatic enhancement, making integration seamless for developers.</p>
|
| 100 |
+
</div>
|
| 101 |
+
<div class="feature-card bg-gray-50 rounded-xl p-8 shadow-sm transition-all duration-300">
|
| 102 |
+
<div class="w-14 h-14 rounded-lg gradient-bg flex items-center justify-center mb-6">
|
| 103 |
+
<i data-feather="server" class="text-white"></i>
|
| 104 |
+
</div>
|
| 105 |
+
<h3 class="text-xl font-bold mb-3">Free Model Hosting</h3>
|
| 106 |
+
<p class="text-gray-600">Access to lightweight language models without the hosting costs, powered by Hugging Face Spaces for experimentation.</p>
|
| 107 |
+
</div>
|
| 108 |
+
</div>
|
| 109 |
+
</div>
|
| 110 |
+
</section>
|
| 111 |
+
|
| 112 |
+
<!-- Testimonials -->
|
| 113 |
+
<section class="py-16 bg-gray-50">
|
| 114 |
+
<div class="container mx-auto px-4">
|
| 115 |
+
<h2 class="text-3xl font-bold text-center mb-16">What Users Say</h2>
|
| 116 |
+
<div class="grid md:grid-cols-3 gap-8">
|
| 117 |
+
<div class="bg-white p-8 rounded-xl shadow-sm">
|
| 118 |
+
<div class="flex items-center mb-4">
|
| 119 |
+
<div class="w-12 h-12 rounded-full bg-gray-300 mr-4"></div>
|
| 120 |
+
<div>
|
| 121 |
+
<h4 class="font-bold">Alex Johnson</h4>
|
| 122 |
+
<p class="text-gray-600 text-sm">Data Scientist</p>
|
| 123 |
+
</div>
|
| 124 |
+
</div>
|
| 125 |
+
<p class="text-gray-700 italic">"EduPrompt transformed how I interact with language models. My prompts now get consistent, high-quality results every time."</p>
|
| 126 |
+
</div>
|
| 127 |
+
<div class="bg-white p-8 rounded-xl shadow-sm">
|
| 128 |
+
<div class="flex items-center mb-4">
|
| 129 |
+
<div class="w-12 h-12 rounded-full bg-gray-300 mr-4"></div>
|
| 130 |
+
<div>
|
| 131 |
+
<h4 class="font-bold">Sarah Williams</h4>
|
| 132 |
+
<p class="text-gray-600 text-sm">Content Creator</p>
|
| 133 |
+
</div>
|
| 134 |
+
</div>
|
| 135 |
+
<p class="text-gray-700 italic">"The playground makes it so easy to experiment with different prompt structures. I've learned so much about effective prompting."</p>
|
| 136 |
+
</div>
|
| 137 |
+
<div class="bg-white p-8 rounded-xl shadow-sm">
|
| 138 |
+
<div class="flex items-center mb-4">
|
| 139 |
+
<div class="w-12 h-12 rounded-full bg-gray-300 mr-4"></div>
|
| 140 |
+
<div>
|
| 141 |
+
<h4 class="font-bold">Michael Chen</h4>
|
| 142 |
+
<p class="text-gray-600 text-sm">Developer</p>
|
| 143 |
+
</div>
|
| 144 |
+
</div>
|
| 145 |
+
<p class="text-gray-700 italic">"The unified API saved me hours of development time. Now I can focus on building features instead of crafting prompts."</p>
|
| 146 |
+
</div>
|
| 147 |
+
</div>
|
| 148 |
+
</div>
|
| 149 |
+
</section>
|
| 150 |
+
|
| 151 |
+
<!-- Footer -->
|
| 152 |
+
<footer class="bg-gray-900 text-white py-12">
|
| 153 |
+
<div class="container mx-auto px-4">
|
| 154 |
+
<div class="grid md:grid-cols-4 gap-8">
|
| 155 |
+
<div>
|
| 156 |
+
<div class="flex items-center space-x-2 mb-6">
|
| 157 |
+
<div class="w-8 h-8 rounded-lg gradient-bg flex items-center justify-center">
|
| 158 |
+
<i data-feather="zap" class="text-white text-sm"></i>
|
| 159 |
+
</div>
|
| 160 |
+
<span class="text-xl font-bold">EduPrompt</span>
|
| 161 |
+
</div>
|
| 162 |
+
<p class="text-gray-400">Enhance your prompts and get better results from AI models with our intelligent prompt engineering platform.</p>
|
| 163 |
+
</div>
|
| 164 |
+
<div>
|
| 165 |
+
<h4 class="font-bold mb-4">Product</h4>
|
| 166 |
+
<ul class="space-y-2 text-gray-400">
|
| 167 |
+
<li><a href="/eduprompt.html" class="hover:text-white transition">Playground</a></li>
|
| 168 |
+
<li><a href="/concepts.html" class="hover:text-white transition">Concepts</a></li>
|
| 169 |
+
<li><a href="/demos.html" class="hover:text-white transition">Demos</a></li>
|
| 170 |
+
<li><a href="/glossary.html" class="hover:text-white transition">Glossary</a></li>
|
| 171 |
+
</ul>
|
| 172 |
+
</div>
|
| 173 |
+
<div>
|
| 174 |
+
<h4 class="font-bold mb-4">Resources</h4>
|
| 175 |
+
<ul class="space-y-2 text-gray-400">
|
| 176 |
+
<li><a href="/about.html" class="hover:text-white transition">About</a></li>
|
| 177 |
+
<li><a href="#" class="hover:text-white transition">Documentation</a></li>
|
| 178 |
+
<li><a href="#" class="hover:text-white transition">API Reference</a></li>
|
| 179 |
+
<li><a href="#" class="hover:text-white transition">Blog</a></li>
|
| 180 |
+
</ul>
|
| 181 |
+
</div>
|
| 182 |
+
<div>
|
| 183 |
+
<h4 class="font-bold mb-4">Connect</h4>
|
| 184 |
+
<ul class="space-y-2 text-gray-400">
|
| 185 |
+
<li><a href="#" class="hover:text-white transition">Twitter</a></li>
|
| 186 |
+
<li><a href="#" class="hover:text-white transition">GitHub</a></li>
|
| 187 |
+
<li><a href="#" class="hover:text-white transition">Discord</a></li>
|
| 188 |
+
<li><a href="#" class="hover:text-white transition">Contact</a></li>
|
| 189 |
+
</ul>
|
| 190 |
+
</div>
|
| 191 |
+
</div>
|
| 192 |
+
<div class="border-t border-gray-800 mt-12 pt-8 text-center text-gray-500">
|
| 193 |
+
<p>© 2023 EduPrompt. All rights reserved.</p>
|
| 194 |
+
</div>
|
| 195 |
+
</div>
|
| 196 |
+
</footer>
|
| 197 |
+
|
| 198 |
+
<script>
|
| 199 |
+
feather.replace();
|
| 200 |
+
</script>
|
| 201 |
+
</body>
|
| 202 |
</html>
|