@elgap/edukaai 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.output/nitro.json +15 -0
- package/.output/public/_nuxt/BHDzAs85.js +1 -0
- package/.output/public/_nuxt/BJzbfdL_.js +1 -0
- package/.output/public/_nuxt/BKGLlKXk.js +6 -0
- package/.output/public/_nuxt/BLuXzJk3.js +1 -0
- package/.output/public/_nuxt/BNOzzLI3.js +1 -0
- package/.output/public/_nuxt/BO5GMwXh.js +1 -0
- package/.output/public/_nuxt/BQRbsFGy.js +1 -0
- package/.output/public/_nuxt/Be4MVdOg.js +1 -0
- package/.output/public/_nuxt/Bu4d3Z1T.js +1 -0
- package/.output/public/_nuxt/BwpBBNv4.js +1 -0
- package/.output/public/_nuxt/C1Og9-6n.js +97 -0
- package/.output/public/_nuxt/C3CjAhtj.js +1 -0
- package/.output/public/_nuxt/C6E3Ty3z.js +1 -0
- package/.output/public/_nuxt/COct4B42.js +1 -0
- package/.output/public/_nuxt/CQ6g2dtj.js +1 -0
- package/.output/public/_nuxt/CURSW5TV.js +246 -0
- package/.output/public/_nuxt/CW57JW4s.js +1 -0
- package/.output/public/_nuxt/Cg2fM61o.js +18 -0
- package/.output/public/_nuxt/CgGOeWta.js +1 -0
- package/.output/public/_nuxt/CoyYbT7u.js +1 -0
- package/.output/public/_nuxt/D11MHbGc.js +133 -0
- package/.output/public/_nuxt/D24dz0S8.js +1 -0
- package/.output/public/_nuxt/D3EFPr8x.js +1 -0
- package/.output/public/_nuxt/Dvt4ZHil.js +1 -0
- package/.output/public/_nuxt/builds/latest.json +1 -0
- package/.output/public/_nuxt/builds/meta/ab87ba0e-6d0d-4466-8b12-00d44f8fb9d3.json +1 -0
- package/.output/public/_nuxt/default.C1K1-g4D.css +1 -0
- package/.output/public/_nuxt/entry.CH8k-Mga.css +1 -0
- package/.output/public/_nuxt/error-404.C-Ezrlz-.css +1 -0
- package/.output/public/_nuxt/error-500.DBWf9FGj.css +1 -0
- package/.output/public/_nuxt/first-training.wFDD65zm.css +1 -0
- package/.output/public/_nuxt/import.cUKYdCrq.css +1 -0
- package/.output/public/_nuxt/index.D-2VHyHA.css +1 -0
- package/.output/public/_nuxt/index.D4J_vHmL.css +1 -0
- package/.output/public/_nuxt/mPJeLIz7.js +1 -0
- package/.output/server/chunks/_/error-500.mjs +19 -0
- package/.output/server/chunks/_/error-500.mjs.map +1 -0
- package/.output/server/chunks/build/ExampleCard-styles.BUOJhEg0.mjs +8 -0
- package/.output/server/chunks/build/ExampleCard-styles.BUOJhEg0.mjs.map +1 -0
- package/.output/server/chunks/build/ExampleForm-Bcpl0CfL.mjs +238 -0
- package/.output/server/chunks/build/ExampleForm-Bcpl0CfL.mjs.map +1 -0
- package/.output/server/chunks/build/ImportPreview-styles.CFmMl5Ok.mjs +8 -0
- package/.output/server/chunks/build/ImportPreview-styles.CFmMl5Ok.mjs.map +1 -0
- package/.output/server/chunks/build/_id_-BUSGcL-H.mjs +113 -0
- package/.output/server/chunks/build/_id_-BUSGcL-H.mjs.map +1 -0
- package/.output/server/chunks/build/axolotl-C-EXGgM8.mjs +112 -0
- package/.output/server/chunks/build/axolotl-C-EXGgM8.mjs.map +1 -0
- package/.output/server/chunks/build/best-practices-DsadorHb.mjs +38 -0
- package/.output/server/chunks/build/best-practices-DsadorHb.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +4 -0
- package/.output/server/chunks/build/client.precomputed.mjs.map +1 -0
- package/.output/server/chunks/build/default-DPkqqHOE.mjs +354 -0
- package/.output/server/chunks/build/default-DPkqqHOE.mjs.map +1 -0
- package/.output/server/chunks/build/default-styles.DsqVVS7k.mjs +8 -0
- package/.output/server/chunks/build/default-styles.DsqVVS7k.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-K4UfZNck.mjs +97 -0
- package/.output/server/chunks/build/error-404-K4UfZNck.mjs.map +1 -0
- package/.output/server/chunks/build/error-404-styles.DuDrf-v0.mjs +8 -0
- package/.output/server/chunks/build/error-404-styles.DuDrf-v0.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-CA7TEPNg.mjs +79 -0
- package/.output/server/chunks/build/error-500-CA7TEPNg.mjs.map +1 -0
- package/.output/server/chunks/build/error-500-styles.8IYEHzz6.mjs +8 -0
- package/.output/server/chunks/build/error-500-styles.8IYEHzz6.mjs.map +1 -0
- package/.output/server/chunks/build/examples-BHK8MDrs.mjs +134 -0
- package/.output/server/chunks/build/examples-BHK8MDrs.mjs.map +1 -0
- package/.output/server/chunks/build/export-BzxFqqfP.mjs +233 -0
- package/.output/server/chunks/build/export-BzxFqqfP.mjs.map +1 -0
- package/.output/server/chunks/build/faq-DKch73dS.mjs +112 -0
- package/.output/server/chunks/build/faq-DKch73dS.mjs.map +1 -0
- package/.output/server/chunks/build/field-guide-qbukT8F0.mjs +38 -0
- package/.output/server/chunks/build/field-guide-qbukT8F0.mjs.map +1 -0
- package/.output/server/chunks/build/first-training-BbEOBcEW.mjs +343 -0
- package/.output/server/chunks/build/first-training-BbEOBcEW.mjs.map +1 -0
- package/.output/server/chunks/build/first-training-styles.BzOa_KRD.mjs +8 -0
- package/.output/server/chunks/build/first-training-styles.BzOa_KRD.mjs.map +1 -0
- package/.output/server/chunks/build/glossary-CxSGCJoH.mjs +397 -0
- package/.output/server/chunks/build/glossary-CxSGCJoH.mjs.map +1 -0
- package/.output/server/chunks/build/huggingface-TSmyUzZU.mjs +128 -0
- package/.output/server/chunks/build/huggingface-TSmyUzZU.mjs.map +1 -0
- package/.output/server/chunks/build/import-C0kYhRv9.mjs +247 -0
- package/.output/server/chunks/build/import-C0kYhRv9.mjs.map +1 -0
- package/.output/server/chunks/build/index-C1ntBEWd.mjs +235 -0
- package/.output/server/chunks/build/index-C1ntBEWd.mjs.map +1 -0
- package/.output/server/chunks/build/index-D3CxihcX.mjs +320 -0
- package/.output/server/chunks/build/index-D3CxihcX.mjs.map +1 -0
- package/.output/server/chunks/build/index-DgKa1cy0.mjs +360 -0
- package/.output/server/chunks/build/index-DgKa1cy0.mjs.map +1 -0
- package/.output/server/chunks/build/index-cG54gaKX.mjs +513 -0
- package/.output/server/chunks/build/index-cG54gaKX.mjs.map +1 -0
- package/.output/server/chunks/build/index-styles.BX2SZiiS.mjs +8 -0
- package/.output/server/chunks/build/index-styles.BX2SZiiS.mjs.map +1 -0
- package/.output/server/chunks/build/llm-training-DIqc0eiM.mjs +91 -0
- package/.output/server/chunks/build/llm-training-DIqc0eiM.mjs.map +1 -0
- package/.output/server/chunks/build/new-b3338aLF.mjs +92 -0
- package/.output/server/chunks/build/new-b3338aLF.mjs.map +1 -0
- package/.output/server/chunks/build/nuxt-link-Ceyd90PQ.mjs +290 -0
- package/.output/server/chunks/build/nuxt-link-Ceyd90PQ.mjs.map +1 -0
- package/.output/server/chunks/build/sample-datasets-CVLWMQUA.mjs +45 -0
- package/.output/server/chunks/build/sample-datasets-CVLWMQUA.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +1979 -0
- package/.output/server/chunks/build/server.mjs.map +1 -0
- package/.output/server/chunks/build/styles.mjs +20 -0
- package/.output/server/chunks/build/styles.mjs.map +1 -0
- package/.output/server/chunks/build/test-router-BYM6Cpst.mjs +105 -0
- package/.output/server/chunks/build/test-router-BYM6Cpst.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +5800 -0
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -0
- package/.output/server/chunks/routes/renderer.mjs +481 -0
- package/.output/server/chunks/routes/renderer.mjs.map +1 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs +4 -0
- package/.output/server/chunks/virtual/_virtual_spa-template.mjs.map +1 -0
- package/.output/server/index.mjs +12 -0
- package/.output/server/index.mjs.map +1 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/api.js +2 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/app.js +2 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/component.js +2 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/context.js +2 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/hooks.js +2 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/index.js +22 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/api/util.js +2 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/const.js +5 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/env.js +17 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/index.js +45 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/plugin.js +2 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/proxy.js +111 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/lib/cjs/time.js +28 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@6.6.4/package.json +37 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@7.7.9/dist/index.cjs +42 -0
- package/.output/server/node_modules/.nitro/@vue/devtools-api@7.7.9/package.json +32 -0
- package/.output/server/node_modules/.nitro/hookable@5.5.3/dist/index.cjs +299 -0
- package/.output/server/node_modules/.nitro/hookable@5.5.3/package.json +49 -0
- package/.output/server/node_modules/.nitro/hookable@6.0.1/dist/index.mjs +266 -0
- package/.output/server/node_modules/.nitro/hookable@6.0.1/package.json +52 -0
- package/.output/server/node_modules/.nitro/perfect-debounce@1.0.0/dist/index.cjs +59 -0
- package/.output/server/node_modules/.nitro/perfect-debounce@1.0.0/package.json +44 -0
- package/.output/server/node_modules/.nitro/perfect-debounce@2.1.0/dist/index.mjs +89 -0
- package/.output/server/node_modules/.nitro/perfect-debounce@2.1.0/package.json +41 -0
- package/.output/server/node_modules/@babel/parser/lib/index.js +14582 -0
- package/.output/server/node_modules/@babel/parser/package.json +50 -0
- package/.output/server/node_modules/@iconify/utils/lib/colors/index.js +292 -0
- package/.output/server/node_modules/@iconify/utils/lib/colors/keywords.js +702 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/common.js +76 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/format.js +40 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/icon.js +52 -0
- package/.output/server/node_modules/@iconify/utils/lib/css/icons.js +133 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/bool.js +20 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/defaults.js +15 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/flip.js +18 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/merge.js +18 -0
- package/.output/server/node_modules/@iconify/utils/lib/customisations/rotate.js +31 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/cleanup.js +80 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/convert.js +102 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/data.js +29 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/format.js +60 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/parse.js +50 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/base.js +204 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/create.js +35 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/numbers.js +134 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/similar.js +167 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/regex/tree.js +81 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/find.js +94 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/replace/replace.js +28 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/components.js +78 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/missing.js +68 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/name.js +47 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/parse.js +105 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/similar.js +38 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/tree.js +94 -0
- package/.output/server/node_modules/@iconify/utils/lib/emoji/test/variations.js +64 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/defaults.js +26 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/merge.js +18 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/name.js +58 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/square.js +34 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon/transformations.js +13 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/convert-info.js +126 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/expand.js +21 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icon.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/get-icons.js +38 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/minify.js +93 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/parse.js +48 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/tree.js +24 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate-basic.js +44 -0
- package/.output/server/node_modules/@iconify/utils/lib/icon-set/validate.js +125 -0
- package/.output/server/node_modules/@iconify/utils/lib/index.js +53 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/custom.js +32 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/loader.js +28 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/modern.js +42 -0
- package/.output/server/node_modules/@iconify/utils/lib/loader/utils.js +63 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/objects.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/strings.js +27 -0
- package/.output/server/node_modules/@iconify/utils/lib/misc/title.js +10 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/build.js +115 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/defs.js +32 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/encode-svg-for-css.js +15 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/html.js +10 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/id.js +42 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/inner-html.js +23 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/parse.js +69 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/pretty.js +55 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/size.js +28 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/trim.js +8 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/url.js +23 -0
- package/.output/server/node_modules/@iconify/utils/lib/svg/viewbox.js +9 -0
- package/.output/server/node_modules/@iconify/utils/package.json +118 -0
- package/.output/server/node_modules/@iconify/vue/dist/iconify.mjs +1893 -0
- package/.output/server/node_modules/@iconify/vue/package.json +64 -0
- package/.output/server/node_modules/@vue/compiler-core/dist/compiler-core.cjs.prod.js +6763 -0
- package/.output/server/node_modules/@vue/compiler-core/package.json +58 -0
- package/.output/server/node_modules/@vue/compiler-dom/dist/compiler-dom.cjs.prod.js +689 -0
- package/.output/server/node_modules/@vue/compiler-dom/package.json +57 -0
- package/.output/server/node_modules/@vue/compiler-ssr/dist/compiler-ssr.cjs.js +1413 -0
- package/.output/server/node_modules/@vue/compiler-ssr/package.json +34 -0
- package/.output/server/node_modules/@vue/devtools-kit/dist/index.cjs +6850 -0
- package/.output/server/node_modules/@vue/devtools-kit/package.json +44 -0
- package/.output/server/node_modules/@vue/devtools-shared/dist/index.cjs +378 -0
- package/.output/server/node_modules/@vue/devtools-shared/package.json +34 -0
- package/.output/server/node_modules/@vue/reactivity/dist/reactivity.cjs.prod.js +1870 -0
- package/.output/server/node_modules/@vue/reactivity/package.json +55 -0
- package/.output/server/node_modules/@vue/runtime-core/dist/runtime-core.cjs.prod.js +6810 -0
- package/.output/server/node_modules/@vue/runtime-core/package.json +52 -0
- package/.output/server/node_modules/@vue/runtime-dom/dist/runtime-dom.cjs.prod.js +1750 -0
- package/.output/server/node_modules/@vue/runtime-dom/package.json +60 -0
- package/.output/server/node_modules/@vue/server-renderer/dist/server-renderer.cjs.prod.js +883 -0
- package/.output/server/node_modules/@vue/server-renderer/package.json +55 -0
- package/.output/server/node_modules/@vue/shared/dist/shared.cjs.prod.js +604 -0
- package/.output/server/node_modules/@vue/shared/package.json +47 -0
- package/.output/server/node_modules/birpc/dist/index.cjs +296 -0
- package/.output/server/node_modules/birpc/package.json +57 -0
- package/.output/server/node_modules/consola/dist/chunks/prompt.mjs +280 -0
- package/.output/server/node_modules/consola/dist/core.mjs +512 -0
- package/.output/server/node_modules/consola/dist/index.mjs +651 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DRwqZj3T.mjs +72 -0
- package/.output/server/node_modules/consola/dist/shared/consola.DXBYu-KD.mjs +288 -0
- package/.output/server/node_modules/consola/package.json +136 -0
- package/.output/server/node_modules/devalue/index.js +4 -0
- package/.output/server/node_modules/devalue/package.json +37 -0
- package/.output/server/node_modules/devalue/src/base64.js +110 -0
- package/.output/server/node_modules/devalue/src/constants.js +7 -0
- package/.output/server/node_modules/devalue/src/parse.js +246 -0
- package/.output/server/node_modules/devalue/src/stringify.js +350 -0
- package/.output/server/node_modules/devalue/src/uneval.js +490 -0
- package/.output/server/node_modules/devalue/src/utils.js +148 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode-codepoint.js +77 -0
- package/.output/server/node_modules/entities/dist/commonjs/decode.js +568 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-html.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/generated/decode-data-xml.js +7 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js +21 -0
- package/.output/server/node_modules/entities/dist/commonjs/internal/decode-shared.js +31 -0
- package/.output/server/node_modules/entities/dist/commonjs/package.json +3 -0
- package/.output/server/node_modules/entities/package.json +120 -0
- package/.output/server/node_modules/estree-walker/dist/umd/estree-walker.js +344 -0
- package/.output/server/node_modules/estree-walker/package.json +37 -0
- package/.output/server/node_modules/pinia/dist/pinia.prod.cjs +719 -0
- package/.output/server/node_modules/pinia/package.json +94 -0
- package/.output/server/node_modules/source-map-js/lib/array-set.js +121 -0
- package/.output/server/node_modules/source-map-js/lib/base64-vlq.js +140 -0
- package/.output/server/node_modules/source-map-js/lib/base64.js +67 -0
- package/.output/server/node_modules/source-map-js/lib/binary-search.js +111 -0
- package/.output/server/node_modules/source-map-js/lib/mapping-list.js +79 -0
- package/.output/server/node_modules/source-map-js/lib/quick-sort.js +132 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-consumer.js +1188 -0
- package/.output/server/node_modules/source-map-js/lib/source-map-generator.js +444 -0
- package/.output/server/node_modules/source-map-js/lib/source-node.js +413 -0
- package/.output/server/node_modules/source-map-js/lib/util.js +594 -0
- package/.output/server/node_modules/source-map-js/package.json +71 -0
- package/.output/server/node_modules/source-map-js/source-map.js +8 -0
- package/.output/server/node_modules/tailwindcss/dist/chunk-X4GG3EDV.mjs +1 -0
- package/.output/server/node_modules/tailwindcss/dist/colors.mjs +1 -0
- package/.output/server/node_modules/tailwindcss/package.json +89 -0
- package/.output/server/node_modules/ufo/dist/index.mjs +645 -0
- package/.output/server/node_modules/ufo/package.json +48 -0
- package/.output/server/node_modules/unhead/dist/index.mjs +9 -0
- package/.output/server/node_modules/unhead/dist/parser.mjs +508 -0
- package/.output/server/node_modules/unhead/dist/plugins.mjs +101 -0
- package/.output/server/node_modules/unhead/dist/scripts.mjs +30 -0
- package/.output/server/node_modules/unhead/dist/server.mjs +180 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BPM0-cfG.mjs +44 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BYvz9V1x.mjs +43 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.BnoAbrHA.mjs +269 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CApf5sj3.mjs +148 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.CbpEuj3y.mjs +71 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.DQc16pHI.mjs +196 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.D_nrZZPH.mjs +182 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.ckV6dpEQ.mjs +166 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.fVVqDC1O.mjs +203 -0
- package/.output/server/node_modules/unhead/dist/shared/unhead.yem5I2v_.mjs +38 -0
- package/.output/server/node_modules/unhead/dist/utils.mjs +5 -0
- package/.output/server/node_modules/unhead/package.json +105 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.js +80 -0
- package/.output/server/node_modules/vue/dist/vue.cjs.prod.js +66 -0
- package/.output/server/node_modules/vue/index.js +7 -0
- package/.output/server/node_modules/vue/index.mjs +1 -0
- package/.output/server/node_modules/vue/package.json +112 -0
- package/.output/server/node_modules/vue/server-renderer/index.mjs +1 -0
- package/.output/server/node_modules/vue-bundle-renderer/dist/runtime.mjs +301 -0
- package/.output/server/node_modules/vue-bundle-renderer/package.json +55 -0
- package/.output/server/node_modules/vue-router/dist/devtools-EWN81iOl.mjs +1220 -0
- package/.output/server/node_modules/vue-router/dist/vue-router.mjs +1557 -0
- package/.output/server/node_modules/vue-router/package.json +153 -0
- package/.output/server/node_modules/vue-router/vue-router.node.mjs +2 -0
- package/.output/server/package.json +37 -0
- package/LICENSE +21 -0
- package/README.md +132 -0
- package/bin/cli.js +75 -0
- package/package.json +71 -0
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import { _ as __nuxt_component_0 } from './nuxt-link-Ceyd90PQ.mjs';
|
|
2
|
+
import { mergeProps, withCtx, createTextVNode, openBlock, createBlock, createVNode, toDisplayString, useSSRContext } from 'vue';
|
|
3
|
+
import { ssrRenderAttrs, ssrRenderComponent, ssrRenderList, ssrRenderClass, ssrInterpolate } from 'vue/server-renderer';
|
|
4
|
+
import { _ as _export_sfc, u as useHead } from './server.mjs';
|
|
5
|
+
import '../nitro/nitro.mjs';
|
|
6
|
+
import 'node:http';
|
|
7
|
+
import 'node:https';
|
|
8
|
+
import 'node:events';
|
|
9
|
+
import 'node:buffer';
|
|
10
|
+
import 'node:fs';
|
|
11
|
+
import 'node:path';
|
|
12
|
+
import 'node:crypto';
|
|
13
|
+
import 'node:url';
|
|
14
|
+
import '@iconify/utils';
|
|
15
|
+
import 'consola';
|
|
16
|
+
import 'pinia';
|
|
17
|
+
import 'vue-router';
|
|
18
|
+
import 'tailwindcss/colors';
|
|
19
|
+
import '@iconify/vue';
|
|
20
|
+
import '../routes/renderer.mjs';
|
|
21
|
+
import 'vue-bundle-renderer/runtime';
|
|
22
|
+
import 'unhead/server';
|
|
23
|
+
import 'devalue';
|
|
24
|
+
import 'unhead/utils';
|
|
25
|
+
|
|
26
|
+
const _sfc_main = {
|
|
27
|
+
__name: "index",
|
|
28
|
+
__ssrInlineRender: true,
|
|
29
|
+
setup(__props) {
|
|
30
|
+
useHead({
|
|
31
|
+
title: "Guide - edukaAI",
|
|
32
|
+
meta: [
|
|
33
|
+
{
|
|
34
|
+
name: "description",
|
|
35
|
+
content: "Complete guide to LLM fine-tuning and creating training datasets"
|
|
36
|
+
}
|
|
37
|
+
]
|
|
38
|
+
});
|
|
39
|
+
const bestPractices = [
|
|
40
|
+
{
|
|
41
|
+
title: "Quality over Quantity",
|
|
42
|
+
description: "100 excellent examples beat 1000 mediocre ones. Review and improve regularly.",
|
|
43
|
+
color: "bg-blue-500"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
title: "Diversity is Key",
|
|
47
|
+
description: "Include different question styles, formats, and difficulty levels.",
|
|
48
|
+
color: "bg-green-500"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
title: "Use Real Conversations",
|
|
52
|
+
description: "Import from AI assistants or use actual user interactions.",
|
|
53
|
+
color: "bg-purple-500"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
title: "Cover Edge Cases",
|
|
57
|
+
description: "Include examples of common mistakes and error handling.",
|
|
58
|
+
color: "bg-orange-500"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
title: "Be Consistent",
|
|
62
|
+
description: "Use the same system prompt for related examples.",
|
|
63
|
+
color: "bg-pink-500"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
title: "Show, Don't Just Tell",
|
|
67
|
+
description: "Include code examples and concrete demonstrations.",
|
|
68
|
+
color: "bg-yellow-500"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
title: "Iterate & Improve",
|
|
72
|
+
description: "Don't aim for perfect on the first try. Build quality over time.",
|
|
73
|
+
color: "bg-indigo-500"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
title: "Test Your Dataset",
|
|
77
|
+
description: "Try training on 100 examples before committing to 1000.",
|
|
78
|
+
color: "bg-teal-500"
|
|
79
|
+
}
|
|
80
|
+
];
|
|
81
|
+
const commonMistakes = [
|
|
82
|
+
{
|
|
83
|
+
title: "Vague Instructions",
|
|
84
|
+
description: `Instructions like "help me with Python" are too vague. The model can't learn from ambiguous inputs.`,
|
|
85
|
+
solution: 'Be specific: "How do I handle file reading errors in Python with proper exception handling?"'
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
title: "Inconsistent Style",
|
|
89
|
+
description: "Mixing formal responses with casual ones confuses the model.",
|
|
90
|
+
solution: "Pick a consistent tone and stick with it using system prompts."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
title: "Too Many Similar Examples",
|
|
94
|
+
description: "100 variations of the same question doesn't help.",
|
|
95
|
+
solution: "Cover diverse topics. Quality diversity beats quantity similarity."
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
title: "Ignoring Quality Ratings",
|
|
99
|
+
description: "Marking everything as 5-star means you'll train on bad data.",
|
|
100
|
+
solution: "Be honest with ratings. Only approve 3+ stars."
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
title: "Rushing to 1000",
|
|
104
|
+
description: "Focusing only on number without quality harms your model.",
|
|
105
|
+
solution: "Focus on creating 10 excellent examples, then 50, then 100."
|
|
106
|
+
}
|
|
107
|
+
];
|
|
108
|
+
const faqs = [
|
|
109
|
+
{
|
|
110
|
+
question: "How many examples do I need?",
|
|
111
|
+
answer: "We recommend <strong>1000 high-quality examples</strong> for your first fine-tuning. Start with 100 for testing, 500 for noticeable improvement, and 1000+ for solid results. Remember: quality beats quantity!"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
question: "Where can I find sample data to learn from?",
|
|
115
|
+
answer: 'Visit our <NuxtLink to="/sample-datasets" class="text-blue-600 hover:underline">Sample Datasets page</NuxtLink> to download example datasets and explore public datasets like Stanford Alpaca, ShareGPT, and OpenOrca. These are great for understanding what high-quality training data looks like!'
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
question: "Can I import from ChatGPT / Claude?",
|
|
119
|
+
answer: "Yes! edukaAI imports from <strong>Claude Code</strong> (full support), <strong>Cursor</strong> (chat history), and <strong>OpenCode</strong> (limited). Go to the Import page to get started."
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
question: "How long does it take?",
|
|
123
|
+
answer: "Manual creation: 5-10 min per example = 85-170 hours for 1000. <strong>Recommended:</strong> Import 70% from conversations + create 30% manually = 10-20 hours of curation."
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
question: "Do I need programming experience?",
|
|
127
|
+
answer: "<strong>No!</strong> edukaAI is designed for beginners. You just need domain knowledge (e.g., understanding coding if building a coding assistant). We handle the technical parts."
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
question: "What models can I fine-tune?",
|
|
131
|
+
answer: "You can fine-tune: <strong>Open source</strong> (Llama 2, Mistral - free), via <strong>HuggingFace</strong> (easy), via <strong>OpenAI API</strong> (GPT-3.5), or any platform accepting Alpaca/ShareGPT format."
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
question: "How much does it cost?",
|
|
135
|
+
answer: "<strong>Local (open source):</strong> Free! Need RTX 3060+ GPU.<br/><strong>Cloud:</strong> $5-20 per training run.<br/><strong>OpenAI:</strong> ~$2-10 for 1000 examples.<br/>Start with smaller models to save costs."
|
|
136
|
+
}
|
|
137
|
+
];
|
|
138
|
+
const glossary = [
|
|
139
|
+
{
|
|
140
|
+
id: "base-model",
|
|
141
|
+
word: "Base Model",
|
|
142
|
+
definition: "The pre-trained LLM you start with (GPT-4, Llama 2, etc.)"
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
id: "dataset",
|
|
146
|
+
word: "Dataset",
|
|
147
|
+
definition: "A collection of training examples used to teach the AI"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
id: "epoch",
|
|
151
|
+
word: "Epoch",
|
|
152
|
+
definition: "One complete pass through the dataset during training"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
id: "fine-tuning",
|
|
156
|
+
word: "Fine-Tuning",
|
|
157
|
+
definition: "Training a pre-trained model on specific data to improve performance"
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
id: "hallucination",
|
|
161
|
+
word: "Hallucination",
|
|
162
|
+
definition: "When AI generates incorrect or made-up information"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
id: "instruction",
|
|
166
|
+
word: "Instruction",
|
|
167
|
+
definition: "The input part of a training example (what the user asks)"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
id: "llm",
|
|
171
|
+
word: "LLM",
|
|
172
|
+
definition: "Large Language Model - AI trained on vast amounts of text"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
id: "output",
|
|
176
|
+
word: "Output",
|
|
177
|
+
definition: "The desired answer the AI should produce"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
id: "parameters",
|
|
181
|
+
word: "Parameters",
|
|
182
|
+
definition: "Internal numbers that define how the model works (7B = 7 billion)"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
id: "system-prompt",
|
|
186
|
+
word: "System Prompt",
|
|
187
|
+
definition: "Instructions defining AI personality and behavior"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
id: "token",
|
|
191
|
+
word: "Token",
|
|
192
|
+
definition: 'A piece of text the AI processes ("Hello world" ≈ 2-3 tokens)'
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
id: "training",
|
|
196
|
+
word: "Training",
|
|
197
|
+
definition: "The process of adjusting model parameters for better outputs"
|
|
198
|
+
}
|
|
199
|
+
];
|
|
200
|
+
return (_ctx, _push, _parent, _attrs) => {
|
|
201
|
+
const _component_NuxtLink = __nuxt_component_0;
|
|
202
|
+
_push(`<div${ssrRenderAttrs(mergeProps({ class: "max-w-5xl mx-auto pb-20" }, _attrs))} data-v-d323dde7><div class="text-center mb-12 py-12 bg-gradient-to-br from-blue-50 to-purple-50 rounded-2xl" data-v-d323dde7><div class="text-6xl mb-4" data-v-d323dde7>📚</div><h1 class="text-4xl font-bold mb-4" data-v-d323dde7> The Complete Guide to LLM Fine-Tuning </h1><p class="text-xl text-gray-600 max-w-2xl mx-auto" data-v-d323dde7> Everything you need to know to create your first training dataset and fine-tune your own AI model </p><div class="mt-6 flex justify-center gap-4 text-sm" data-v-d323dde7><span class="px-3 py-1 bg-white rounded-full shadow-sm" data-v-d323dde7>🎯 Beginner Friendly</span><span class="px-3 py-1 bg-white rounded-full shadow-sm" data-v-d323dde7>📖 Step-by-Step</span><span class="px-3 py-1 bg-white rounded-full shadow-sm" data-v-d323dde7>💡 Practical Examples</span></div></div><div class="card mb-8 bg-gradient-to-r from-purple-600 to-blue-600 text-white overflow-hidden" data-v-d323dde7><div class="p-8" data-v-d323dde7><div class="flex flex-col md:flex-row items-center justify-between gap-6" data-v-d323dde7><div class="flex-1" data-v-d323dde7><div class="flex items-center gap-2 mb-3" data-v-d323dde7><span class="px-2 py-1 bg-white/20 rounded text-xs font-semibold" data-v-d323dde7>TECHNICAL DEEP DIVE</span></div><h2 class="text-2xl font-bold mb-3" data-v-d323dde7>🧠 LLM Training Explained</h2><p class="text-lg text-purple-100 mb-4" data-v-d323dde7> Want to understand how AI actually works? Learn about next-token prediction, transformers, attention mechanisms, and how neural networks learn — explained for technically-minded beginners. </p><div class="flex flex-wrap gap-2 text-sm mb-4" data-v-d323dde7><span class="px-3 py-1 bg-white/20 rounded-full" data-v-d323dde7>Tokens</span><span class="px-3 py-1 bg-white/20 rounded-full" data-v-d323dde7>Neural Networks</span><span class="px-3 py-1 bg-white/20 rounded-full" data-v-d323dde7>Transformers</span><span class="px-3 py-1 bg-white/20 rounded-full" data-v-d323dde7>Attention</span></div>`);
|
|
203
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
204
|
+
to: "/help/llm-training",
|
|
205
|
+
class: "inline-flex items-center gap-2 px-6 py-3 bg-white text-purple-600 rounded-lg font-semibold hover:bg-purple-50 transition-colors"
|
|
206
|
+
}, {
|
|
207
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
208
|
+
if (_push2) {
|
|
209
|
+
_push2(` Read the Technical Guide <svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-v-d323dde7${_scopeId}><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6" data-v-d323dde7${_scopeId}></path></svg>`);
|
|
210
|
+
} else {
|
|
211
|
+
return [
|
|
212
|
+
createTextVNode(" Read the Technical Guide "),
|
|
213
|
+
(openBlock(), createBlock("svg", {
|
|
214
|
+
class: "w-5 h-5",
|
|
215
|
+
fill: "none",
|
|
216
|
+
stroke: "currentColor",
|
|
217
|
+
viewBox: "0 0 24 24"
|
|
218
|
+
}, [
|
|
219
|
+
createVNode("path", {
|
|
220
|
+
"stroke-linecap": "round",
|
|
221
|
+
"stroke-linejoin": "round",
|
|
222
|
+
"stroke-width": "2",
|
|
223
|
+
d: "M13 7l5 5m0 0l-5 5m5-5H6"
|
|
224
|
+
})
|
|
225
|
+
]))
|
|
226
|
+
];
|
|
227
|
+
}
|
|
228
|
+
}),
|
|
229
|
+
_: 1
|
|
230
|
+
}, _parent));
|
|
231
|
+
_push(`</div><div class="hidden md:block text-6xl" data-v-d323dde7>🧬</div></div></div></div><div class="card mb-8 sticky top-4 z-30 bg-white/95 backdrop-blur shadow-lg" data-v-d323dde7><h2 class="text-lg font-semibold mb-4" data-v-d323dde7>📑 Quick Navigation</h2><div class="flex flex-wrap gap-2 text-sm" data-v-d323dde7><button class="toc-btn" data-v-d323dde7> What is Fine-Tuning? </button><button class="toc-btn" data-v-d323dde7> Getting Started </button><button class="toc-btn" data-v-d323dde7> Training Examples </button><button class="toc-btn" data-v-d323dde7> Field Guide </button><button class="toc-btn" data-v-d323dde7> Best Practices </button><button class="toc-btn" data-v-d323dde7> Common Mistakes </button><button class="toc-btn" data-v-d323dde7> Real Examples </button><button class="toc-btn" data-v-d323dde7>FAQ</button><button class="toc-btn" data-v-d323dde7>Glossary</button><button class="toc-btn bg-blue-600 text-white" data-v-d323dde7> Start Now → </button></div></div><section id="what-is-finetuning" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>🎯</span><h2 class="text-2xl font-bold" data-v-d323dde7>What is LLM Fine-Tuning?</h2></div><div class="card" data-v-d323dde7><div class="prose max-w-none" data-v-d323dde7><p class="text-lg leading-relaxed mb-6" data-v-d323dde7><strong data-v-d323dde7>Large Language Model (LLM) Fine-Tuning</strong> is the process of taking a pre-trained AI model (like GPT, Claude, or Llama) and teaching it to be better at specific tasks by training it on examples of those tasks. </p><div class="bg-blue-50 p-6 rounded-xl my-6" data-v-d323dde7><h3 class="font-semibold text-blue-900 mb-3" data-v-d323dde7>🎓 Simple Analogy</h3><p class="text-blue-800" data-v-d323dde7> Think of a pre-trained LLM as a student who has learned general knowledge from reading the entire internet. Fine-tuning is like giving that student specialized training in a specific field—teaching them to be a doctor, lawyer, or software engineer by showing them examples of expert work in that field. </p></div><h3 class="text-xl font-semibold mt-8 mb-4" data-v-d323dde7>Why Fine-Tune?</h3><div class="grid grid-cols-1 md:grid-cols-2 gap-4" data-v-d323dde7><div class="p-4 bg-green-50 rounded-lg border border-green-200" data-v-d323dde7><h4 class="font-medium text-green-800 mb-2" data-v-d323dde7> ✅ Better Performance </h4><p class="text-sm text-gray-600" data-v-d323dde7> Your model becomes an expert in YOUR specific domain, with better accuracy and relevance. </p></div><div class="p-4 bg-blue-50 rounded-lg border border-blue-200" data-v-d323dde7><h4 class="font-medium text-blue-800 mb-2" data-v-d323dde7>💰 Lower Costs</h4><p class="text-sm text-gray-600" data-v-d323dde7> Fine-tuned smaller models can outperform larger general models for specific tasks. </p></div><div class="p-4 bg-purple-50 rounded-lg border border-purple-200" data-v-d323dde7><h4 class="font-medium text-purple-800 mb-2" data-v-d323dde7> ⚡ Faster Responses </h4><p class="text-sm text-gray-600" data-v-d323dde7> Specialized models are more efficient and respond faster. </p></div><div class="p-4 bg-orange-50 rounded-lg border border-orange-200" data-v-d323dde7><h4 class="font-medium text-orange-800 mb-2" data-v-d323dde7>🔒 Privacy</h4><p class="text-sm text-gray-600" data-v-d323dde7> Your data stays on your infrastructure. No need to send sensitive data to third-party APIs. </p></div></div><h3 class="text-xl font-semibold mt-8 mb-4" data-v-d323dde7> The Fine-Tuning Process </h3><div class="bg-gray-50 p-6 rounded-xl" data-v-d323dde7><div class="grid grid-cols-1 md:grid-cols-4 gap-4" data-v-d323dde7><div class="text-center" data-v-d323dde7><div class="w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center text-white font-bold mx-auto mb-2" data-v-d323dde7> 1 </div><h4 class="font-medium" data-v-d323dde7>Collect Data</h4><p class="text-xs text-gray-600" data-v-d323dde7>Gather 100-10000 examples</p></div><div class="text-center" data-v-d323dde7><div class="w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center text-white font-bold mx-auto mb-2" data-v-d323dde7> 2 </div><h4 class="font-medium" data-v-d323dde7>Create Dataset</h4><p class="text-xs text-gray-600" data-v-d323dde7>Format instruction → output</p></div><div class="text-center" data-v-d323dde7><div class="w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center text-white font-bold mx-auto mb-2" data-v-d323dde7> 3 </div><h4 class="font-medium" data-v-d323dde7>Train Model</h4><p class="text-xs text-gray-600" data-v-d323dde7>30 min to a few hours</p></div><div class="text-center" data-v-d323dde7><div class="w-12 h-12 bg-green-500 rounded-full flex items-center justify-center text-white font-bold mx-auto mb-2" data-v-d323dde7> 4 </div><h4 class="font-medium" data-v-d323dde7>Deploy & Use</h4><p class="text-xs text-gray-600" data-v-d323dde7>Test and go live!</p></div></div></div><div class="mt-8 p-6 bg-gradient-to-r from-yellow-50 to-orange-50 rounded-xl border border-yellow-200" data-v-d323dde7><h3 class="font-semibold text-lg mb-3" data-v-d323dde7> 🎯 The 1000 Example Milestone </h3><p class="text-gray-700 mb-3" data-v-d323dde7> We recommend starting with <strong data-v-d323dde7>1000 high-quality examples</strong> for your first fine-tuning. This is the sweet spot where most models show significant improvement. </p><ul class="list-disc list-inside text-sm text-gray-600 space-y-1" data-v-d323dde7><li data-v-d323dde7>Enough data for the model to learn patterns</li><li data-v-d323dde7>Not so much that training takes forever</li><li data-v-d323dde7> Achievable goal for beginners (create 20-30 examples per day) </li><li data-v-d323dde7>Proven minimum for meaningful fine-tuning</li></ul></div></div></div></section><section id="getting-started" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>🚀</span><h2 class="text-2xl font-bold" data-v-d323dde7>Getting Started: Your First Dataset</h2></div><div class="card" data-v-d323dde7><div class="space-y-8" data-v-d323dde7><div class="relative pl-8 border-l-2 border-blue-300" data-v-d323dde7><div class="absolute -left-3 top-0 w-6 h-6 bg-blue-500 rounded-full flex items-center justify-center text-white font-bold text-sm" data-v-d323dde7> 1 </div><h3 class="font-semibold text-xl mb-3" data-v-d323dde7>Choose Your Domain</h3><p class="text-gray-600 mb-4" data-v-d323dde7> First, decide what you want your AI to be good at. The more specific, the better. </p><div class="grid grid-cols-1 md:grid-cols-2 gap-3" data-v-d323dde7><div class="p-3 bg-red-50 rounded-lg border border-red-200" data-v-d323dde7><span class="text-red-600 font-medium" data-v-d323dde7>❌ Too Broad:</span><p class="text-sm text-gray-600 mt-1" data-v-d323dde7>"Help with everything"</p></div><div class="p-3 bg-green-50 rounded-lg border border-green-200" data-v-d323dde7><span class="text-green-600 font-medium" data-v-d323dde7>✅ Good:</span><p class="text-sm text-gray-600 mt-1" data-v-d323dde7> "Help junior developers debug React code" </p></div></div></div><div class="relative pl-8 border-l-2 border-blue-300" data-v-d323dde7><div class="absolute -left-3 top-0 w-6 h-6 bg-blue-500 rounded-full flex items-center justify-center text-white font-bold text-sm" data-v-d323dde7> 2 </div><h3 class="font-semibold text-xl mb-3" data-v-d323dde7>Collect Source Material</h3><div class="grid grid-cols-3 gap-4" data-v-d323dde7><div class="text-center p-4 bg-gray-50 rounded-lg" data-v-d323dde7><div class="text-2xl mb-2" data-v-d323dde7>💬</div><h4 class="font-medium text-sm" data-v-d323dde7>AI Conversations</h4><p class="text-xs text-gray-600" data-v-d323dde7>Use Claude, GPT, Cursor</p></div><div class="text-center p-4 bg-gray-50 rounded-lg" data-v-d323dde7><div class="text-2xl mb-2" data-v-d323dde7>📄</div><h4 class="font-medium text-sm" data-v-d323dde7>Documentation</h4><p class="text-xs text-gray-600" data-v-d323dde7>Convert docs to Q&A</p></div><div class="text-center p-4 bg-gray-50 rounded-lg" data-v-d323dde7><div class="text-2xl mb-2" data-v-d323dde7>✍️</div><h4 class="font-medium text-sm" data-v-d323dde7>Manual Creation</h4><p class="text-xs text-gray-600" data-v-d323dde7>Write from scratch</p></div></div><div class="mt-4 p-3 bg-blue-50 rounded-lg" data-v-d323dde7><p class="text-sm text-blue-800" data-v-d323dde7> 💡 <strong data-v-d323dde7>Tip:</strong> Not sure what good data looks like? Check out our `);
|
|
232
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
233
|
+
to: "/sample-datasets",
|
|
234
|
+
class: "underline hover:text-blue-600"
|
|
235
|
+
}, {
|
|
236
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
237
|
+
if (_push2) {
|
|
238
|
+
_push2(`sample datasets`);
|
|
239
|
+
} else {
|
|
240
|
+
return [
|
|
241
|
+
createTextVNode("sample datasets")
|
|
242
|
+
];
|
|
243
|
+
}
|
|
244
|
+
}),
|
|
245
|
+
_: 1
|
|
246
|
+
}, _parent));
|
|
247
|
+
_push(` with real examples you can download and study! </p></div></div><div class="relative pl-8 border-l-2 border-blue-300" data-v-d323dde7><div class="absolute -left-3 top-0 w-6 h-6 bg-blue-500 rounded-full flex items-center justify-center text-white font-bold text-sm" data-v-d323dde7> 3 </div><h3 class="font-semibold text-xl mb-3" data-v-d323dde7> Create Your First 10 Examples </h3><p class="text-gray-600 mb-4" data-v-d323dde7> Start small! Create 10 high-quality examples to get a feel for the process. </p><div class="bg-blue-50 p-4 rounded-lg" data-v-d323dde7><h4 class="font-medium text-blue-900 mb-2" data-v-d323dde7>🎯 Daily Goal</h4><p class="text-blue-800" data-v-d323dde7> Aim for <strong data-v-d323dde7>10-20 examples per day</strong>. At this pace, you'll reach 1000 examples in 2-3 months. Quality matters more than speed! </p></div></div><div class="relative pl-8 border-l-2 border-blue-300" data-v-d323dde7><div class="absolute -left-3 top-0 w-6 h-6 bg-blue-500 rounded-full flex items-center justify-center text-white font-bold text-sm" data-v-d323dde7> 4 </div><h3 class="font-semibold text-xl mb-3" data-v-d323dde7>Review and Approve</h3><p class="text-gray-600" data-v-d323dde7> Go through your examples and rate their quality. Mark low-quality ones as "Draft" or "Rejected". Only approve examples that are truly excellent (4-5 stars). </p></div><div class="relative pl-8 border-l-2 border-green-500" data-v-d323dde7><div class="absolute -left-3 top-0 w-6 h-6 bg-green-500 rounded-full flex items-center justify-center text-white font-bold text-sm" data-v-d323dde7> 5 </div><h3 class="font-semibold text-xl mb-3" data-v-d323dde7>Export and Train!</h3><p class="text-gray-600" data-v-d323dde7> Once you hit 1000 approved examples, export your dataset and start training. You're ready to create your first fine-tuned model! </p></div></div></div></section><section id="training-examples" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>📖</span><h2 class="text-2xl font-bold" data-v-d323dde7>Understanding Training Examples</h2></div><div class="card" data-v-d323dde7><h3 class="text-xl font-semibold mb-4" data-v-d323dde7>What is a Training Example?</h3><p class="text-lg mb-6" data-v-d323dde7> A training example teaches the AI a specific input-output pattern. It shows the model: <strong data-v-d323dde7>"When someone asks this, respond like this."</strong></p><div class="bg-gray-50 p-6 rounded-xl mb-6" data-v-d323dde7><h4 class="font-semibold mb-4" data-v-d323dde7>Basic Structure</h4><div class="space-y-4" data-v-d323dde7><div class="p-4 bg-white rounded-lg border-l-4 border-blue-500 shadow-sm" data-v-d323dde7><div class="text-sm text-blue-600 font-medium mb-1" data-v-d323dde7> 👤 USER (Instruction) </div><p class="text-gray-800" data-v-d323dde7> "How do I reverse a string in Python?" </p></div><div class="text-center text-gray-400" data-v-d323dde7><svg class="w-6 h-6 mx-auto" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-v-d323dde7><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 14l-7 7m0 0l-7-7m7 7V3" data-v-d323dde7></path></svg></div><div class="p-4 bg-white rounded-lg border-l-4 border-green-500 shadow-sm" data-v-d323dde7><div class="text-sm text-green-600 font-medium mb-1" data-v-d323dde7> 🤖 ASSISTANT (Output) </div><div class="font-mono text-sm bg-gray-100 p-3 rounded mt-2" data-v-d323dde7><p class="mb-2" data-v-d323dde7> You can reverse a string in Python using slicing: </p><code data-v-d323dde7>reversed_string = original_string[::-1]</code><p class="mt-2" data-v-d323dde7>For example:</p><code data-v-d323dde7>text = "Hello"<br data-v-d323dde7>print(text[::-1]) # Output: "olleH"</code></div></div></div></div><h3 class="text-xl font-semibold mb-4" data-v-d323dde7>Quality Levels</h3><div class="space-y-4" data-v-d323dde7><div class="p-4 bg-red-50 rounded-lg border border-red-200" data-v-d323dde7><div class="flex items-center gap-2 mb-2" data-v-d323dde7><span class="text-red-600 font-bold" data-v-d323dde7>⭐⭐ Poor (1-2 stars)</span></div><p class="text-sm text-gray-700 mb-2" data-v-d323dde7><strong data-v-d323dde7>Instruction:</strong> "Python help" </p><p class="text-sm text-gray-700 mb-2" data-v-d323dde7><strong data-v-d323dde7>Output:</strong> "Here's some Python code: print('hello')" </p><p class="text-sm text-red-600" data-v-d323dde7>Too vague, unhelpful, no context</p></div><div class="p-4 bg-yellow-50 rounded-lg border border-yellow-200" data-v-d323dde7><div class="flex items-center gap-2 mb-2" data-v-d323dde7><span class="text-yellow-600 font-bold" data-v-d323dde7>⭐⭐⭐ Average (3 stars)</span></div><p class="text-sm text-gray-700 mb-2" data-v-d323dde7><strong data-v-d323dde7>Instruction:</strong> "How to reverse a string" </p><p class="text-sm text-gray-700 mb-2" data-v-d323dde7><strong data-v-d323dde7>Output:</strong> "Use slicing: [::-1]" </p><p class="text-sm text-yellow-700" data-v-d323dde7> Okay, but lacks explanation and examples </p></div><div class="p-4 bg-green-50 rounded-lg border border-green-200" data-v-d323dde7><div class="flex items-center gap-2 mb-2" data-v-d323dde7><span class="text-green-600 font-bold" data-v-d323dde7>⭐⭐⭐⭐⭐ Excellent (5 stars)</span></div><p class="text-sm text-gray-700 mb-2" data-v-d323dde7><strong data-v-d323dde7>Instruction:</strong> "What's the most Pythonic way to reverse a string, and why is it better than other methods? Include time complexity." </p><p class="text-sm text-gray-700 mb-2" data-v-d323dde7><strong data-v-d323dde7>Output:</strong> Comprehensive answer with multiple methods, comparison, time complexity analysis, and code examples </p><p class="text-sm text-green-700" data-v-d323dde7> Specific, educational, thorough, best practices </p></div></div></div></section><section id="field-guide" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>📝</span><h2 class="text-2xl font-bold" data-v-d323dde7>Complete Field Guide</h2></div><div class="card mb-6" data-v-d323dde7><h3 class="text-xl font-semibold mb-6 text-blue-600" data-v-d323dde7> Core Fields (Required) </h3><div class="space-y-8" data-v-d323dde7><div class="border-l-4 border-blue-500 pl-4" data-v-d323dde7><h4 class="text-lg font-semibold mb-2 flex items-center gap-2" data-v-d323dde7> 🎯 Instruction <span class="text-xs bg-red-100 text-red-700 px-2 py-0.5 rounded" data-v-d323dde7>Required</span></h4><p class="text-gray-600 mb-3" data-v-d323dde7> The main question or task. This is what the user will type to get a response from your model. </p><div class="grid grid-cols-1 md:grid-cols-2 gap-3" data-v-d323dde7><div class="bg-green-50 p-3 rounded-lg" data-v-d323dde7><p class="text-sm text-green-800 font-medium mb-2" data-v-d323dde7>✅ Good:</p><p class="text-sm text-gray-700" data-v-d323dde7> "Explain how React's useEffect hook works, including the dependency array, cleanup functions, and common pitfalls to avoid. Provide code examples for each concept." </p></div><div class="bg-red-50 p-3 rounded-lg" data-v-d323dde7><p class="text-sm text-red-800 font-medium mb-2" data-v-d323dde7>❌ Bad:</p><p class="text-sm text-gray-700" data-v-d323dde7>"React help"</p></div></div><div class="mt-3 text-sm bg-blue-50 p-3 rounded" data-v-d323dde7><strong data-v-d323dde7>💡 Pro Tips:</strong><ul class="list-disc list-inside mt-1 space-y-1" data-v-d323dde7><li data-v-d323dde7>Be specific about what you want</li><li data-v-d323dde7>Use natural language like a real user would</li><li data-v-d323dde7>Length: 50-500 characters is ideal</li><li data-v-d323dde7>Include context if needed</li></ul></div></div><div class="border-l-4 border-green-500 pl-4" data-v-d323dde7><h4 class="text-lg font-semibold mb-2 flex items-center gap-2" data-v-d323dde7> 📝 Output / Response <span class="text-xs bg-red-100 text-red-700 px-2 py-0.5 rounded" data-v-d323dde7>Required</span></h4><p class="text-gray-600 mb-3" data-v-d323dde7> The ideal AI response. This is what you want the model to learn to produce. Make it as good as you want your AI to be. </p><div class="bg-green-50 p-4 rounded-lg" data-v-d323dde7><p class="text-sm text-green-800 font-medium mb-2" data-v-d323dde7> ✅ What Makes Good Output: </p><ul class="list-disc list-inside text-sm text-gray-700 space-y-1" data-v-d323dde7><li data-v-d323dde7><strong data-v-d323dde7>Directly answers</strong> the instruction completely </li><li data-v-d323dde7><strong data-v-d323dde7>Well-structured</strong> - uses formatting, lists, code blocks </li><li data-v-d323dde7><strong data-v-d323dde7>Accurate</strong> - factually correct information </li><li data-v-d323dde7><strong data-v-d323dde7>Includes examples</strong> - shows, don't just tell </li><li data-v-d323dde7><strong data-v-d323dde7>Explains reasoning</strong> - helps user understand why </li><li data-v-d323dde7><strong data-v-d323dde7>Appropriate tone</strong> - matches your desired style </li></ul></div></div></div></div><div class="card" data-v-d323dde7><h3 class="text-xl font-semibold mb-6 text-purple-600" data-v-d323dde7> Metadata Fields </h3><div class="grid grid-cols-1 md:grid-cols-2 gap-6" data-v-d323dde7><div class="border-l-4 border-purple-400 pl-4" data-v-d323dde7><h4 class="font-semibold mb-2" data-v-d323dde7>🎭 System Prompt</h4><p class="text-gray-600 text-sm mb-3" data-v-d323dde7> Defines the AI's personality, role, and behavior. Think of it as the "character sheet" for your AI. </p><div class="bg-purple-50 p-3 rounded text-sm" data-v-d323dde7><strong data-v-d323dde7>Example:</strong><br data-v-d323dde7> "You are a patient senior software engineer who mentors junior developers. Explain concepts clearly, use analogies, and always provide code examples." </div></div><div class="border-l-4 border-purple-400 pl-4" data-v-d323dde7><h4 class="font-semibold mb-2" data-v-d323dde7>🏷️ Category</h4><p class="text-gray-600 text-sm mb-3" data-v-d323dde7> Organizes your dataset into topics. </p><div class="flex flex-wrap gap-1 text-xs" data-v-d323dde7><span class="px-2 py-1 bg-gray-100 rounded" data-v-d323dde7>Coding</span><span class="px-2 py-1 bg-gray-100 rounded" data-v-d323dde7>Explanation</span><span class="px-2 py-1 bg-gray-100 rounded" data-v-d323dde7>Analysis</span><span class="px-2 py-1 bg-gray-100 rounded" data-v-d323dde7>Writing</span><span class="px-2 py-1 bg-gray-100 rounded" data-v-d323dde7>Math</span><span class="px-2 py-1 bg-gray-100 rounded" data-v-d323dde7>Science</span><span class="px-2 py-1 bg-gray-100 rounded" data-v-d323dde7>General</span></div></div><div class="border-l-4 border-purple-400 pl-4" data-v-d323dde7><h4 class="font-semibold mb-2" data-v-d323dde7>📊 Difficulty</h4><p class="text-gray-600 text-sm mb-3" data-v-d323dde7>Tracks complexity level.</p><div class="space-y-1 text-sm" data-v-d323dde7><div class="flex items-center gap-2" data-v-d323dde7><span class="w-3 h-3 bg-green-400 rounded-full" data-v-d323dde7></span><span data-v-d323dde7><strong data-v-d323dde7>Beginner</strong> - Basic concepts</span></div><div class="flex items-center gap-2" data-v-d323dde7><span class="w-3 h-3 bg-yellow-400 rounded-full" data-v-d323dde7></span><span data-v-d323dde7><strong data-v-d323dde7>Intermediate</strong> - Practical applications</span></div><div class="flex items-center gap-2" data-v-d323dde7><span class="w-3 h-3 bg-red-400 rounded-full" data-v-d323dde7></span><span data-v-d323dde7><strong data-v-d323dde7>Advanced</strong> - Complex reasoning</span></div></div></div><div class="border-l-4 border-purple-400 pl-4" data-v-d323dde7><h4 class="font-semibold mb-2" data-v-d323dde7>⭐ Quality Rating</h4><p class="text-gray-600 text-sm mb-2" data-v-d323dde7> Your assessment (1-5 stars) </p><div class="space-y-1 text-xs" data-v-d323dde7><div data-v-d323dde7>⭐⭐⭐⭐⭐ = Excellent - Perfect for training</div><div data-v-d323dde7>⭐⭐⭐⭐ = Very Good - Solid example</div><div data-v-d323dde7>⭐⭐⭐ = Good - Acceptable, could improve</div><div data-v-d323dde7>⭐⭐ = Fair - Needs major revision</div><div data-v-d323dde7>⭐ = Poor - Don't use for training</div></div></div></div></div></section><section id="best-practices" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>⭐</span><h2 class="text-2xl font-bold" data-v-d323dde7>Best Practices & Expert Tips</h2></div><div class="grid grid-cols-1 md:grid-cols-2 gap-4" data-v-d323dde7><!--[-->`);
|
|
248
|
+
ssrRenderList(bestPractices, (tip, idx) => {
|
|
249
|
+
_push(`<div class="card" data-v-d323dde7><div class="flex items-start gap-3" data-v-d323dde7><div class="${ssrRenderClass([tip.color, "flex-shrink-0 w-8 h-8 rounded-full flex items-center justify-center text-white font-bold text-sm"])}" data-v-d323dde7>${ssrInterpolate(idx + 1)}</div><div data-v-d323dde7><h3 class="font-semibold mb-1" data-v-d323dde7>${ssrInterpolate(tip.title)}</h3><p class="text-sm text-gray-600" data-v-d323dde7>${ssrInterpolate(tip.description)}</p></div></div></div>`);
|
|
250
|
+
});
|
|
251
|
+
_push(`<!--]--></div></section><section id="common-mistakes" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>⚠️</span><h2 class="text-2xl font-bold" data-v-d323dde7>Common Mistakes to Avoid</h2></div><div class="space-y-4" data-v-d323dde7><!--[-->`);
|
|
252
|
+
ssrRenderList(commonMistakes, (mistake, idx) => {
|
|
253
|
+
_push(`<div class="card border-l-4 border-red-400" data-v-d323dde7><h3 class="font-semibold text-lg mb-2 text-red-700" data-v-d323dde7> ❌ ${ssrInterpolate(mistake.title)}</h3><p class="text-gray-600 mb-3" data-v-d323dde7>${ssrInterpolate(mistake.description)}</p><div class="bg-green-50 p-3 rounded text-sm" data-v-d323dde7><strong data-v-d323dde7>✅ Instead:</strong> ${ssrInterpolate(mistake.solution)}</div></div>`);
|
|
254
|
+
});
|
|
255
|
+
_push(`<!--]--></div></section><section id="real-examples" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>💡</span><h2 class="text-2xl font-bold" data-v-d323dde7>Real-World Examples</h2></div><div class="card mb-6" data-v-d323dde7><div class="flex items-center justify-between mb-4" data-v-d323dde7><div class="flex items-center gap-2" data-v-d323dde7><span class="text-2xl" data-v-d323dde7>💻</span><h3 class="text-xl font-semibold" data-v-d323dde7>Example: React Error Handling</h3></div><div class="flex gap-2" data-v-d323dde7><span class="px-2 py-1 bg-blue-100 text-blue-700 text-xs rounded" data-v-d323dde7>Coding</span><span class="px-2 py-1 bg-green-100 text-green-700 text-xs rounded" data-v-d323dde7>⭐⭐⭐⭐⭐</span><span class="px-2 py-1 bg-purple-100 text-purple-700 text-xs rounded" data-v-d323dde7>Intermediate</span></div></div><div class="space-y-3" data-v-d323dde7><div class="p-3 bg-blue-50 rounded-lg" data-v-d323dde7><div class="text-sm text-blue-800 font-medium mb-1" data-v-d323dde7> 🎯 Instruction: </div><p class="text-sm text-gray-700" data-v-d323dde7> "I'm getting 'TypeError: Cannot read property map of undefined' in React. How do I properly handle this?" </p></div><div class="p-3 bg-gray-50 rounded-lg" data-v-d323dde7><div class="text-sm text-gray-800 font-medium mb-1" data-v-d323dde7>📎 Input:</div><pre class="text-xs bg-gray-100 p-2 rounded overflow-x-auto" data-v-d323dde7><code data-v-d323dde7>{users.map(user => <div key={user.id}>{user.name}</div>)}</code></pre></div><div class="p-3 bg-green-50 rounded-lg" data-v-d323dde7><div class="text-sm text-green-800 font-medium mb-1" data-v-d323dde7> 📝 Output: </div><div class="text-xs text-gray-700 space-y-2" data-v-d323dde7><p data-v-d323dde7> This happens when <code data-v-d323dde7>users</code> is undefined. Here are 3 solutions: </p><p data-v-d323dde7><strong data-v-d323dde7>1. Default value:</strong> <code data-v-d323dde7>{users = []}</code></p><p data-v-d323dde7><strong data-v-d323dde7>2. Conditional:</strong> Check if users exists before mapping </p><p data-v-d323dde7><strong data-v-d323dde7>3. Optional chaining:</strong><code data-v-d323dde7>{users?.map(...)}</code></p></div></div></div></div><div class="card" data-v-d323dde7><h3 class="font-semibold mb-3" data-v-d323dde7>🎓 What Makes Great Examples?</h3><div class="grid grid-cols-2 md:grid-cols-3 gap-3 text-sm" data-v-d323dde7><div class="p-2 bg-green-50 rounded" data-v-d323dde7>✅ Clear instructions</div><div class="p-2 bg-green-50 rounded" data-v-d323dde7>✅ Complete outputs</div><div class="p-2 bg-green-50 rounded" data-v-d323dde7>✅ Code examples</div><div class="p-2 bg-green-50 rounded" data-v-d323dde7>✅ Educational value</div><div class="p-2 bg-green-50 rounded" data-v-d323dde7>✅ Practical application</div><div class="p-2 bg-green-50 rounded" data-v-d323dde7>✅ Proper metadata</div></div></div></section><section id="faq" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>❓</span><h2 class="text-2xl font-bold" data-v-d323dde7>Frequently Asked Questions</h2></div><div class="space-y-4" data-v-d323dde7><!--[-->`);
|
|
256
|
+
ssrRenderList(faqs, (faq, idx) => {
|
|
257
|
+
_push(`<div class="card" data-v-d323dde7><h3 class="font-semibold text-lg mb-2 text-blue-700" data-v-d323dde7>${ssrInterpolate(faq.question)}</h3><p class="text-gray-600 text-sm" data-v-d323dde7>${faq.answer ?? ""}</p></div>`);
|
|
258
|
+
});
|
|
259
|
+
_push(`<!--]--></div></section><section id="glossary" class="mb-16" data-v-d323dde7><div class="flex items-center gap-3 mb-6" data-v-d323dde7><span class="text-3xl" data-v-d323dde7>📖</span><h2 class="text-2xl font-bold" data-v-d323dde7>Glossary</h2></div><div class="card" data-v-d323dde7><p class="text-gray-600 mb-4 text-sm" data-v-d323dde7> Click any term to learn more about it in detail. </p><div class="grid grid-cols-1 md:grid-cols-2 gap-x-8 gap-y-3 text-sm" data-v-d323dde7><!--[-->`);
|
|
260
|
+
ssrRenderList(glossary, (term, idx) => {
|
|
261
|
+
_push(`<div class="group" data-v-d323dde7>`);
|
|
262
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
263
|
+
to: `/help/glossary?term=${term.id}`,
|
|
264
|
+
class: "block hover:bg-gray-50 p-2 rounded-lg transition-colors"
|
|
265
|
+
}, {
|
|
266
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
267
|
+
if (_push2) {
|
|
268
|
+
_push2(`<h3 class="font-semibold text-blue-700 group-hover:text-blue-800 flex items-center gap-2" data-v-d323dde7${_scopeId}>${ssrInterpolate(term.word)} <svg class="w-4 h-4 opacity-0 group-hover:opacity-100 transition-opacity" fill="none" stroke="currentColor" viewBox="0 0 24 24" data-v-d323dde7${_scopeId}><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 5l7 7-7 7" data-v-d323dde7${_scopeId}></path></svg></h3><p class="text-gray-600" data-v-d323dde7${_scopeId}>${ssrInterpolate(term.definition)}</p>`);
|
|
269
|
+
} else {
|
|
270
|
+
return [
|
|
271
|
+
createVNode("h3", { class: "font-semibold text-blue-700 group-hover:text-blue-800 flex items-center gap-2" }, [
|
|
272
|
+
createTextVNode(toDisplayString(term.word) + " ", 1),
|
|
273
|
+
(openBlock(), createBlock("svg", {
|
|
274
|
+
class: "w-4 h-4 opacity-0 group-hover:opacity-100 transition-opacity",
|
|
275
|
+
fill: "none",
|
|
276
|
+
stroke: "currentColor",
|
|
277
|
+
viewBox: "0 0 24 24"
|
|
278
|
+
}, [
|
|
279
|
+
createVNode("path", {
|
|
280
|
+
"stroke-linecap": "round",
|
|
281
|
+
"stroke-linejoin": "round",
|
|
282
|
+
"stroke-width": "2",
|
|
283
|
+
d: "M9 5l7 7-7 7"
|
|
284
|
+
})
|
|
285
|
+
]))
|
|
286
|
+
]),
|
|
287
|
+
createVNode("p", { class: "text-gray-600" }, toDisplayString(term.definition), 1)
|
|
288
|
+
];
|
|
289
|
+
}
|
|
290
|
+
}),
|
|
291
|
+
_: 2
|
|
292
|
+
}, _parent));
|
|
293
|
+
_push(`</div>`);
|
|
294
|
+
});
|
|
295
|
+
_push(`<!--]--></div></div></section><section id="next-steps" class="mb-12" data-v-d323dde7><div class="card bg-gradient-to-br from-blue-50 to-purple-50" data-v-d323dde7><div class="text-center mb-6" data-v-d323dde7><div class="text-5xl mb-4" data-v-d323dde7>🚀</div><h2 class="text-2xl font-bold mb-2" data-v-d323dde7>Ready to Start Your Journey?</h2><p class="text-gray-600" data-v-d323dde7> You've learned everything you need. Now it's time to build your first dataset! </p></div><div class="grid grid-cols-1 md:grid-cols-3 gap-4" data-v-d323dde7>`);
|
|
296
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
297
|
+
to: "/examples/new",
|
|
298
|
+
class: "p-6 bg-white rounded-xl hover:shadow-lg transition-shadow text-center"
|
|
299
|
+
}, {
|
|
300
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
301
|
+
if (_push2) {
|
|
302
|
+
_push2(`<div class="text-3xl mb-3" data-v-d323dde7${_scopeId}>✏️</div><h3 class="font-semibold text-lg mb-1" data-v-d323dde7${_scopeId}>Create Example</h3><p class="text-sm text-gray-600" data-v-d323dde7${_scopeId}> Start with your first training example </p>`);
|
|
303
|
+
} else {
|
|
304
|
+
return [
|
|
305
|
+
createVNode("div", { class: "text-3xl mb-3" }, "✏️"),
|
|
306
|
+
createVNode("h3", { class: "font-semibold text-lg mb-1" }, "Create Example"),
|
|
307
|
+
createVNode("p", { class: "text-sm text-gray-600" }, " Start with your first training example ")
|
|
308
|
+
];
|
|
309
|
+
}
|
|
310
|
+
}),
|
|
311
|
+
_: 1
|
|
312
|
+
}, _parent));
|
|
313
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
314
|
+
to: "/import",
|
|
315
|
+
class: "p-6 bg-white rounded-xl hover:shadow-lg transition-shadow text-center"
|
|
316
|
+
}, {
|
|
317
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
318
|
+
if (_push2) {
|
|
319
|
+
_push2(`<div class="text-3xl mb-3" data-v-d323dde7${_scopeId}>📥</div><h3 class="font-semibold text-lg mb-1" data-v-d323dde7${_scopeId}>Import</h3><p class="text-sm text-gray-600" data-v-d323dde7${_scopeId}> Import from Claude, Cursor, or OpenCode </p>`);
|
|
320
|
+
} else {
|
|
321
|
+
return [
|
|
322
|
+
createVNode("div", { class: "text-3xl mb-3" }, "📥"),
|
|
323
|
+
createVNode("h3", { class: "font-semibold text-lg mb-1" }, "Import"),
|
|
324
|
+
createVNode("p", { class: "text-sm text-gray-600" }, " Import from Claude, Cursor, or OpenCode ")
|
|
325
|
+
];
|
|
326
|
+
}
|
|
327
|
+
}),
|
|
328
|
+
_: 1
|
|
329
|
+
}, _parent));
|
|
330
|
+
_push(ssrRenderComponent(_component_NuxtLink, {
|
|
331
|
+
to: "/examples",
|
|
332
|
+
class: "p-6 bg-white rounded-xl hover:shadow-lg transition-shadow text-center"
|
|
333
|
+
}, {
|
|
334
|
+
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
335
|
+
if (_push2) {
|
|
336
|
+
_push2(`<div class="text-3xl mb-3" data-v-d323dde7${_scopeId}>📊</div><h3 class="font-semibold text-lg mb-1" data-v-d323dde7${_scopeId}>View Dataset</h3><p class="text-sm text-gray-600" data-v-d323dde7${_scopeId}>Track your progress to 1000</p>`);
|
|
337
|
+
} else {
|
|
338
|
+
return [
|
|
339
|
+
createVNode("div", { class: "text-3xl mb-3" }, "📊"),
|
|
340
|
+
createVNode("h3", { class: "font-semibold text-lg mb-1" }, "View Dataset"),
|
|
341
|
+
createVNode("p", { class: "text-sm text-gray-600" }, "Track your progress to 1000")
|
|
342
|
+
];
|
|
343
|
+
}
|
|
344
|
+
}),
|
|
345
|
+
_: 1
|
|
346
|
+
}, _parent));
|
|
347
|
+
_push(`</div></div></section><div class="text-center py-8 text-gray-500 text-sm" data-v-d323dde7><p data-v-d323dde7>🎓 edukaAI - Learn LLM fine-tuning by building datasets</p><p class="mt-2" data-v-d323dde7> "The best way to learn is by doing. Start creating today!" </p></div></div>`);
|
|
348
|
+
};
|
|
349
|
+
}
|
|
350
|
+
};
|
|
351
|
+
const _sfc_setup = _sfc_main.setup;
|
|
352
|
+
_sfc_main.setup = (props, ctx) => {
|
|
353
|
+
const ssrContext = useSSRContext();
|
|
354
|
+
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/help/index.vue");
|
|
355
|
+
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
356
|
+
};
|
|
357
|
+
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d323dde7"]]);
|
|
358
|
+
|
|
359
|
+
export { index as default };
|
|
360
|
+
//# sourceMappingURL=index-DgKa1cy0.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-DgKa1cy0.mjs","sources":["../../../../node_modules/.cache/nuxt/.nuxt/dist/server/_nuxt/index-DgKa1cy0.js"],"names":[],"mappings":"","x_google_ignoreList":[0]}
|