@synsci/cli-darwin-x64-baseline 1.1.71 → 1.1.73
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/bin/skills/citation-management/SKILL.md +1109 -0
- package/bin/skills/citation-management/assets/bibtex_template.bib +264 -0
- package/bin/skills/citation-management/assets/citation_checklist.md +386 -0
- package/bin/skills/citation-management/references/bibtex_formatting.md +908 -0
- package/bin/skills/citation-management/references/citation_validation.md +794 -0
- package/bin/skills/citation-management/references/google_scholar_search.md +725 -0
- package/bin/skills/citation-management/references/metadata_extraction.md +870 -0
- package/bin/skills/citation-management/references/pubmed_search.md +839 -0
- package/bin/skills/citation-management/scripts/doi_to_bibtex.py +182 -0
- package/bin/skills/citation-management/scripts/extract_metadata.py +570 -0
- package/bin/skills/citation-management/scripts/format_bibtex.py +349 -0
- package/bin/skills/citation-management/scripts/search_google_scholar.py +251 -0
- package/bin/skills/citation-management/scripts/search_pubmed.py +348 -0
- package/bin/skills/citation-management/scripts/validate_citations.py +494 -0
- package/bin/skills/clinical-decision-support/README.md +129 -0
- package/bin/skills/clinical-decision-support/SKILL.md +506 -0
- package/bin/skills/clinical-decision-support/assets/biomarker_report_template.tex +380 -0
- package/bin/skills/clinical-decision-support/assets/clinical_pathway_template.tex +222 -0
- package/bin/skills/clinical-decision-support/assets/cohort_analysis_template.tex +359 -0
- package/bin/skills/clinical-decision-support/assets/color_schemes.tex +149 -0
- package/bin/skills/clinical-decision-support/assets/example_gbm_cohort.md +208 -0
- package/bin/skills/clinical-decision-support/assets/recommendation_strength_guide.md +328 -0
- package/bin/skills/clinical-decision-support/assets/treatment_recommendation_template.tex +529 -0
- package/bin/skills/clinical-decision-support/references/biomarker_classification.md +719 -0
- package/bin/skills/clinical-decision-support/references/clinical_decision_algorithms.md +604 -0
- package/bin/skills/clinical-decision-support/references/evidence_synthesis.md +840 -0
- package/bin/skills/clinical-decision-support/references/outcome_analysis.md +640 -0
- package/bin/skills/clinical-decision-support/references/patient_cohort_analysis.md +427 -0
- package/bin/skills/clinical-decision-support/references/treatment_recommendations.md +521 -0
- package/bin/skills/clinical-decision-support/scripts/biomarker_classifier.py +383 -0
- package/bin/skills/clinical-decision-support/scripts/build_decision_tree.py +417 -0
- package/bin/skills/clinical-decision-support/scripts/create_cohort_tables.py +509 -0
- package/bin/skills/clinical-decision-support/scripts/generate_survival_analysis.py +441 -0
- package/bin/skills/clinical-decision-support/scripts/validate_cds_document.py +326 -0
- package/bin/skills/clinical-reports/IMPLEMENTATION_SUMMARY.md +641 -0
- package/bin/skills/clinical-reports/README.md +236 -0
- package/bin/skills/clinical-reports/SKILL.md +1127 -0
- package/bin/skills/clinical-reports/assets/case_report_template.md +352 -0
- package/bin/skills/clinical-reports/assets/clinical_trial_csr_template.md +353 -0
- package/bin/skills/clinical-reports/assets/clinical_trial_sae_template.md +359 -0
- package/bin/skills/clinical-reports/assets/consult_note_template.md +305 -0
- package/bin/skills/clinical-reports/assets/discharge_summary_template.md +453 -0
- package/bin/skills/clinical-reports/assets/hipaa_compliance_checklist.md +395 -0
- package/bin/skills/clinical-reports/assets/history_physical_template.md +305 -0
- package/bin/skills/clinical-reports/assets/lab_report_template.md +309 -0
- package/bin/skills/clinical-reports/assets/pathology_report_template.md +249 -0
- package/bin/skills/clinical-reports/assets/quality_checklist.md +338 -0
- package/bin/skills/clinical-reports/assets/radiology_report_template.md +318 -0
- package/bin/skills/clinical-reports/assets/soap_note_template.md +253 -0
- package/bin/skills/clinical-reports/references/case_report_guidelines.md +570 -0
- package/bin/skills/clinical-reports/references/clinical_trial_reporting.md +693 -0
- package/bin/skills/clinical-reports/references/data_presentation.md +530 -0
- package/bin/skills/clinical-reports/references/diagnostic_reports_standards.md +629 -0
- package/bin/skills/clinical-reports/references/medical_terminology.md +588 -0
- package/bin/skills/clinical-reports/references/patient_documentation.md +744 -0
- package/bin/skills/clinical-reports/references/peer_review_standards.md +585 -0
- package/bin/skills/clinical-reports/references/regulatory_compliance.md +577 -0
- package/bin/skills/clinical-reports/scripts/check_deidentification.py +332 -0
- package/bin/skills/clinical-reports/scripts/compliance_checker.py +78 -0
- package/bin/skills/clinical-reports/scripts/extract_clinical_data.py +97 -0
- package/bin/skills/clinical-reports/scripts/format_adverse_events.py +97 -0
- package/bin/skills/clinical-reports/scripts/generate_report_template.py +149 -0
- package/bin/skills/clinical-reports/scripts/terminology_validator.py +126 -0
- package/bin/skills/clinical-reports/scripts/validate_case_report.py +323 -0
- package/bin/skills/clinical-reports/scripts/validate_trial_report.py +88 -0
- package/bin/skills/fireworks-ai/SKILL.md +665 -0
- package/bin/skills/generate-image/SKILL.md +178 -0
- package/bin/skills/generate-image/scripts/generate_image.py +254 -0
- package/bin/skills/groq/SKILL.md +347 -0
- package/bin/skills/hypothesis-generation/SKILL.md +293 -0
- package/bin/skills/hypothesis-generation/assets/FORMATTING_GUIDE.md +672 -0
- package/bin/skills/hypothesis-generation/assets/hypothesis_generation.sty +307 -0
- package/bin/skills/hypothesis-generation/assets/hypothesis_report_template.tex +572 -0
- package/bin/skills/hypothesis-generation/references/experimental_design_patterns.md +329 -0
- package/bin/skills/hypothesis-generation/references/hypothesis_quality_criteria.md +198 -0
- package/bin/skills/hypothesis-generation/references/literature_search_strategies.md +622 -0
- package/bin/skills/latex-posters/README.md +417 -0
- package/bin/skills/latex-posters/SKILL.md +1602 -0
- package/bin/skills/latex-posters/assets/baposter_template.tex +257 -0
- package/bin/skills/latex-posters/assets/beamerposter_template.tex +244 -0
- package/bin/skills/latex-posters/assets/poster_quality_checklist.md +358 -0
- package/bin/skills/latex-posters/assets/tikzposter_template.tex +251 -0
- package/bin/skills/latex-posters/references/latex_poster_packages.md +745 -0
- package/bin/skills/latex-posters/references/poster_content_guide.md +748 -0
- package/bin/skills/latex-posters/references/poster_design_principles.md +806 -0
- package/bin/skills/latex-posters/references/poster_layout_design.md +900 -0
- package/bin/skills/latex-posters/scripts/review_poster.sh +214 -0
- package/bin/skills/literature-review/SKILL.md +641 -0
- package/bin/skills/literature-review/assets/review_template.md +412 -0
- package/bin/skills/literature-review/references/citation_styles.md +166 -0
- package/bin/skills/literature-review/references/database_strategies.md +455 -0
- package/bin/skills/literature-review/scripts/generate_pdf.py +184 -0
- package/bin/skills/literature-review/scripts/search_databases.py +310 -0
- package/bin/skills/literature-review/scripts/verify_citations.py +218 -0
- package/bin/skills/market-research-reports/SKILL.md +904 -0
- package/bin/skills/market-research-reports/assets/FORMATTING_GUIDE.md +428 -0
- package/bin/skills/market-research-reports/assets/market_report_template.tex +1380 -0
- package/bin/skills/market-research-reports/assets/market_research.sty +564 -0
- package/bin/skills/market-research-reports/references/data_analysis_patterns.md +548 -0
- package/bin/skills/market-research-reports/references/report_structure_guide.md +999 -0
- package/bin/skills/market-research-reports/references/visual_generation_guide.md +1077 -0
- package/bin/skills/market-research-reports/scripts/generate_market_visuals.py +472 -0
- package/bin/skills/markitdown/INSTALLATION_GUIDE.md +318 -0
- package/bin/skills/markitdown/LICENSE.txt +22 -0
- package/bin/skills/markitdown/OPENROUTER_INTEGRATION.md +359 -0
- package/bin/skills/markitdown/QUICK_REFERENCE.md +309 -0
- package/bin/skills/markitdown/README.md +184 -0
- package/bin/skills/markitdown/SKILL.md +486 -0
- package/bin/skills/markitdown/SKILL_SUMMARY.md +307 -0
- package/bin/skills/markitdown/assets/example_usage.md +463 -0
- package/bin/skills/markitdown/references/api_reference.md +399 -0
- package/bin/skills/markitdown/references/file_formats.md +542 -0
- package/bin/skills/markitdown/scripts/batch_convert.py +195 -0
- package/bin/skills/markitdown/scripts/convert_literature.py +262 -0
- package/bin/skills/markitdown/scripts/convert_with_ai.py +224 -0
- package/bin/skills/ml-paper-writing/SKILL.md +937 -0
- package/bin/skills/ml-paper-writing/references/checklists.md +361 -0
- package/bin/skills/ml-paper-writing/references/citation-workflow.md +562 -0
- package/bin/skills/ml-paper-writing/references/reviewer-guidelines.md +367 -0
- package/bin/skills/ml-paper-writing/references/sources.md +159 -0
- package/bin/skills/ml-paper-writing/references/writing-guide.md +476 -0
- package/bin/skills/ml-paper-writing/templates/README.md +251 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/README.md +534 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026-unified-supp.tex +144 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026-unified-template.tex +952 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.bib +111 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.bst +1493 -0
- package/bin/skills/ml-paper-writing/templates/aaai2026/aaai2026.sty +315 -0
- package/bin/skills/ml-paper-writing/templates/acl/README.md +50 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl.sty +312 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_latex.tex +377 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_lualatex.tex +101 -0
- package/bin/skills/ml-paper-writing/templates/acl/acl_natbib.bst +1940 -0
- package/bin/skills/ml-paper-writing/templates/acl/anthology.bib.txt +26 -0
- package/bin/skills/ml-paper-writing/templates/acl/custom.bib +70 -0
- package/bin/skills/ml-paper-writing/templates/acl/formatting.md +326 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/README.md +3 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.bib +11 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.bst +1440 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.sty +218 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/colm2025_conference.tex +305 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/fancyhdr.sty +485 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/math_commands.tex +508 -0
- package/bin/skills/ml-paper-writing/templates/colm2025/natbib.sty +1246 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/fancyhdr.sty +485 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.bib +24 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.bst +1440 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.sty +246 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/iclr2026_conference.tex +414 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/math_commands.tex +508 -0
- package/bin/skills/ml-paper-writing/templates/iclr2026/natbib.sty +1246 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/algorithm.sty +79 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/algorithmic.sty +201 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.bib +75 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/example_paper.tex +662 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/fancyhdr.sty +864 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml2026.bst +1443 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml2026.sty +767 -0
- package/bin/skills/ml-paper-writing/templates/icml2026/icml_numpapers.pdf +0 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/Makefile +36 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/extra_pkgs.tex +53 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/main.tex +38 -0
- package/bin/skills/ml-paper-writing/templates/neurips2025/neurips.sty +382 -0
- package/bin/skills/paper-2-web/SKILL.md +491 -0
- package/bin/skills/paper-2-web/references/installation.md +141 -0
- package/bin/skills/paper-2-web/references/paper2poster.md +346 -0
- package/bin/skills/paper-2-web/references/paper2video.md +305 -0
- package/bin/skills/paper-2-web/references/paper2web.md +187 -0
- package/bin/skills/paper-2-web/references/usage_examples.md +436 -0
- package/bin/skills/peer-review/SKILL.md +702 -0
- package/bin/skills/peer-review/references/calibration_guidelines.md +196 -0
- package/bin/skills/peer-review/references/common_issues.md +552 -0
- package/bin/skills/peer-review/references/paper_mechanics.md +269 -0
- package/bin/skills/peer-review/references/reporting_standards.md +290 -0
- package/bin/skills/peer-review/references/scoring_rubric.md +239 -0
- package/bin/skills/pptx-posters/SKILL.md +410 -0
- package/bin/skills/pptx-posters/assets/poster_html_template.html +257 -0
- package/bin/skills/pptx-posters/assets/poster_quality_checklist.md +358 -0
- package/bin/skills/pptx-posters/references/poster_content_guide.md +748 -0
- package/bin/skills/pptx-posters/references/poster_design_principles.md +806 -0
- package/bin/skills/pptx-posters/references/poster_layout_design.md +900 -0
- package/bin/skills/research-grants/README.md +285 -0
- package/bin/skills/research-grants/SKILL.md +938 -0
- package/bin/skills/research-grants/assets/budget_justification_template.md +453 -0
- package/bin/skills/research-grants/assets/nih_specific_aims_template.md +166 -0
- package/bin/skills/research-grants/assets/nsf_project_summary_template.md +92 -0
- package/bin/skills/research-grants/references/broader_impacts.md +392 -0
- package/bin/skills/research-grants/references/darpa_guidelines.md +636 -0
- package/bin/skills/research-grants/references/doe_guidelines.md +586 -0
- package/bin/skills/research-grants/references/nih_guidelines.md +851 -0
- package/bin/skills/research-grants/references/nsf_guidelines.md +570 -0
- package/bin/skills/research-grants/references/specific_aims_guide.md +458 -0
- package/bin/skills/research-lookup/README.md +156 -0
- package/bin/skills/research-lookup/SKILL.md +606 -0
- package/bin/skills/research-lookup/examples.py +174 -0
- package/bin/skills/research-lookup/lookup.py +187 -0
- package/bin/skills/research-lookup/research_lookup.py +483 -0
- package/bin/skills/research-lookup/scripts/research_lookup.py +483 -0
- package/bin/skills/scholar-evaluation/SKILL.md +289 -0
- package/bin/skills/scholar-evaluation/references/evaluation_framework.md +663 -0
- package/bin/skills/scholar-evaluation/scripts/calculate_scores.py +366 -0
- package/bin/skills/scientific-critical-thinking/SKILL.md +566 -0
- package/bin/skills/scientific-critical-thinking/references/common_biases.md +364 -0
- package/bin/skills/scientific-critical-thinking/references/evidence_hierarchy.md +484 -0
- package/bin/skills/scientific-critical-thinking/references/experimental_design.md +496 -0
- package/bin/skills/scientific-critical-thinking/references/logical_fallacies.md +478 -0
- package/bin/skills/scientific-critical-thinking/references/scientific_method.md +169 -0
- package/bin/skills/scientific-critical-thinking/references/statistical_pitfalls.md +506 -0
- package/bin/skills/scientific-schematics/QUICK_REFERENCE.md +207 -0
- package/bin/skills/scientific-schematics/README.md +327 -0
- package/bin/skills/scientific-schematics/SKILL.md +615 -0
- package/bin/skills/scientific-schematics/example_usage.sh +89 -0
- package/bin/skills/scientific-schematics/references/best_practices.md +559 -0
- package/bin/skills/scientific-schematics/scripts/generate_schematic.py +135 -0
- package/bin/skills/scientific-schematics/scripts/generate_schematic_ai.py +807 -0
- package/bin/skills/scientific-schematics/test_ai_generation.py +243 -0
- package/bin/skills/scientific-slides/SKILL.md +942 -0
- package/bin/skills/scientific-slides/assets/timing_guidelines.md +597 -0
- package/bin/skills/scientific-slides/references/data_visualization_slides.md +708 -0
- package/bin/skills/scientific-slides/references/presentation_structure.md +642 -0
- package/bin/skills/scientific-slides/references/slide_design_principles.md +849 -0
- package/bin/skills/scientific-slides/references/talk_types_guide.md +687 -0
- package/bin/skills/scientific-slides/references/visual_review_workflow.md +775 -0
- package/bin/skills/scientific-slides/scripts/generate_slide_image.py +143 -0
- package/bin/skills/scientific-slides/scripts/generate_slide_image_ai.py +748 -0
- package/bin/skills/scientific-slides/scripts/pdf_to_images.py +201 -0
- package/bin/skills/scientific-slides/scripts/slides_to_pdf.py +220 -0
- package/bin/skills/scientific-slides/scripts/validate_presentation.py +367 -0
- package/bin/skills/scientific-writing/SKILL.md +714 -0
- package/bin/skills/scientific-writing/assets/REPORT_FORMATTING_GUIDE.md +574 -0
- package/bin/skills/scientific-writing/assets/scientific_report.sty +606 -0
- package/bin/skills/scientific-writing/assets/scientific_report_template.tex +449 -0
- package/bin/skills/scientific-writing/references/citation_styles.md +720 -0
- package/bin/skills/scientific-writing/references/figures_tables.md +806 -0
- package/bin/skills/scientific-writing/references/imrad_structure.md +686 -0
- package/bin/skills/scientific-writing/references/professional_report_formatting.md +664 -0
- package/bin/skills/scientific-writing/references/reporting_guidelines.md +748 -0
- package/bin/skills/scientific-writing/references/writing_principles.md +824 -0
- package/bin/skills/tinker/SKILL.md +2 -3
- package/bin/skills/together-ai/SKILL.md +722 -0
- package/bin/skills/treatment-plans/README.md +488 -0
- package/bin/skills/treatment-plans/SKILL.md +1579 -0
- package/bin/skills/treatment-plans/assets/STYLING_QUICK_REFERENCE.md +185 -0
- package/bin/skills/treatment-plans/assets/chronic_disease_management_plan.tex +665 -0
- package/bin/skills/treatment-plans/assets/general_medical_treatment_plan.tex +547 -0
- package/bin/skills/treatment-plans/assets/medical_treatment_plan.sty +222 -0
- package/bin/skills/treatment-plans/assets/mental_health_treatment_plan.tex +774 -0
- package/bin/skills/treatment-plans/assets/one_page_treatment_plan.tex +193 -0
- package/bin/skills/treatment-plans/assets/pain_management_plan.tex +799 -0
- package/bin/skills/treatment-plans/assets/perioperative_care_plan.tex +753 -0
- package/bin/skills/treatment-plans/assets/quality_checklist.md +471 -0
- package/bin/skills/treatment-plans/assets/rehabilitation_treatment_plan.tex +756 -0
- package/bin/skills/treatment-plans/references/goal_setting_frameworks.md +411 -0
- package/bin/skills/treatment-plans/references/intervention_guidelines.md +507 -0
- package/bin/skills/treatment-plans/references/regulatory_compliance.md +476 -0
- package/bin/skills/treatment-plans/references/specialty_specific_guidelines.md +655 -0
- package/bin/skills/treatment-plans/references/treatment_plan_standards.md +485 -0
- package/bin/skills/treatment-plans/scripts/check_completeness.py +322 -0
- package/bin/skills/treatment-plans/scripts/generate_template.py +233 -0
- package/bin/skills/treatment-plans/scripts/timeline_generator.py +385 -0
- package/bin/skills/treatment-plans/scripts/validate_treatment_plan.py +369 -0
- package/bin/skills/unsloth/SKILL.md +565 -47
- package/bin/skills/unsloth/docs/advanced-rl.md +222 -0
- package/bin/skills/unsloth/docs/chat-templates.md +141 -0
- package/bin/skills/unsloth/docs/datasets.md +489 -0
- package/bin/skills/unsloth/docs/docker-extended.md +99 -0
- package/bin/skills/unsloth/docs/dynamic-ggufs-2.0.md +116 -0
- package/bin/skills/unsloth/docs/dynamic-ggufs-aider.md +118 -0
- package/bin/skills/unsloth/docs/faq.md +91 -0
- package/bin/skills/unsloth/docs/fp16-vs-bf16.md +61 -0
- package/bin/skills/unsloth/docs/fp8-rl.md +224 -0
- package/bin/skills/unsloth/docs/glm-4.7-flash.md +997 -0
- package/bin/skills/unsloth/docs/inference-deployment-overview.md +17 -0
- package/bin/skills/unsloth/docs/inference.md +27 -0
- package/bin/skills/unsloth/docs/installation-docker.md +155 -0
- package/bin/skills/unsloth/docs/installation-pip.md +148 -0
- package/bin/skills/unsloth/docs/kernels-packing.md +190 -0
- package/bin/skills/unsloth/docs/kimi-k2.5.md +634 -0
- package/bin/skills/unsloth/docs/lm-studio.md +235 -0
- package/bin/skills/unsloth/docs/lora-hot-swapping.md +75 -0
- package/bin/skills/unsloth/docs/lora-hyperparameters.md +363 -0
- package/bin/skills/unsloth/docs/memory-efficient-rl.md +267 -0
- package/bin/skills/unsloth/docs/model-selection.md +70 -0
- package/bin/skills/unsloth/docs/models.md +532 -0
- package/bin/skills/unsloth/docs/multi-gpu-ddp.md +90 -0
- package/bin/skills/unsloth/docs/notebooks.md +223 -0
- package/bin/skills/unsloth/docs/overview.md +110 -0
- package/bin/skills/unsloth/docs/qwen3-coder-next-extended.md +900 -0
- package/bin/skills/unsloth/docs/qwen3-coder-next.md +900 -0
- package/bin/skills/unsloth/docs/requirements.md +45 -0
- package/bin/skills/unsloth/docs/reward-hacking.md +25 -0
- package/bin/skills/unsloth/docs/saving-to-gguf.md +138 -0
- package/bin/skills/unsloth/docs/saving-to-ollama.md +46 -0
- package/bin/skills/unsloth/docs/sglang-guide.md +278 -0
- package/bin/skills/unsloth/docs/speculative-decoding.md +70 -0
- package/bin/skills/unsloth/docs/tool-calling.md +334 -0
- package/bin/skills/unsloth/docs/troubleshooting-faq.md +204 -0
- package/bin/skills/unsloth/docs/troubleshooting-inference.md +26 -0
- package/bin/skills/unsloth/docs/tts-fine-tuning.md +149 -0
- package/bin/skills/unsloth/docs/tutorial-grpo.md +273 -0
- package/bin/skills/unsloth/docs/tutorial-llama3-ollama.md +356 -0
- package/bin/skills/unsloth/docs/vision-fine-tuning.md +135 -0
- package/bin/skills/unsloth/docs/vision-rl.md +170 -0
- package/bin/skills/unsloth/docs/vllm-engine-arguments.md +43 -0
- package/bin/skills/unsloth/docs/vllm-guide.md +98 -0
- package/bin/skills/venue-templates/SKILL.md +686 -0
- package/bin/skills/venue-templates/assets/examples/cell_summary_example.md +247 -0
- package/bin/skills/venue-templates/assets/examples/medical_structured_abstract.md +313 -0
- package/bin/skills/venue-templates/assets/examples/nature_abstract_examples.md +213 -0
- package/bin/skills/venue-templates/assets/examples/neurips_introduction_example.md +245 -0
- package/bin/skills/venue-templates/assets/grants/nih_specific_aims.tex +235 -0
- package/bin/skills/venue-templates/assets/grants/nsf_proposal_template.tex +375 -0
- package/bin/skills/venue-templates/assets/journals/nature_article.tex +171 -0
- package/bin/skills/venue-templates/assets/journals/neurips_article.tex +283 -0
- package/bin/skills/venue-templates/assets/journals/plos_one.tex +317 -0
- package/bin/skills/venue-templates/assets/posters/beamerposter_academic.tex +311 -0
- package/bin/skills/venue-templates/references/cell_press_style.md +483 -0
- package/bin/skills/venue-templates/references/conferences_formatting.md +564 -0
- package/bin/skills/venue-templates/references/cs_conference_style.md +463 -0
- package/bin/skills/venue-templates/references/grants_requirements.md +787 -0
- package/bin/skills/venue-templates/references/journals_formatting.md +486 -0
- package/bin/skills/venue-templates/references/medical_journal_styles.md +535 -0
- package/bin/skills/venue-templates/references/ml_conference_style.md +556 -0
- package/bin/skills/venue-templates/references/nature_science_style.md +405 -0
- package/bin/skills/venue-templates/references/posters_guidelines.md +628 -0
- package/bin/skills/venue-templates/references/reviewer_expectations.md +417 -0
- package/bin/skills/venue-templates/references/venue_writing_styles.md +321 -0
- package/bin/skills/venue-templates/scripts/customize_template.py +195 -0
- package/bin/skills/venue-templates/scripts/query_template.py +266 -0
- package/bin/skills/venue-templates/scripts/validate_format.py +250 -0
- package/bin/synsc +0 -0
- package/package.json +1 -1
- package/bin/skills/unsloth/references/index.md +0 -7
- package/bin/skills/unsloth/references/llms-full.md +0 -16799
- package/bin/skills/unsloth/references/llms-txt.md +0 -12044
- package/bin/skills/unsloth/references/llms.md +0 -82
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Advanced Reinforcement Learning Documentation
|
|
2
|
+
|
|
3
|
+
Detailed guides on doing GRPO with Unsloth for Batching, Generation & Training Parameters:
|
|
4
|
+
|
|
5
|
+
## Training Parameters
|
|
6
|
+
|
|
7
|
+
* **`beta`** *(float, default 0.0)*: KL coefficient.
|
|
8
|
+
* `0.0` ⇒ no reference model loaded (lower memory, faster).
|
|
9
|
+
* Higher `beta` constrains the policy to stay closer to the ref policy.
|
|
10
|
+
* **`num_iterations`** *(int, default 1)*: PPO epochs per batch (μ in the algorithm).\
|
|
11
|
+
Replays data within each gradient accumulation step; e.g., `2` = two forward passes per accumulation step.
|
|
12
|
+
* **`epsilon`** *(float, default 0.2)*: Clipping value for token-level log-prob ratios (typical ratio range ≈ \[-1.2, 1.2] with default ε).
|
|
13
|
+
* **`delta`** *(float, optional)*: Enables **upper** clipping bound for **two-sided GRPO** when set. If `None`, standard GRPO clipping is used. Recommended `> 1 + ε` when enabled (per INTELLECT-2 report).
|
|
14
|
+
* **`epsilon_high`** *(float, optional)*: Upper-bound epsilon; defaults to `epsilon` if unset. DAPO recommends **0* **`importance_sampling_level`** *(“token” | “sequence”, default "token")*:
|
|
15
|
+
* `"token"`: raw per-token ratios (one weight per token).
|
|
16
|
+
* `"sequence"`: average per-token ratios to a single sequence-level ratio.\
|
|
17
|
+
GSPO shows sequence-level sampling often gives more stable training for sequence-level rewards.
|
|
18
|
+
* **`reward_weights`** *(list\[float], optional)*: One weight per reward. If `None`, all weights = 1.0.
|
|
19
|
+
* **`scale_rewards`** *(str|bool, default "group")*:
|
|
20
|
+
* `True` or `"group"`: scale by **std within each group** (unit variance in group).
|
|
21
|
+
* `"batch"`: scale by **std across the entire batch** (per PPO-Lite).
|
|
22
|
+
* `False` or `"none"`: **no scaling**. Dr. GRPO recommends not scaling to avoid difficulty bias from std scaling.
|
|
23
|
+
* **`loss_type`** *(str, default "dapo")*:
|
|
24
|
+
* `"grpo"`: normalizes over sequence length (length bias; not recommended).
|
|
25
|
+
* `"dr_grpo"`: normalizes by a **global constant** (introduced in Dr. GRPO; removes length bias). Constant ≈ `max_completion_length`.
|
|
26
|
+
* `"dapault)**: normalizes by **active tokens in the global accumulated batch** (introduced in DAPO; removes length bias).
|
|
27
|
+
* `"bnpo"`: normalizes by **active tokens in the local batch** only (results can vary with local batch size; equals GRPO when `per_device_train_batch_size == 1`).
|
|
28
|
+
* **`mask_truncated_completions`** *(bool, default False)*:\
|
|
29
|
+
When `True`, truncated completions are excluded from loss (recommended by DAPO for stability).\
|
|
30
|
+
**Note**: There are some KL issues with this flag, so we recommend to disable it.
|
|
31
|
+
|
|
32
|
+
```python
|
|
33
|
+
# If mask_truncated_completions is enabled, zero out truncated completions in completion_mask
|
|
34
|
+
if self.mask_truncated_completions:
|
|
35
|
+
truncated_completions = ~is_eos.any(dim=1)
|
|
36
|
+
completion_mask = completion_mask * (~truncated_completions).unsqueeze(1).int()
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
This can zero out all `completion_mask` entries when many completions are truncated, making `n_mask_per_reward = 0` and causing KL to become NaN. [See](https://github.com/unslothai/unsloth-zoo/blob/e705f7cb50aa3470a0b6e36052c61b7486a39133/unsloth_zoo/rl_replacements.py#L184)
|
|
40
|
+
* **`vllm_importance_sampling_correction`** *(bool, default True)*:\
|
|
41
|
+
Applies **Truncated Importance Sampling (TIS)** to correct off-policy effects when generation (e.g., vLLM / fast\_inference) differs from training backend.\
|
|
42
|
+
In Unsloth, this is **auto-set to True** if you’re using vLLM/fast\_inference; otherwise **False**.
|
|
43
|
+
* **`vllm_importance_sampling_cap`** *(float, default 2.0)*:\
|
|
44
|
+
Truncation parameter **C** for TIS; sets an upper bound on the importance sampling ratio to improve stability.
|
|
45
|
+
* **`dtype`** when choosing float16 or bfloat16, see [fp16-vs-bf16-for-rl](https://unsloth.ai/docs/get-started/reinforcement-learning-rl-guide/fp16-vs-bf16-for-rl "mention")
|
|
46
|
+
|
|
47
|
+
## Generation Parameters
|
|
48
|
+
|
|
49
|
+
* `temperature (float, defaults to 1.0):`\
|
|
50
|
+
Temperature for sampling. The higher the temperature, the more random the completions. Make sure you use a relatively high (1.0) temperature to have diversity in generations which helps learning.
|
|
51
|
+
* `t_p (float, optional, defaults to 1.0):`\
|
|
52
|
+
Float that controls the cumulative probability of the top tokens to consider. Must be in (0, 1]. Set to 1.0 to consider all tokens.
|
|
53
|
+
* `top_k (int, optional):`\
|
|
54
|
+
Number of highest probability vocabulary tokens to keep for top-k-filtering. If None, top-k-filtering is disabled and all tokens are considered.
|
|
55
|
+
* `min_p (float, optional):`\
|
|
56
|
+
Minimum token probability, which will be scaled by the probability of the most likely token. It must be a value between 0.0 and 1.0. Typical values are in the 0.01-0.2 range.
|
|
57
|
+
* `repetition_penalty (float, optional, defaults to 1.0):`\
|
|
58
|
+
Float that penalizes new tokens based on whether they appear in the prompt and the generated text so far. Values > 1.0 encourage the model to use new tokens, while values < 1.0 encourage the model to repeat tokens.
|
|
59
|
+
* `steps_per_generation: (int, optional):`\
|
|
60
|
+
Number of steps per generation. If None, it defaults to `gradient_accumulation_steps`. Mutually exclusive with `generation_batch_size`.
|
|
61
|
+
|
|
62
|
+
{% hint style="info" %}
|
|
63
|
+
It is a bit confusing to mess with this parameter, it is recommended to edit `per_device_train_batch_size` and gradient accumulation for the batch sizes
|
|
64
|
+
{% endhint %}
|
|
65
|
+
|
|
66
|
+
## Batch & Throughput Parameters
|
|
67
|
+
|
|
68
|
+
### Parameters that control batches
|
|
69
|
+
|
|
70
|
+
* **`train_batch_size`**: Number of samples **per process** per step.\
|
|
71
|
+
If this integer is **less than `num_generations`**, it will default to `num_generations`.
|
|
72
|
+
* **`steps_per_generation`**: Number of **microbatches** that contribute to **one generation’s** loss calculation (forward passes only).\
|
|
73
|
+
A new batch of data is generated every `steps_per_generation` steps; backpropagation timing depends on `gradient_accumulation_steps`.
|
|
74
|
+
* **`num_processes`**: Number of distributed training processes (e.g., GPUs / workers).
|
|
75
|
+
* **`gradient_accumulation_steps`** (aka `gradient_accumulation`): Number of microbatches to accumulate **before** applying backpropagation and optimizer update.
|
|
76
|
+
* **Effective batch size**:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
effective_batch_size = steps_per_generion * num_processes * train_batch_size
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Total samples contributing to gradients before an update (across all processes and steps).
|
|
83
|
+
* **Optimizer steps per generation**:
|
|
84
|
+
|
|
85
|
+
```
|
|
86
|
+
optimizer_steps_per_generation = steps_per_generation / gradient_accumulation_steps
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Example: `4 / 2 = 2`.
|
|
90
|
+
* **`num_generations`**: Number of generations produced **per prompt** (applied **after** computing `effective_batch_size`).\
|
|
91
|
+
The number of **unique prompts** in a generation cycle is:
|
|
92
|
+
|
|
93
|
+
```
|
|
94
|
+
unique_prompts = effective_batch_size / num_generations
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Must be > 2** for GRPO to work.
|
|
98
|
+
|
|
99
|
+
### GRPO Batch Examples
|
|
100
|
+
|
|
101
|
+
The tables below illustrate how batches flow through steps, when optimizer updates occur, and how new batches are generated.
|
|
102
|
+
|
|
103
|
+
#### Example 1
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
num_gpus = 1
|
|
107
|
+
per_device_train_batch_size = 3
|
|
108
|
+
gradient_accumulation_steps = 2
|
|
109
|
+
steps_per_generation = 4
|
|
110
|
+
|
|
111
|
+
effective_batch_size = 4 * 3 * 1 = 12
|
|
112
|
+
num_generations = 3
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Generation cycle A**
|
|
116
|
+
|
|
117
|
+
| Step | Batch | Notes |
|
|
118
|
+
| ---: | -------- | -------------------------------------- |
|
|
119
|
+
| 0 | \[0,0,0] | |
|
|
120
|
+
| 1 | \[1,1,1] | → optimizer update (accum = 2 reached) |
|
|
121
|
+
| 2 | \[2,2,2] | |
|
|
122
|
+
| 3 | \[3,3,3] | optimizer update |
|
|
123
|
+
|
|
124
|
+
**Generation cycle B**
|
|
125
|
+
|
|
126
|
+
| Step | Batch | Notes |
|
|
127
|
+
| ---: | -------- | -------------------------------------- |
|
|
128
|
+
| 0 | \[4,4,4] | |
|
|
129
|
+
| 1 | \[5,5,5] | → optimizer update (accum = 2 reached) |
|
|
130
|
+
| 2 | \[6,6,6] | |
|
|
131
|
+
| 3 | \[7,7,7] | optimizer update |
|
|
132
|
+
|
|
133
|
+
#### Example 2
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
num_gpus = 1
|
|
137
|
+
per_device_train_batch_size = 3
|
|
138
|
+
steps_per_generation = gradient_accumulation_steps = 4
|
|
139
|
+
|
|
140
|
+
effective_batch_size = 4 * 3 * 1 = 12
|
|
141
|
+
num_generations = 3
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
**Generation cycle A**
|
|
145
|
+
|
|
146
|
+
| Step | Batch | Notes |
|
|
147
|
+
| ---: | -------- | ------------------------------------ 0 | \[0,0,0] | |
|
|
148
|
+
| 1 | \[1,1,1] | |
|
|
149
|
+
| 2 | \[2,2,2] | |
|
|
150
|
+
| 3 | \[3,3,3] | optimizer update (accum = 4 reached) |
|
|
151
|
+
|
|
152
|
+
**Generation cycle B**
|
|
153
|
+
|
|
154
|
+
| Step | Batch | Notes |
|
|
155
|
+
| ---: | -------- | ------------------------------------ |
|
|
156
|
+
| 0 | \[4,4,4] | |
|
|
157
|
+
| 1 | \[5,5,5] | |
|
|
158
|
+
| 2 | \[6,6,6] | |
|
|
159
|
+
| 3 | \[7,7,7] | optimizer update (accum = 4 reached) |
|
|
160
|
+
|
|
161
|
+
#### Example 3
|
|
162
|
+
|
|
163
|
+
```
|
|
164
|
+
num_gpus = 1
|
|
165
|
+
per_device_train_batch_size = 3
|
|
166
|
+
steps_per_generation = gradient_accumulation_steps = 4
|
|
167
|
+
|
|
168
|
+
effective_batch_size = 4 * 3 * 1 = 12
|
|
169
|
+
num_generations = 4
|
|
170
|
+
unique_prompts = effective_batch_size / num_generations = 3
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**Generation cycle A**
|
|
174
|
+
|
|
175
|
+
| Step | Batch | Notes |
|
|
176
|
+
| ---: | -------- | ------------------------------------ |
|
|
177
|
+
| 0 | \[0,0,0] | |
|
|
178
|
+
| 1 | \[0,1,1] | |
|
|
179
|
+
| 2 | \[1,1,3] | |
|
|
180
|
+
| 3 | \[3,3,3] | optimizer update (accum = 4 reached) |
|
|
181
|
+
|
|
182
|
+
**Generation cycle B**
|
|
183
|
+
|
|
184
|
+
| Step | Batch | Notes |
|
|
185
|
+
| ---: | -------- | ------------------------------------ |
|
|
186
|
+
| 0 | \[4,4,4] | |
|
|
187
|
+
| 1 | \[4,5,5] | |
|
|
188
|
+
| 2 | \[5,5,6] | |
|
|
189
|
+
| 3 | \[6,6,6] | optimizer update (accum = 4 reached) |
|
|
190
|
+
|
|
191
|
+
#### Example 4
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
num_gpus = 1
|
|
195
|
+
per_device_train_batch_size = 6
|
|
196
|
+
steps_per_generation = gradient_accumulation_steps = 2
|
|
197
|
+
|
|
198
|
+
effective_batch_size = 2 * 6 * 1 = 12
|
|
199
|
+
num_generations = 3
|
|
200
|
+
unique_prompts = 4
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
**Generation cycle A**
|
|
204
|
+
|
|
205
|
+
| Step | Batch | Notes |
|
|
206
|
+
| ---: | --------------- | ------------------------------------ |
|
|
207
|
+
| 0 | \[0,0,0, 1,1,1] | |
|
|
208
|
+
| 1 | \[2,2,2, 3,3,3] | optimizer update (accum = 2 reached) |
|
|
209
|
+
|
|
210
|
+
**Generation cycle B**
|
|
211
|
+
|
|
212
|
+
| Step | Batch | Notes |
|
|
213
|
+
| ---: | --------------- | ------------------------------------ |
|
|
214
|
+
| 0 | \[4,4,4, 5,5,5] | |
|
|
215
|
+
| 1 | \[6,6,6, 7,7,7] | optimizer update (accum = 2 reached) |
|
|
216
|
+
|
|
217
|
+
### Quick Formula Reference
|
|
218
|
+
|
|
219
|
+
```
|
|
220
|
+
effective_batch_size = steps_per_generation * num_processes * train_batch_size
|
|
221
|
+
optimizer_steps_per_generation = steps_per_generation / gradient_accumulation_steps
|
|
222
|
+
unique_prompts = effective_batch_size / num_generations # must be > 2
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Chat Templates
|
|
2
|
+
|
|
3
|
+
In our GitHub, we have a list of every chat template Unsloth uses including for Llama, Mistral, Phi-4 etc: [github.com/unslothai/unsloth/blob/main/unsloth/chat_templates.py](https://github.com/unslothai/unsloth/blob/main/unsloth/chat_templates.py)
|
|
4
|
+
|
|
5
|
+
## Colab chat template notebooks
|
|
6
|
+
|
|
7
|
+
* [Conversational](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Llama3.2_(1B_and_3B)-Conversational.ipynb)
|
|
8
|
+
* [ChatML](https://colab.research.google.com/github/unslothai/notebooks/blob/main/nb/Llama3_(8B)-Ollama.ipynb)
|
|
9
|
+
* [Ollama](https://colab.research.google.com/drive/1WZDi7APtQ9VsvOrQSSC5DDtxq159j8iZ?usp=sharing)
|
|
10
|
+
* [Text Classification](https://github.com/timothelaborie/text_classification_scripts/blob/main/unsloth_classification.ipynb) by Timotheeee
|
|
11
|
+
* [Multiple Datasets](https://colab.research.google.com/drive/1njCCbE1YVal9xC83hjdo2hiGItpY_D6t?usp=sharing) by Flail
|
|
12
|
+
|
|
13
|
+
## Adding new tokens
|
|
14
|
+
|
|
15
|
+
Unsloth has a function called `add_new_tokens` which allows you to add new tokens to your finetune:
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
model, tokenizer = FastLanguageModel.from_pretrained(...)
|
|
19
|
+
from unsloth import add_new_tokens
|
|
20
|
+
add_new_tokens(model, tokenizer, new_tokens = ["<CHARACTER_1>", "<THINKING>", "<SCRATCH_PAD>"])
|
|
21
|
+
model = FastLanguageModel.get_peft_model(...)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
> Note: you MUST always call `add_new_tokens` before `FastLanguageModel.get_peft_model`!
|
|
25
|
+
|
|
26
|
+
## Multi turn conversations
|
|
27
|
+
|
|
28
|
+
The Alpaca dataset is single turn, but ChatGPT-style interactions are multi-turn. We introduced the `conversation_extension` parameter, which selects some random rows in your single turn dataset and merges them into 1 conversation. For example, if you set it to 3, we randomly select 3 rows and merge them into 1.
|
|
29
|
+
|
|
30
|
+
Set `output_column_name` to the prediction / output column. For Alpaca, it would be the output column.
|
|
31
|
+
|
|
32
|
+
Then use the `standardize_sharegpt` function to make the dataset in a correct format for finetuning.
|
|
33
|
+
|
|
34
|
+
## Customizable Chat Templates
|
|
35
|
+
|
|
36
|
+
We allow an optional `{INPUT}` field for the instruction, an `{OUTPUT}` field for the model's output, and an optional `{SYSTEM}` field for system prompts. Examples:
|
|
37
|
+
|
|
38
|
+
* **ChatML format** (used in OpenAI models)
|
|
39
|
+
* **Llama-3 template** (only works with instruct version)
|
|
40
|
+
* **Custom templates** for tasks like Titanic prediction
|
|
41
|
+
|
|
42
|
+
## Applying Chat Templates with Unsloth
|
|
43
|
+
|
|
44
|
+
Four simple steps:
|
|
45
|
+
|
|
46
|
+
### 1. Check supported templates
|
|
47
|
+
|
|
48
|
+
```python
|
|
49
|
+
from unsloth.chat_templates import CHAT_TEMPLATES
|
|
50
|
+
print(list(CHAT_TEMPLATES.keys()))
|
|
51
|
+
# ['unsloth', 'zephyr', 'chatml', 'mistral', 'llama', 'vicuna', 'alpaca',
|
|
52
|
+
# 'gemma', 'gemma2', 'llama-3', 'phi-3', 'phi-4', 'qwen-2.5', 'gemma-3', ...]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 2. Apply the template
|
|
56
|
+
|
|
57
|
+
```python
|
|
58
|
+
from unsloth.chat_templates import get_chat_template
|
|
59
|
+
tokenizer = get_chat_template(
|
|
60
|
+
tokenizer,
|
|
61
|
+
chat_template = "gemma-3", # change this to the right template name
|
|
62
|
+
)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 3. Define formatting function
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
def formatting_prompts_func(examples):
|
|
69
|
+
convos = examples["conversations"]
|
|
70
|
+
texts = [tokenizer.apply_chat_template(convo, tokenize=False, add_generation_prompt=False) for convo in convos]
|
|
71
|
+
return {"text": texts}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 4. Load and format dataset
|
|
75
|
+
|
|
76
|
+
```python
|
|
77
|
+
from datasets import load_dataset
|
|
78
|
+
dataset = load_dataset("repo_name/dataset_name", split="train")
|
|
79
|
+
dataset = dataset.map(formatting_prompts_func, batched=True)
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
If your dataset uses ShareGPT format with "from"/"value" keys:
|
|
83
|
+
|
|
84
|
+
```python
|
|
85
|
+
from datasets import load_dataset
|
|
86
|
+
dataset = load_dataset("mlabonne/FineTome-100k", split="train")
|
|
87
|
+
|
|
88
|
+
from unsloth.chat_templates import standardize_sharegpt
|
|
89
|
+
dataset = standardize_sharegpt(dataset)
|
|
90
|
+
dataset = dataset.map(formatting_prompts_func, batched=True)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
## Using get_chat_template with ShareGPT data
|
|
94
|
+
|
|
95
|
+
```python
|
|
96
|
+
from unsloth.chat_templates import get_chat_template
|
|
97
|
+
|
|
98
|
+
tokenizer = get_chat_template(
|
|
99
|
+
tokenizer,
|
|
100
|
+
chat_template = "chatml",
|
|
101
|
+
mapping = {"role": "from", "content": "value", "user": "human", "assistant": "gpt"},
|
|
102
|
+
map_eos_token = True, # Maps <|im_end|> to </s> instead
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
def formatting_prompts_func(examples):
|
|
106
|
+
convos = examples["conversations"]
|
|
107
|
+
texts = [tokenizer.apply_chat_template(convo, tokenize=False, add_generation_prompt=False) for convo in convos]
|
|
108
|
+
return {"text": texts}
|
|
109
|
+
|
|
110
|
+
from datasets import load_dataset
|
|
111
|
+
dataset = load_dataset("philschmid/guanaco-sharegpt-style", split="train")
|
|
112
|
+
dataset = dataset.map(formatting_prompts_func, batched=True)
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Custom Chat Templates
|
|
116
|
+
|
|
117
|
+
You can make custom chat templates by passing a tuple of `(custom_template, eos_token)`:
|
|
118
|
+
|
|
119
|
+
```python
|
|
120
|
+
unsloth_template = \
|
|
121
|
+
"{{ bos_token }}" \
|
|
122
|
+
"{{ 'You are a helpful assistant to the user\\n' }}" \
|
|
123
|
+
"{% for message in messages %}" \
|
|
124
|
+
"{% if message['role'] == 'user' %}" \
|
|
125
|
+
"{{ '>>> User: ' + message['content'] + '\\n' }}" \
|
|
126
|
+
"{% elif message['role'] == 'assistant' %}" \
|
|
127
|
+
"{{ '>>> Assistant: ' + message['content'] + eos_token + '\\n' }}" \
|
|
128
|
+
"{% endif %}" \
|
|
129
|
+
"{% endfor %}" \
|
|
130
|
+
"{% if add_generation_prompt %}" \
|
|
131
|
+
"{{ '>>> Assistant: ' }}" \
|
|
132
|
+
"{% endif %}"
|
|
133
|
+
unsloth_eos_token = "eos_token"
|
|
134
|
+
|
|
135
|
+
tokenizer = get_chat_template(
|
|
136
|
+
tokenizer,
|
|
137
|
+
chat_template = (unsloth_template, unsloth_eos_token),
|
|
138
|
+
mapping = {"role": "from", "content": "value", "user": "human", "assistant": "gpt"},
|
|
139
|
+
map_eos_token = True,
|
|
140
|
+
)
|
|
141
|
+
```
|