Adapt pre-trained models to specific domains through automated dataset creation and training.
Fine-tuning adapts pre-trained models to specific domains or tasks through specialized training. SeekrFlow automates dataset creation, manages training workflows, and deploys fine-tuned models as custom endpoints.
Fine-tuning UI guide
Create and manage fine-tuning jobs through the SeekrFlow web interface.
Fine-tuning SDK guide
Create and manage fine-tuning jobs programmatically with the Python SDK.
The fine-tuning process adjusts model parameters by training on structured question-and-answer pairs. Models learn from examples that demonstrate desired behaviors, domain knowledge, and specific output patterns. The training produces specialized models with deeper expertise while retaining general capabilities from the base model.
Standard approach that trains models on question-and-answer pairs aligned to task-specific instructions. Embeds domain knowledge directly into model parameters.
Embedding proprietary knowledge, customizing behavior and tone, optimizing for demonstrated tasks
Deprecated (sunset November 9, 2026). Training approach that teaches models to access and retrieve information from external knowledge bases during inference. Maintains accuracy with frequently changing information.
Dynamic information that requires real-time updates, maintaining current data without retraining
Teaches the model to judge its own outputs using a reward function that scores generated responses against reference answers, rather than directly imitating target responses.
Low-rank adaptation (LoRA) is a parameter-efficient optimization technique that can be applied to any of the fine-tuning methods above. Rather than updating all model weights during training, LoRA trains small adapter modules, enabling faster training with lower compute costs while preserving base model knowledge. LoRA can be used with instruction fine-tuning, reinforcement tuning, or preference tuning to reduce resource requirements and speed up iteration cycles.
Vision language tuning extends fine-tuning to models that process both images and text. The training workflow is the same as text-only fine-tuning — the difference is in the input data and model selection. Currently, SeekrFlow supports instruction fine-tuning of vision-language models with the same SDK primitives as text-only training.
Fine-tuning requires structured training datasets with question-and-answer pairs. SeekrFlow’s data engine automates the creation of training-ready datasets from raw source files, generating examples that demonstrate desired model behaviors and domain knowledge.Learn more: AI-ready data
Fine-tuned models are deployed as custom model endpoints. Once active, fine-tuned models can be used in agents, inference workflows, or any application requiring specialized model behavior.
Last modified on October 27, 2026
⌘I
{"docsConfig":{"theme":"linden","$schema":"https://mintlify.com/docs.json","name":"Seekr Documentation","colors":{"primary":"#007774","light":"#00DAD3","dark":"#007774"},"logo":{"light":"https://mintcdn.com/seekr/xCjyiASvtfX59CGv/logo/light.svg?fit=max\u0026auto=format\u0026n=xCjyiASvtfX59CGv\u0026q=85\u0026s=5631304b029d4cfaefb138711ec30bd9","dark":"https://mintcdn.com/seekr/xCjyiASvtfX59CGv/logo/dark.svg?fit=max\u0026auto=format\u0026n=xCjyiASvtfX59CGv\u0026q=85\u0026s=5757dbcccbf86fd9503b6b579ffeabbe","href":"/"},"favicon":"https://mintcdn.com/seekr/xCjyiASvtfX59CGv/favicon.png?fit=max\u0026auto=format\u0026n=xCjyiASvtfX59CGv\u0026q=85\u0026s=7d7b7568b4fc9d19a790b3f0b5c28d87","appearance":{"default":"system"},"background":{"color":{"light":"#F7F7F7","dark":"#101010"}},"navbar":{"links":[{"href":"https://apps.seekr.com/signup?_gl=1*1t0lzvp*_gcl_au*MjY4NjQ1Mzg3LjE3ODEyNDExMjU.","label":"Get started"}],"primary":{"type":"button","label":"Request a demo","href":"https://www.seekr.com/request-a-demo/"}},"footer":{"socials":{"youtube":"https://www.youtube.com/@seekrtechnologies","x":"https://x.com/seekrtechnology","linkedin":"https://www.linkedin.com/company/seekrtechnologies"}},"seo":{"metatags":{"google-site-verification":"RDMpUYE1uCSa_-TiRs1E4lMyGuAOUVkzmji5t4kVsEM","canonical":"https://docs.seekr.com"}},"fonts":{"heading":{"family":"Geist"},"body":{"family":"Geist"}},"styling":{"eyebrows":"breadcrumbs","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"thumbnails":{"appearance":"dark","background":"https://mintcdn.com/seekr/-zCoynlpxo7UthaS/images/og-background.png?fit=max\u0026auto=format\u0026n=-zCoynlpxo7UthaS\u0026q=85\u0026s=b40b0a1967ede7eaf3cdc61d29d8a437"},"interaction":{"drilldown":false},"metadata":{"timestamp":true},"navigation":{"global":{"tabs":[{"tab":"Self-managed","icon":"server","href":"/self-managed/flow"}],"anchors":[{"anchor":"About us","icon":"circle-info","href":"https://www.seekr.com/about/"},{"anchor":"Contact us","icon":"headset","href":"https://www.seekr.com/contact-us/"},{"anchor":"Blog","icon":"newspaper","href":"https://www.seekr.com/resource-center/?type=blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"seekr","hasAudioNarration":false,"actualSubdomain":"seekr","customDomains":["docs.seekr.com"],"gitSource":{"type":"github","owner":"seekr-technologies","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":false,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb4faa1f0e0ab891cd9f26","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"SeekrFlow","count":260},{"language":"default","tag":"Developer","count":184},{"language":"default","tag":"API Reference","count":149},{"language":"default","tag":"Endpoints","count":147},{"language":"default","tag":"Guides","count":50},{"language":"default","tag":"SDK","count":35},{"language":"default","tag":"SeekrFlow SDK","count":35},{"language":"default","tag":"Agents","count":29},{"language":"default","tag":"Self-managed","count":29},{"language":"default","tag":"Deployment guides","count":27}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"print.css","content":"@media print{#navbar,#sidebar,#table-of-contents,#pagination,#banner,#footer,footer,advanced-footer,.contextual-feedback-container{display:none!important}.card,.card *{border:none!important;box-shadow:none!important;background:none!important;border-radius:0!important;ring:none!important}card-group,columns{display:block!important}callout{border-left:2px solid #000!important;background:none!important;padding:0.25rem 0.5rem!important}#content-area{width:100%!important;max-width:100%!important;margin:0!important;padding:0!important}code-block{page-break-inside:avoid}step{page-break-inside:avoid}}"},{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 600;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\ntable code{white-space:nowrap}.font-mono,code,kbd,samp,pre,pre code{font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace!important}.prose :not(pre)>code{font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace!important;padding-left:0.2em!important;padding-right:0.2em!important;background-color:rgba(65, 68, 71, 0.08)!important}.dark .prose :not(pre)>code{background-color:rgba(255, 255, 255, 0.10)!important}.eyebrow{color:#D03722!important;font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace!important;text-transform:uppercase!important;font-weight:600!important}.dark .eyebrow{color:#E2513D!important}.breadcrumb-item,.breadcrumb-item a,.breadcrumb-item svg{color:#D03722!important;font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace!important;text-transform:uppercase!important;font-weight:600!important}.dark .breadcrumb-item,.dark .breadcrumb-item a,.dark .breadcrumb-item svg{color:#E2513D!important}.breadcrumb-item svg{opacity:0.55!important}.breadcrumb-item a:hover{color:#A82B1B!important}.dark .breadcrumb-item a:hover{color:#F2705C!important}.card{background-color:#FFFFFF!important;border-color:#D5D6D7!important}.dark .card{background-color:#272628!important;border-color:#414447!important}.code-group{background-color:#FFFFFF!important;border-color:#D5D6D7!important}.code-block-background{background-color:#FFFFFF!important}.code-group .code-block-background{background-color:#F7F7F7!important}.dark .code-group{background-color:#272628!important;border-color:#414447!important}.dark .code-block-background{background-color:#272628!important}.prose{color:#101010!important}.dark .prose{color:#FFFFFF!important}.prose h1,.prose h2,.prose h3,.prose h4,.prose h5,.prose h6,.prose strong,.prose b,.prose th{color:#101010!important}.dark .prose h1,.dark .prose h2,.dark .prose h3,.dark .prose h4,.dark .prose h5,.dark .prose h6,.dark .prose strong,.dark .prose b,.dark .prose th{color:#FFFFFF!important}.prose-gray{--tw-prose-bullets: #101010 !important;--tw-prose-counters: #101010 !important}.dark .prose-gray{--tw-prose-bullets: #FFFFFF !important;--tw-prose-counters: #FFFFFF !important}.prose :is(p,li,td,th,dd,blockquote,h1,h2,h3,h4,h5,h6) a,.prose :is(p,li,td,th,dd,blockquote,h1,h2,h3,h4,h5,h6) a *{color:#007774!important}.dark .prose :is(p,li,td,th,dd,blockquote,h1,h2,h3,h4,h5,h6) a,.dark .prose :is(p,li,td,th,dd,blockquote,h1,h2,h3,h4,h5,h6) a *{color:#00DAD3!important}[data-component-part=\"step-number\"] .rounded-full{background-color:transparent!important;border:2px solid #D5D6D7!important;border-radius:9999px!important;color:#101010!important;font-family:\"Geist Mono\", ui-monospace, SFMono-Regular, Menlo, monospace!important}[data-component-part=\"step-number\"] .rounded-full *{color:#101010!important}.dark [data-component-part=\"step-number\"] .rounded-full{border-color:#414447!important;color:#FFFFFF!important}.dark [data-component-part=\"step-number\"] .rounded-full *{color:#FFFFFF!important}[data-component-part=\"step-line\"]{background-image:linear-gradient(to bottom, #D5D6D7, #D5D6D7 80%, transparent)!important}.dark [data-component-part=\"step-line\"]{background-image:linear-gradient(to bottom, #414447, #414447 80%, transparent)!important}.callout [data-component-part=\"callout-content\"]{color:#101010!important}.dark .callout [data-component-part=\"callout-content\"]{color:#FFFFFF!important}.callout[data-callout-type=\"info\"]{background-color:rgba(65, 68, 71, 0.06)!important;border-color:#D5D6D7!important}[data-callout-type=\"info\"] [data-component-part=\"callout-icon\"] svg{color:#414447!important}.dark .callout[data-callout-type=\"info\"]{background-color:rgba(255, 255, 255, 0.05)!important;border-color:#595C5F!important}.dark [data-callout-type=\"info\"] [data-component-part=\"callout-icon\"] svg{color:#D5D6D7!important}.callout[data-callout-type=\"tip\"]{background-color:#E9FFF5!important;border-color:#79EEB7!important}[data-callout-type=\"tip\"] [data-component-part=\"callout-icon\"] svg{color:#269B63!important}.dark .callout[data-callout-type=\"tip\"]{background-color:rgba(38, 155, 99, 0.20)!important;border-color:#269B63!important}.dark [data-callout-type=\"tip\"] [data-component-part=\"callout-icon\"] svg{color:#3FD78F!important}.callout[data-callout-type=\"note\"]{background-color:#E0EFFF!important;border-color:#8CC6FF!important}[data-callout-type=\"note\"] [data-component-part=\"callout-icon\"] svg{color:#0B5EB8!important}.dark .callout[data-callout-type=\"note\"]{background-color:rgba(11, 94, 184, 0.20)!important;border-color:#0B5EB8!important}.dark [data-callout-type=\"note\"] [data-component-part=\"callout-icon\"] svg{color:#44B4FF!important}.callout[data-callout-type=\"warning\"]{background-color:#FFF7E8!important;border-color:#FFC369!important}[data-callout-type=\"warning\"] [data-component-part=\"callout-icon\"] svg{color:#E18F0D!important}.dark .callout[data-callout-type=\"warning\"]{background-color:rgba(225, 143, 13, 0.20)!important;border-color:#E18F0D!important}.dark [data-callout-type=\"warning\"] [data-component-part=\"callout-icon\"] svg{color:#FFBA4B!important}.callout[data-callout-type=\"danger\"]{background-color:#FFF2F2!important;border-color:#FF7077!important}[data-callout-type=\"danger\"] [data-component-part=\"callout-icon\"] svg{color:#D30214!important}.dark .callout[data-callout-type=\"danger\"]{background-color:rgba(211, 2, 20, 0.20)!important;border-color:#D30214!important}.dark [data-callout-type=\"danger\"] [data-component-part=\"callout-icon\"] svg{color:#FF7077!important}svg[id^=\"mermaid-\"] .node rect,svg[id^=\"mermaid-\"] .node polygon,svg[id^=\"mermaid-\"] .node circle,svg[id^=\"mermaid-\"] .node path{fill:#FFFFFF!important;stroke:#007774!important}.dark svg[id^=\"mermaid-\"] .node rect,.dark svg[id^=\"mermaid-\"] .node polygon,.dark svg[id^=\"mermaid-\"] .node circle,.dark svg[id^=\"mermaid-\"] .node path{fill:#272628!important;stroke:#00DAD3!important}svg[id^=\"mermaid-\"] .nodeLabel,svg[id^=\"mermaid-\"] .node .label,svg[id^=\"mermaid-\"] .node text{color:#101010!important;fill:#101010!important}.dark svg[id^=\"mermaid-\"] .nodeLabel,.dark svg[id^=\"mermaid-\"] .node .label,.dark svg[id^=\"mermaid-\"] .node text{color:#FFFFFF!important;fill:#FFFFFF!important}svg[id^=\"mermaid-\"] .flowchart-link,svg[id^=\"mermaid-\"] .edgePath .path{stroke:#414447!important}svg[id^=\"mermaid-\"] .marker,svg[id^=\"mermaid-\"] marker path{fill:#414447!important;stroke:#414447!important}.dark svg[id^=\"mermaid-\"] .flowchart-link,.dark svg[id^=\"mermaid-\"] .edgePath .path{stroke:#595C5F!important}.dark svg[id^=\"mermaid-\"] .marker,.dark svg[id^=\"mermaid-\"] marker path{fill:#595C5F!important;stroke:#595C5F!important}svg[id^=\"mermaid-\"] .edgeLabel,svg[id^=\"mermaid-\"] .edgeLabel p{color:#101010!important;background-color:#F7F7F7!important}svg[id^=\"mermaid-\"] .edgeLabel rect{fill:#F7F7F7!important;opacity:1!important}.dark svg[id^=\"mermaid-\"] .edgeLabel,.dark svg[id^=\"mermaid-\"] .edgeLabel p{color:#FFFFFF!important;background-color:#101010!important}.dark svg[id^=\"mermaid-\"] .edgeLabel rect{fill:#101010!important}html[data-current-path=\"/\"] .nav-tabs,html[data-current-path=\"/\"] [data-component-part=\"products-selector-trigger\"]{display:none!important}html[data-current-path^=\"/self-managed\"] .nav-tabs .nav-tabs-item[href=\"/self-managed/flow\"]:last-child{display:none!important}div:has(>[data-component-part=\"version-select-trigger\"]){order:1!important}"}],"page":{"pagePath":"flow/components/fine-tuning","slug":"/flow/components/fine-tuning","pageMetadata":{"title":"Fine-tuning","description":"Adapt pre-trained models to specific domains through automated dataset creation and training.","href":"/flow/components/fine-tuning"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Adapt pre-trained models to specific domains through automated dataset creation and training.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const SupportedOn=({ui=false,api=true,sdk=true,sdkVersion=null})=>{const{Icon}=_provideComponents()||{};if(!Icon)_missingMdxReference(`Icon`,true);return _jsxs(`div`,{className:`not-prose`,children:[_jsxs(`div`,{className:`mint-inline-flex mint-flex-wrap mint-items-center mint-gap-x-5 mint-gap-y-2 mint-px-4 mint-py-2.5 mint-rounded-lg mint-border mint-border-[#00dad3] mint-bg-[#00dad3]/10 mint-text-sm`,children:[_jsx(`span`,{className:`mint-font-bold mint-text-black dark:mint-text-white mint-whitespace-nowrap`,children:`Supported on`}),_jsxs(`div`,{className:`mint-flex mint-items-center mint-gap-5`,children:[_jsxs(`span`,{className:`mint-inline-flex mint-items-center mint-gap-1.5 mint-font-semibold mint-text-black dark:mint-text-white`,children:[_jsx(Icon,{icon:ui?`circle-check`:`circle-xmark`,color:ui?`#00dad3`:`#9ca3af`,size:16}),`UI`]}),_jsxs(`span`,{className:`mint-inline-flex mint-items-center mint-gap-1.5 mint-font-semibold mint-text-black dark:mint-text-white`,children:[_jsx(Icon,{icon:api?`circle-check`:`circle-xmark`,color:api?`#00dad3`:`#9ca3af`,size:16}),`API`]}),_jsxs(`span`,{className:`mint-inline-flex mint-items-center mint-gap-1.5 mint-font-semibold mint-text-black dark:mint-text-white`,children:[_jsx(Icon,{icon:sdk?`circle-check`:`circle-xmark`,color:sdk?`#00dad3`:`#9ca3af`,size:16}),`SDK`]})]})]}),sdk\u0026\u0026sdkVersion\u0026\u0026_jsxs(`div`,{className:`mint-mt-1.5 mint-text-xs mint-text-black/60 dark:mint-text-white/60`,children:[`Requires seekrai `,sdkVersion]})]})};function _createMdxContent(props){const _components={a:`a`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,Table,_MdxComponentBoundary}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`SupportedOn`,children:_jsx(SupportedOn,{ui:true,api:true,sdk:true})}),`\n`,_jsx(_components.p,{children:`Fine-tuning adapts pre-trained models to specific domains or tasks through specialized training. SeekrFlow automates dataset creation, manages training workflows, and deploys fine-tuned models as custom endpoints.`}),`\n`,_jsxs(CardGroup,{children:[_jsx(Card,{title:`Fine-tuning UI guide`,icon:`grid`,href:`/flow/app/fine-tuning`,children:_jsx(_components.p,{children:`Create and manage fine-tuning jobs through the SeekrFlow web interface.`})}),_jsx(Card,{title:`Fine-tuning SDK guide`,icon:`code`,href:`/flow/sdk/fine-tuning`,children:_jsx(_components.p,{children:`Create and manage fine-tuning jobs programmatically with the Python SDK.`})})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-fine-tuning-works`,children:`How fine-tuning works`}),`\n`,_jsx(_components.p,{children:`The fine-tuning process adjusts model parameters by training on structured question-and-answer pairs. Models learn from examples that demonstrate desired behaviors, domain knowledge, and specific output patterns. The training produces specialized models with deeper expertise while retaining general capabilities from the base model.`}),`\n`,_jsx(Heading,{level:`2`,id:`when-to-use-fine-tuning`,children:`When to use fine-tuning`}),`\n`,_jsx(_components.p,{children:`Fine-tuning provides value when:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Working with proprietary or sensitive information not in base model training data.`}),`\n`,_jsx(_components.li,{children:`Requiring specific output formats, styles, or tones.`}),`\n`,_jsx(_components.li,{children:`Optimizing for tasks more easily demonstrated than described.`}),`\n`,_jsx(_components.li,{children:`Improving accuracy on domain-specific terminology or concepts.`}),`\n`,_jsx(_components.li,{children:`Reducing costs by using smaller specialized models.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`fine-tuning-methods`,children:`Fine-tuning methods`}),`\n`,_jsx(_components.p,{children:`SeekrFlow supports multiple fine-tuning approaches:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Method`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Best for`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/flow/components/fine-tuning/instruction-fine-tuning`,children:`Instruction fine-tuning`})}),_jsx(_components.td,{children:`Standard approach that trains models on question-and-answer pairs aligned to task-specific instructions. Embeds domain knowledge directly into model parameters.`}),_jsx(_components.td,{children:`Embedding proprietary knowledge, customizing behavior and tone, optimizing for demonstrated tasks`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/flow/components/fine-tuning/context-grounded-fine-tuning`,children:`Context-grounded fine-tuning`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Deprecated (sunset November 9, 2026).`}),` Training approach that teaches models to access and retrieve information from external knowledge bases during inference. Maintains accuracy with frequently changing information.`]}),_jsx(_components.td,{children:`Dynamic information that requires real-time updates, maintaining current data without retraining`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/flow/components/fine-tuning/grpo`,children:`Reinforcement tuning (GRPO)`})}),_jsx(_components.td,{children:`Teaches the model to judge its own outputs using a reward function that scores generated responses against reference answers, rather than directly imitating target responses.`}),_jsx(_components.td,{children:`Improving response quality, aligning outputs with brand voice, reducing unwanted behaviors`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.a,{href:`/flow/components/fine-tuning/preference-tuning`,children:`Preference tuning (DPO)`})}),_jsx(_components.td,{children:`Learns directly from comparisons between preferred and dispreferred responses, without requiring reference answers or reward functions.`}),_jsx(_components.td,{children:`Aligning outputs with subjective quality criteria, organizational standards, human feedback`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`method-comparison`,children:`Method comparison`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Best for`}),_jsx(_components.th,{children:`Knowledge location`}),_jsx(_components.th,{children:`Update mechanism`}),_jsx(_components.th,{children:`Retrieval required`}),_jsx(_components.th,{children:`Training data`}),_jsx(_components.th,{children:`Training cost`}),_jsx(_components.th,{children:`Iteration speed`}),_jsx(_components.th,{children:`Artifact size`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Instruction`})}),_jsx(_components.td,{children:`Static domain knowledge`}),_jsx(_components.td,{children:`Model parameters`}),_jsx(_components.td,{children:`Retrain model`}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`QA pairs`}),_jsx(_components.td,{children:`High (full)`}),_jsx(_components.td,{children:`Slow`}),_jsx(_components.td,{children:`Large (full model)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Context-grounded`})}),_jsx(_components.td,{children:`Dynamic information`}),_jsx(_components.td,{children:`External knowledge base`}),_jsx(_components.td,{children:`Update knowledge base`}),_jsx(_components.td,{children:`Yes`}),_jsx(_components.td,{children:`QA pairs + knowledge base`}),_jsx(_components.td,{children:`High (full)`}),_jsx(_components.td,{children:`Slow`}),_jsx(_components.td,{children:`Large (full model)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Reinforcement tuning`})}),_jsx(_components.td,{children:`Quality alignment (verifiable)`}),_jsx(_components.td,{children:`Model parameters`}),_jsx(_components.td,{children:`Retrain model`}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Prompts + reference answers`}),_jsx(_components.td,{children:`High (full)`}),_jsx(_components.td,{children:`Slow`}),_jsx(_components.td,{children:`Large (full model)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Preference tuning`})}),_jsx(_components.td,{children:`Quality alignment (subjective)`}),_jsx(_components.td,{children:`Model parameters`}),_jsx(_components.td,{children:`Retrain model`}),_jsx(_components.td,{children:`No`}),_jsx(_components.td,{children:`Preferred/rejected response pairs`}),_jsx(_components.td,{children:`High (full)`}),_jsx(_components.td,{children:`Slow`}),_jsx(_components.td,{children:`Large (full model)`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`recommended-approach`,children:`Recommended approach`}),`\n`,_jsx(_components.p,{children:`Most fine-tuning projects should:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Start with LoRA + instruction fine-tuning as the default approach.`}),`\n`,_jsx(_components.li,{children:`Use reinforcement tuning or preference tuning when quality alignment is needed.`}),`\n`,_jsx(_components.li,{children:`Consider full fine-tuning only after LoRA experiments show it’s necessary.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`These recommendations balance training efficiency with model quality while minimizing upfront investment.`}),`\n`,_jsx(Heading,{level:`2`,id:`low-rank-adaptation-lora`,children:`Low-rank adaptation (LoRA)`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/flow/components/fine-tuning/lora`,children:`Low-rank adaptation (LoRA)`}),` is a parameter-efficient optimization technique that can be applied to any of the fine-tuning methods above. Rather than updating all model weights during training, LoRA trains small adapter modules, enabling faster training with lower compute costs while preserving base model knowledge. LoRA can be used with instruction fine-tuning, reinforcement tuning, or preference tuning to reduce resource requirements and speed up iteration cycles.`]}),`\n`,_jsx(Heading,{level:`2`,id:`vision-language-tuning`,children:`Vision language tuning`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.a,{href:`/flow/components/fine-tuning/vision-language-tuning`,children:`Vision language tuning`}),` extends fine-tuning to models that process both images and text. The training workflow is the same as text-only fine-tuning — the difference is in the input data and model selection. Currently, SeekrFlow supports instruction fine-tuning of vision-language models with the same SDK primitives as text-only training.`]}),`\n`,_jsx(Heading,{level:`2`,id:`dataset-preparation`,children:`Dataset preparation`}),`\n`,_jsx(_components.p,{children:`Fine-tuning requires structured training datasets with question-and-answer pairs. SeekrFlow’s data engine automates the creation of training-ready datasets from raw source files, generating examples that demonstrate desired model behaviors and domain knowledge.`}),`\n`,_jsxs(_components.p,{children:[`Learn more: `,_jsx(_components.a,{href:`/flow/components/data-engine/ai-ready-data`,children:`AI-ready data`})]}),`\n`,_jsx(Heading,{level:`2`,id:`model-deployment`,children:`Model deployment`}),`\n`,_jsx(_components.p,{children:`Fine-tuned models are deployed as custom model endpoints. Once active, fine-tuned models can be used in agents, inference workflows, or any application requiring specialized model behavior.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{SupportedOn,default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Fine-tuning","description":"Adapt pre-trained models to specific domains through automated dataset creation and training.","href":"/flow/components/fine-tuning"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[147,1634,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"How fine-tuning works","slug":"how-fine-tuning-works","depth":2,"children":[]},{"title":"When to use fine-tuning","slug":"when-to-use-fine-tuning","depth":2,"children":[]},{"title":"Fine-tuning methods","slug":"fine-tuning-methods","depth":2,"children":[]},{"title":"Method comparison","slug":"method-comparison","depth":2,"children":[]},{"title":"Recommended approach","slug":"recommended-approach","depth":2,"children":[]},{"title":"Low-rank adaptation (LoRA)","slug":"low-rank-adaptation-lora","depth":2,"children":[]},{"title":"Vision language tuning","slug":"vision-language-tuning","depth":2,"children":[]},{"title":"Dataset preparation","slug":"dataset-preparation","depth":2,"children":[]},{"title":"Model deployment","slug":"model-deployment","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-mt-1\\.5 {\n margin-top: 0.375rem\n}\n.mint-flex {\n display: flex\n}\n.mint-inline-flex {\n display: inline-flex\n}\n.mint-flex-wrap {\n flex-wrap: wrap\n}\n.mint-items-center {\n align-items: center\n}\n.mint-gap-1\\.5 {\n gap: 0.375rem\n}\n.mint-gap-5 {\n gap: 1.25rem\n}\n.mint-gap-x-5 {\n column-gap: 1.25rem\n}\n.mint-gap-y-2 {\n row-gap: 0.5rem\n}\n.mint-whitespace-nowrap {\n white-space: nowrap\n}\n.mint-rounded-lg {\n border-radius: 0.5rem\n}\n.mint-border {\n border-width: 1px\n}\n.mint-border-\\[\\#00dad3\\] {\n --tw-border-opacity: 1;\n border-color: rgb(0 218 211 / var(--tw-border-opacity, 1))\n}\n.mint-bg-\\[\\#00dad3\\]\\/10 {\n background-color: rgb(0 218 211 / 0.1)\n}\n.mint-px-4 {\n padding-left: 1rem;\n padding-right: 1rem\n}\n.mint-py-2\\.5 {\n padding-top: 0.625rem;\n padding-bottom: 0.625rem\n}\n.mint-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n.mint-text-xs {\n font-size: 0.75rem;\n line-height: 1rem\n}\n.mint-font-bold {\n font-weight: 700\n}\n.mint-font-semibold {\n font-weight: 600\n}\n.mint-text-black {\n --tw-text-opacity: 1;\n color: rgb(0 0 0 / var(--tw-text-opacity, 1))\n}\n.mint-text-black\\/60 {\n color: rgb(0 0 0 / 0.6)\n}\n.dark\\:mint-text-white:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(255 255 255 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-white\\/60:is(.dark *) {\n color: rgb(255 255 255 / 0.6)\n}","subdomain":"seekr","siteName":"Seekr Documentation","title":"Fine-tuning - Seekr Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-27T19:56:03.578Z","gitLastModified":"2026-10-27T19:55:48.000Z","originalFileLocation":"flow/components/fine-tuning.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Adapt pre-trained models to specific domains through automated dataset creation and training.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Seekr Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Fine-tuning - Seekr Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Adapt pre-trained models to specific domains through automated dataset creation and training.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Seekr Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.seekr.com/flow/components/fine-tuning\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://seekr.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Fine-tuning\u0026amp;description=Adapt+pre-trained+models+to+specific+domains+through+automated+dataset+creation+and+training.\u0026amp;theme=005cf4e0d79661173c99c723\u0026amp;signature=e747041773eef5b9d9b07aab993b05f5819b63811d20cfaf1842f712095acae7\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Fine-tuning - Seekr Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Adapt pre-trained models to specific domains through automated dataset creation and training.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://seekr.mintlify.site/_mintlify/api/og/v2?division=Documentation\u0026amp;title=Fine-tuning\u0026amp;description=Adapt+pre-trained+models+to+specific+domains+through+automated+dataset+creation+and+training.\u0026amp;theme=005cf4e0d79661173c99c723\u0026amp;signature=e747041773eef5b9d9b07aab993b05f5819b63811d20cfaf1842f712095acae7\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/seekr/stRf9o-EBn2ru4KI/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Seekr Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#007774\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"RDMpUYE1uCSa_-TiRs1E4lMyGuAOUVkzmji5t4kVsEM\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.seekr.com/flow/components/fine-tuning\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/flow/components/fine-tuning.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.seekr.com/#organization\",\"name\":\"Seekr Documentation\",\"url\":\"https://docs.seekr.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/seekr/xCjyiASvtfX59CGv/logo/light.svg?fit=max\u0026auto=format\u0026n=xCjyiASvtfX59CGv\u0026q=85\u0026s=5631304b029d4cfaefb138711ec30bd9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.seekr.com#website\",\"name\":\"Seekr Documentation\",\"url\":\"https://docs.seekr.com\",\"publisher\":{\"@id\":\"https://docs.seekr.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.seekr.com/flow/components/fine-tuning#webpage\",\"url\":\"https://docs.seekr.com/flow/components/fine-tuning\",\"name\":\"Fine-tuning\",\"description\":\"Adapt pre-trained models to specific domains through automated dataset creation and training.\",\"dateModified\":\"2026-10-27T19:55:48.000Z\",\"isPartOf\":{\"@id\":\"https://docs.seekr.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.seekr.com/flow/components/fine-tuning#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.seekr.com/flow/components/fine-tuning#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SeekrFlow Overview\",\"item\":\"https://docs.seekr.com/flow/what-is-seekrflow\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Components\",\"item\":\"https://docs.seekr.com/flow/components\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Fine-tuning\",\"item\":\"https://docs.seekr.com/flow/components/fine-tuning\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.seekr.com/flow/components/fine-tuning#article\",\"headline\":\"Fine-tuning\",\"name\":\"Fine-tuning\",\"description\":\"Adapt pre-trained models to specific domains through automated dataset creation and training.\",\"url\":\"https://docs.seekr.com/flow/components/fine-tuning\",\"mainEntityOfPage\":{\"@id\":\"https://docs.seekr.com/flow/components/fine-tuning#webpage\"},\"dateModified\":\"2026-10-27T19:55:48.000Z\",\"publisher\":{\"@id\":\"https://docs.seekr.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.seekr.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Seekr Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Seekr Documentation","nav":{"global":{"tabs":[{"tab":"Self-managed","icon":"server","href":"/self-managed/flow"}],"anchors":[{"anchor":"About us","icon":"circle-info","href":"https://www.seekr.com/about/"},{"anchor":"Contact us","icon":"headset","href":"https://www.seekr.com/contact-us/"},{"anchor":"Blog","icon":"newspaper","href":"https://www.seekr.com/resource-center/?type=blog"}]},"products":[{"product":"SeekrFlow","icon":"circle-nodes","description":"Build, tune, and deploy enterprise AI agents","tabs":[{"tab":"Guides","icon":"book-open","groups":[{"group":"SeekrFlow Overview","pages":[{"title":"What is SeekrFlow","href":"/flow/what-is-seekrflow"},{"group":"Components","root":{"title":"Components","href":"/flow/components"},"pages":[{"group":"Models","root":{"title":"Models","href":"/flow/components/models"},"pages":[{"title":"Generative models","href":"/flow/components/models/generative-models"},{"title":"Embedding models","href":"/flow/components/models/embedding-models"}]},{"group":"Agents","root":{"title":"Agents","href":"/flow/components/agents"},"pages":[{"title":"Tools","href":"/flow/components/agents/tools"}]},{"group":"Data engine","root":{"title":"Data engine","href":"/flow/components/data-engine"},"pages":[{"title":"Storage","href":"/flow/components/data-engine/storage"},{"title":"AI-ready data","description":"Generate structured training datasets from raw content for model fine-tuning.","href":"/flow/components/data-engine/ai-ready-data"}]},{"group":"Fine-tuning","root":{"title":"Fine-tuning","href":"/flow/components/fine-tuning"},"pages":[{"title":"Instruction fine-tuning","description":"Train models on question-and-answer pairs to embed domain knowledge directly into model parameters.","href":"/flow/components/fine-tuning/instruction-fine-tuning"},{"title":"Context-grounded fine-tuning","description":"Train models to access and retrieve information from external knowledge bases during inference.","href":"/flow/components/fine-tuning/context-grounded-fine-tuning"},{"title":"Reinforcement tuning (GRPO)","description":"Uses reward functions to reinforce models toward higher-quality responses.","href":"/flow/components/fine-tuning/grpo"},{"title":"Preference tuning (DPO)","description":"Align model outputs with human preferences by learning directly from response comparisons.","href":"/flow/components/fine-tuning/preference-tuning"},{"title":"Low-rank adaptation (LoRA)","description":"Parameter-efficient fine-tuning method that trains small adapter modules instead of all model weights.","href":"/flow/components/fine-tuning/lora"},{"title":"Vision language tuning","description":"Fine-tune vision-language models that reason across both images and text.","href":"/flow/components/fine-tuning/vision-language-tuning"}]},{"title":"Deployments","href":"/flow/components/deployments"},{"group":"Explainability","root":{"title":"Explainability","href":"/flow/components/explainability"},"pages":[{"title":"Context attribution","href":"/flow/components/explainability/context-attribution"},{"title":"Training data attribution","href":"/flow/components/explainability/training-data-attribution"},{"title":"Source tracing","href":"/flow/components/explainability/source-tracing"}]},{"title":"Content moderation","href":"/flow/components/content-moderation"},{"title":"Observability","href":"/flow/components/observability"}]},{"title":"Role-based access control","href":"/flow/role-based-access-control"},{"title":"Use cases","href":"/flow/use-case-identification"}]},{"group":"SeekrFlow App","pages":[{"title":"Access SeekrFlow","href":"/flow/app/access-seekrflow"},{"title":"Manage permissions","href":"/flow/app/manage-permissions"},{"title":"Dashboard","href":"/flow/app/dashboard"},{"group":"Agent Builder","root":{"title":"Agent Builder","href":"/flow/app/agent-builder"},"pages":[{"group":"Agents","root":{"title":"Agents","href":"/flow/app/agents"},"pages":[{"title":"Create an agent","href":"/flow/app/create-an-agent"},{"title":"Manage agents","href":"/flow/app/manage-agents"}]},{"group":"Tool Library","root":{"title":"Tool Library","href":"/flow/app/tool-library"},"pages":[{"title":"Create a tool","href":"/flow/app/create-a-tool"},{"title":"Manage tools","href":"/flow/app/manage-tools"}]}]},{"group":"Data Engine","root":{"title":"Data Engine","href":"/flow/app/data-engine"},"pages":[{"title":"AI-Ready Data","href":"/flow/app/ai-ready-data"},{"group":"Storage","root":{"title":"Storage","href":"/flow/app/storage"},"pages":[{"title":"File Storage","href":"/flow/app/file-storage"},{"title":"Vector Stores","href":"/flow/app/vector-stores"}]}]},{"group":"Model Development","root":{"title":"Model Development","href":"/flow/app/model-development"},"pages":[{"title":"Fine-Tuning","href":"/flow/app/fine-tuning"},{"title":"Deployments","href":"/flow/app/deployments"},{"title":"Model Library","href":"/flow/app/model-library"}]},{"group":"Playground","root":{"title":"Playground","href":"/flow/app/playground"},"pages":[{"title":"Test a model","href":"/flow/app/test-a-model"},{"title":"Chat with an agent","href":"/flow/app/chat-with-an-agent"},{"title":"Understand a response","href":"/flow/app/understand-a-response"}]}]},{"group":"SeekrFlow MCP Server","pages":[{"title":"Connect to MCP Server","href":"/flow/mcp"}]}]},{"tab":"Developer","icon":"code","menu":[{"item":"SDK","icon":"cube","pages":[{"title":"SDK","href":"/flow/sdk/getting-started"}]},{"item":"API Reference","icon":"terminal","pages":[{"title":"API Reference","href":"/flow/reference/getting-started-with-your-api"}]}],"pages":[{"title":"Developer","href":"/flow/sdk/getting-started"}]},{"tab":"Recipes","icon":"flask","pages":[{"title":"Recipes","href":"/flow/recipes"}]},{"tab":"Release notes","icon":"bullhorn","pages":[{"title":"Release notes","href":"/flow/changelog/2026"}]}]},{"product":"SeekrGuard","icon":"shield-halved","description":"Evaluate AI models for safety, quality, and risk","pages":[{"title":"SeekrGuard","href":"/guard/what-is-seekrguard"}]},{"product":"Self-managed","icon":"server","description":"Deploy and operate the Seekr platform in your own environment","pages":[{"title":"Self-managed","href":"/self-managed/flow"}]}]},"basePath":"","title":"Fine-tuning - Seekr Documentation","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":[],"chunks":[]}