@synsci/cli-darwin-x64 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,665 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: fireworks-ai-inference
|
|
3
|
+
description: Fast inference and fine-tuning platform with serverless and on-demand GPU deployments. OpenAI-compatible API for chat completions, embeddings, function calling, vision, and structured output. Supports SFT, DPO, and RL fine-tuning. SOC2 + HIPAA compliant.
|
|
4
|
+
version: 1.0.0
|
|
5
|
+
author: Synthetic Sciences
|
|
6
|
+
license: MIT
|
|
7
|
+
tags: [Inference, Fireworks AI, Fine-Tuning, Serverless, On-Demand GPU, OpenAI-Compatible]
|
|
8
|
+
dependencies: [fireworks-ai, openai]
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Fireworks AI -- Fast Inference & Fine-Tuning
|
|
12
|
+
|
|
13
|
+
Fastest open-model inference platform with serverless and on-demand GPU deployments, OpenAI-compatible API, and built-in fine-tuning (SFT, DPO, RL).
|
|
14
|
+
|
|
15
|
+
## When to Use Fireworks AI
|
|
16
|
+
|
|
17
|
+
**Use Fireworks AI when:**
|
|
18
|
+
- Need fast serverless inference for open-source models (Llama, Qwen, DeepSeek, Mixtral)
|
|
19
|
+
- Want OpenAI SDK drop-in replacement with open models
|
|
20
|
+
- Need fine-tuning without managing infrastructure (SFT, DPO, RL)
|
|
21
|
+
- Require structured output / JSON mode / function calling with open models
|
|
22
|
+
- Need dedicated GPU deployments with predictable latency
|
|
23
|
+
- Require SOC2 or HIPAA compliance
|
|
24
|
+
- Want prompt caching and batch inference for cost savings
|
|
25
|
+
|
|
26
|
+
**Use alternatives instead:**
|
|
27
|
+
|
|
28
|
+
| Need | Use Instead |
|
|
29
|
+
|------|-------------|
|
|
30
|
+
| Self-hosted inference (full control) | **vLLM**, **TensorRT-LLM** |
|
|
31
|
+
| Cheapest serverless inference | **Groq** (free tier), **Together AI** |
|
|
32
|
+
| Managed LoRA fine-tuning (no infra) | **Tinker** |
|
|
33
|
+
| Closed-model APIs (GPT-4, Claude) | **OpenAI**, **Anthropic** direct |
|
|
34
|
+
| GPU instances with SSH access | **Lambda Labs**, **RunPod** |
|
|
35
|
+
| Multi-cloud orchestration | **SkyPilot** |
|
|
36
|
+
|
|
37
|
+
## Quick Start
|
|
38
|
+
|
|
39
|
+
### Install
|
|
40
|
+
|
|
41
|
+
```python
|
|
42
|
+
pip install fireworks-ai openai
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Set API key
|
|
46
|
+
|
|
47
|
+
```python
|
|
48
|
+
import os
|
|
49
|
+
os.environ["FIREWORKS_API_KEY"] = "fw_..." # from https://fireworks.ai/api-keys
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Basic chat completion
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
from openai import OpenAI
|
|
56
|
+
|
|
57
|
+
client = OpenAI(
|
|
58
|
+
base_url="https://api.fireworks.ai/inference/v1",
|
|
59
|
+
api_key=os.environ["FIREWORKS_API_KEY"],
|
|
60
|
+
)
|
|
61
|
+
|
|
62
|
+
response = client.chat.completions.create(
|
|
63
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
64
|
+
messages=[
|
|
65
|
+
{"role": "system", "content": "You are a helpful assistant."},
|
|
66
|
+
{"role": "user", "content": "Explain gradient descent in two sentences."},
|
|
67
|
+
],
|
|
68
|
+
max_tokens=256,
|
|
69
|
+
temperature=0.7,
|
|
70
|
+
)
|
|
71
|
+
print(response.choices[0].message.content)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Inference
|
|
75
|
+
|
|
76
|
+
### Chat completions
|
|
77
|
+
|
|
78
|
+
**Endpoint:** `POST https://api.fireworks.ai/inference/v1/chat/completions`
|
|
79
|
+
|
|
80
|
+
```python
|
|
81
|
+
from openai import OpenAI
|
|
82
|
+
|
|
83
|
+
client = OpenAI(
|
|
84
|
+
base_url="https://api.fireworks.ai/inference/v1",
|
|
85
|
+
api_key=os.environ["FIREWORKS_API_KEY"],
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
response = client.chat.completions.create(
|
|
89
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
90
|
+
messages=[
|
|
91
|
+
{"role": "user", "content": "Write a Python quicksort function."},
|
|
92
|
+
],
|
|
93
|
+
max_tokens=512,
|
|
94
|
+
temperature=0.0,
|
|
95
|
+
)
|
|
96
|
+
print(response.choices[0].message.content)
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### Streaming
|
|
100
|
+
|
|
101
|
+
```python
|
|
102
|
+
stream = client.chat.completions.create(
|
|
103
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
104
|
+
messages=[{"role": "user", "content": "Explain transformers."}],
|
|
105
|
+
stream=True,
|
|
106
|
+
max_tokens=512,
|
|
107
|
+
)
|
|
108
|
+
for chunk in stream:
|
|
109
|
+
delta = chunk.choices[0].delta.content
|
|
110
|
+
if delta:
|
|
111
|
+
print(delta, end="", flush=True)
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### Function calling / tool use
|
|
115
|
+
|
|
116
|
+
```python
|
|
117
|
+
tools = [
|
|
118
|
+
{
|
|
119
|
+
"type": "function",
|
|
120
|
+
"function": {
|
|
121
|
+
"name": "get_weather",
|
|
122
|
+
"description": "Get current weather for a location",
|
|
123
|
+
"parameters": {
|
|
124
|
+
"type": "object",
|
|
125
|
+
"properties": {
|
|
126
|
+
"location": {"type": "string", "description": "City name"},
|
|
127
|
+
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"]},
|
|
128
|
+
},
|
|
129
|
+
"required": ["location"],
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
|
|
135
|
+
response = client.chat.completions.create(
|
|
136
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
137
|
+
messages=[{"role": "user", "content": "What is the weather in San Francisco?"}],
|
|
138
|
+
tools=tools,
|
|
139
|
+
tool_choice="auto",
|
|
140
|
+
)
|
|
141
|
+
tool_call = response.choices[0].message.tool_calls[0]
|
|
142
|
+
print(tool_call.function.name, tool_call.function.arguments)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### Structured output / JSON mode
|
|
146
|
+
|
|
147
|
+
```python
|
|
148
|
+
response = client.chat.completions.create(
|
|
149
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
150
|
+
messages=[{"role": "user", "content": "List 3 planets with mass and diameter."}],
|
|
151
|
+
response_format={"type": "json_object"},
|
|
152
|
+
max_tokens=512,
|
|
153
|
+
)
|
|
154
|
+
import json
|
|
155
|
+
data = json.loads(response.choices[0].message.content)
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
For strict schema enforcement, use `response_format` with a JSON schema:
|
|
159
|
+
|
|
160
|
+
```python
|
|
161
|
+
response = client.chat.completions.create(
|
|
162
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
163
|
+
messages=[{"role": "user", "content": "Extract name and age from: John is 30."}],
|
|
164
|
+
response_format={
|
|
165
|
+
"type": "json_object",
|
|
166
|
+
"schema": {
|
|
167
|
+
"type": "object",
|
|
168
|
+
"properties": {
|
|
169
|
+
"name": {"type": "string"},
|
|
170
|
+
"age": {"type": "integer"},
|
|
171
|
+
},
|
|
172
|
+
"required": ["name", "age"],
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
)
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Vision (multimodal)
|
|
179
|
+
|
|
180
|
+
```python
|
|
181
|
+
response = client.chat.completions.create(
|
|
182
|
+
model="accounts/fireworks/models/llama-v3p2-11b-vision-instruct",
|
|
183
|
+
messages=[
|
|
184
|
+
{
|
|
185
|
+
"role": "user",
|
|
186
|
+
"content": [
|
|
187
|
+
{"type": "text", "text": "Describe this image."},
|
|
188
|
+
{
|
|
189
|
+
"type": "image_url",
|
|
190
|
+
"image_url": {"url": "https://example.com/photo.jpg"},
|
|
191
|
+
},
|
|
192
|
+
],
|
|
193
|
+
}
|
|
194
|
+
],
|
|
195
|
+
max_tokens=256,
|
|
196
|
+
)
|
|
197
|
+
print(response.choices[0].message.content)
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
## Fine-Tuning
|
|
201
|
+
|
|
202
|
+
Fireworks supports three fine-tuning methods: Supervised Fine-Tuning (SFT), Direct Preference Optimization (DPO), and Reinforcement Fine-Tuning (RL). All use LoRA adapters by default.
|
|
203
|
+
|
|
204
|
+
### SFT -- Supervised Fine-Tuning
|
|
205
|
+
|
|
206
|
+
**Data format (JSONL):** Each line is a conversation with `messages` array:
|
|
207
|
+
|
|
208
|
+
```json
|
|
209
|
+
{"messages": [{"role": "system", "content": "You are a coding assistant."}, {"role": "user", "content": "Write a Python hello world."}, {"role": "assistant", "content": "print('Hello, world!')"}]}
|
|
210
|
+
{"messages": [{"role": "user", "content": "What is 2+2?"}, {"role": "assistant", "content": "4"}]}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
**Create SFT job via API:**
|
|
214
|
+
|
|
215
|
+
```python
|
|
216
|
+
import requests
|
|
217
|
+
|
|
218
|
+
url = "https://api.fireworks.ai/v1/accounts/{account_id}/supervisedFineTuningJobs"
|
|
219
|
+
headers = {
|
|
220
|
+
"Authorization": f"Bearer {os.environ['FIREWORKS_API_KEY']}",
|
|
221
|
+
"Content-Type": "application/json",
|
|
222
|
+
}
|
|
223
|
+
payload = {
|
|
224
|
+
"displayName": "my-sft-job",
|
|
225
|
+
"model": "accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
226
|
+
"dataset": "accounts/{account_id}/datasets/{dataset_id}",
|
|
227
|
+
"hyperparameters": {
|
|
228
|
+
"epochs": 3,
|
|
229
|
+
"learning_rate": 1e-4,
|
|
230
|
+
"batch_size": 8,
|
|
231
|
+
"lora_rank": 16,
|
|
232
|
+
},
|
|
233
|
+
}
|
|
234
|
+
response = requests.post(url, headers=headers, json=payload)
|
|
235
|
+
job = response.json()
|
|
236
|
+
print(f"Job ID: {job['name']}")
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**Monitor job:**
|
|
240
|
+
|
|
241
|
+
```python
|
|
242
|
+
job_url = f"https://api.fireworks.ai/v1/{job['name']}"
|
|
243
|
+
status = requests.get(job_url, headers=headers).json()
|
|
244
|
+
print(f"State: {status['state']}, Progress: {status.get('progress', 'N/A')}")
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
### DPO -- Direct Preference Optimization
|
|
248
|
+
|
|
249
|
+
**Data format (JSONL):** Each line has `chosen` and `rejected` conversations:
|
|
250
|
+
|
|
251
|
+
```json
|
|
252
|
+
{"chosen": [{"role": "user", "content": "Explain ML"}, {"role": "assistant", "content": "Machine learning is..."}], "rejected": [{"role": "user", "content": "Explain ML"}, {"role": "assistant", "content": "ML is complicated..."}]}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Create DPO job:**
|
|
256
|
+
|
|
257
|
+
```python
|
|
258
|
+
url = "https://api.fireworks.ai/v1/accounts/{account_id}/dpoFineTuningJobs"
|
|
259
|
+
payload = {
|
|
260
|
+
"displayName": "my-dpo-job",
|
|
261
|
+
"model": "accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
262
|
+
"dataset": "accounts/{account_id}/datasets/{dataset_id}",
|
|
263
|
+
"hyperparameters": {
|
|
264
|
+
"epochs": 2,
|
|
265
|
+
"learning_rate": 5e-5,
|
|
266
|
+
"beta": 0.1,
|
|
267
|
+
},
|
|
268
|
+
}
|
|
269
|
+
response = requests.post(url, headers=headers, json=payload)
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### RL -- Reinforcement Fine-Tuning
|
|
273
|
+
|
|
274
|
+
Reinforcement fine-tuning uses a reward model or reward function to optimize the base model. Jobs run on on-demand GPUs and are billed at GPU-hour rates.
|
|
275
|
+
|
|
276
|
+
**Create RL job:**
|
|
277
|
+
|
|
278
|
+
```python
|
|
279
|
+
url = "https://api.fireworks.ai/v1/accounts/{account_id}/reinforcementFineTuningJobs"
|
|
280
|
+
payload = {
|
|
281
|
+
"displayName": "my-rl-job",
|
|
282
|
+
"baseModel": "accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
283
|
+
"rewardModel": "accounts/{account_id}/models/{reward_model_id}",
|
|
284
|
+
"dataset": "accounts/{account_id}/datasets/{dataset_id}",
|
|
285
|
+
}
|
|
286
|
+
response = requests.post(url, headers=headers, json=payload)
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
### Fine-tuning pricing
|
|
290
|
+
|
|
291
|
+
| Model Size | SFT ($/hr) | DPO ($/hr) |
|
|
292
|
+
|------------|------------|------------|
|
|
293
|
+
| Up to 16B | $0.50 | $1.00 |
|
|
294
|
+
| 16B - 80B | $3.00 | $6.00 |
|
|
295
|
+
| 80B - 300B | $6.00 | $12.00 |
|
|
296
|
+
| 300B+ | $10.00 | $20.00 |
|
|
297
|
+
|
|
298
|
+
RL fine-tuning is billed at on-demand GPU rates.
|
|
299
|
+
|
|
300
|
+
## On-Demand GPU Deployments
|
|
301
|
+
|
|
302
|
+
Dedicated GPU deployments provide predictable latency, no rate limits, and support for custom/fine-tuned models. Billed per GPU-second.
|
|
303
|
+
|
|
304
|
+
### Create deployment
|
|
305
|
+
|
|
306
|
+
```python
|
|
307
|
+
import requests
|
|
308
|
+
|
|
309
|
+
url = "https://api.fireworks.ai/v1/accounts/{account_id}/deployments"
|
|
310
|
+
headers = {
|
|
311
|
+
"Authorization": f"Bearer {os.environ['FIREWORKS_API_KEY']}",
|
|
312
|
+
"Content-Type": "application/json",
|
|
313
|
+
}
|
|
314
|
+
payload = {
|
|
315
|
+
"displayName": "my-llama-deployment",
|
|
316
|
+
"model": "accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
317
|
+
"deploymentShape": "fast", # Options: fast, throughput, minimal
|
|
318
|
+
"minReplicaCount": 1,
|
|
319
|
+
"maxReplicaCount": 4,
|
|
320
|
+
}
|
|
321
|
+
response = requests.post(url, headers=headers, json=payload)
|
|
322
|
+
deployment = response.json()
|
|
323
|
+
```
|
|
324
|
+
|
|
325
|
+
### Deployment shapes
|
|
326
|
+
|
|
327
|
+
| Shape | Optimized For | Use Case |
|
|
328
|
+
|-------|---------------|----------|
|
|
329
|
+
| `fast` | Lowest latency | Real-time chat, interactive apps |
|
|
330
|
+
| `throughput` | Maximum tokens/sec | Batch processing, high volume |
|
|
331
|
+
| `minimal` | Lowest cost | Development, testing |
|
|
332
|
+
|
|
333
|
+
### GPU options and pricing
|
|
334
|
+
|
|
335
|
+
| GPU | VRAM | Price/GPU/hr |
|
|
336
|
+
|-----|------|--------------|
|
|
337
|
+
| A100 80GB | 80 GB | $2.90 |
|
|
338
|
+
| H100 80GB | 80 GB | $4.00 |
|
|
339
|
+
| H200 141GB | 141 GB | $6.00 |
|
|
340
|
+
| B200 180GB | 180 GB | $9.00 |
|
|
341
|
+
|
|
342
|
+
### Manage deployments
|
|
343
|
+
|
|
344
|
+
```python
|
|
345
|
+
# List deployments
|
|
346
|
+
deployments = requests.get(
|
|
347
|
+
f"https://api.fireworks.ai/v1/accounts/{{account_id}}/deployments",
|
|
348
|
+
headers=headers,
|
|
349
|
+
).json()
|
|
350
|
+
|
|
351
|
+
# Scale deployment
|
|
352
|
+
requests.patch(
|
|
353
|
+
f"https://api.fireworks.ai/v1/{deployment['name']}",
|
|
354
|
+
headers=headers,
|
|
355
|
+
json={"minReplicaCount": 2, "maxReplicaCount": 8},
|
|
356
|
+
)
|
|
357
|
+
|
|
358
|
+
# Delete deployment
|
|
359
|
+
requests.delete(
|
|
360
|
+
f"https://api.fireworks.ai/v1/{deployment['name']}",
|
|
361
|
+
headers=headers,
|
|
362
|
+
)
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### Query your deployment
|
|
366
|
+
|
|
367
|
+
Once deployed, query using the same OpenAI-compatible API but with your deployment's model ID:
|
|
368
|
+
|
|
369
|
+
```python
|
|
370
|
+
response = client.chat.completions.create(
|
|
371
|
+
model="accounts/{account_id}/deployments/{deployment_id}",
|
|
372
|
+
messages=[{"role": "user", "content": "Hello!"}],
|
|
373
|
+
)
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
## Embeddings
|
|
377
|
+
|
|
378
|
+
**Endpoint:** `POST https://api.fireworks.ai/inference/v1/embeddings`
|
|
379
|
+
|
|
380
|
+
### Supported embedding models
|
|
381
|
+
|
|
382
|
+
| Model ID | Dimensions |
|
|
383
|
+
|----------|------------|
|
|
384
|
+
| `nomic-ai/nomic-embed-text-v1.5` | 768 |
|
|
385
|
+
| `nomic-ai/nomic-embed-text-v1` | 768 |
|
|
386
|
+
| `thenlper/gte-large` | 1024 |
|
|
387
|
+
| `WhereIsAI/UAE-Large-V1` | 1024 |
|
|
388
|
+
|
|
389
|
+
### Generate embeddings
|
|
390
|
+
|
|
391
|
+
```python
|
|
392
|
+
response = client.embeddings.create(
|
|
393
|
+
model="nomic-ai/nomic-embed-text-v1.5",
|
|
394
|
+
input=["Machine learning is a subset of AI.", "Deep learning uses neural networks."],
|
|
395
|
+
)
|
|
396
|
+
for i, emb in enumerate(response.data):
|
|
397
|
+
print(f"Embedding {i}: {len(emb.embedding)} dimensions")
|
|
398
|
+
```
|
|
399
|
+
|
|
400
|
+
## Model Selection
|
|
401
|
+
|
|
402
|
+
### Popular serverless models
|
|
403
|
+
|
|
404
|
+
| Model | Model ID | Params | Context | Tier |
|
|
405
|
+
|-------|----------|--------|---------|------|
|
|
406
|
+
| Llama 3.3 70B Instruct | `accounts/fireworks/models/llama-v3p3-70b-instruct` | 70B | 131K | >16B |
|
|
407
|
+
| Llama 3.2 11B Vision | `accounts/fireworks/models/llama-v3p2-11b-vision-instruct` | 11B | 128K | 4-16B |
|
|
408
|
+
| Llama 3.2 3B Instruct | `accounts/fireworks/models/llama-v3p2-3b-instruct` | 3B | 128K | <4B |
|
|
409
|
+
| Qwen 2.5 72B Instruct | `accounts/fireworks/models/qwen2p5-72b-instruct` | 72B | 32K | >16B |
|
|
410
|
+
| Qwen3 Coder 480B A35B | `accounts/fireworks/models/qwen3-coder-480b-a35b-instruct` | 480B (35B active) | 262K | MoE |
|
|
411
|
+
| DeepSeek V3 | `accounts/fireworks/models/deepseek-v3-0324` | 671B (37B active) | 164K | MoE |
|
|
412
|
+
| Mixtral 8x7B Instruct | `accounts/fireworks/models/mixtral-8x7b-instruct` | 46B (12B active) | 32K | MoE 0-56B |
|
|
413
|
+
| Mixtral 8x22B Instruct | `accounts/fireworks/models/mixtral-8x22b-instruct` | 141B (39B active) | 65K | MoE 56-176B |
|
|
414
|
+
|
|
415
|
+
### Serverless pricing by tier
|
|
416
|
+
|
|
417
|
+
| Tier | Price per 1M tokens |
|
|
418
|
+
|------|---------------------|
|
|
419
|
+
| < 4B params | $0.10 |
|
|
420
|
+
| 4B - 16B params | $0.20 |
|
|
421
|
+
| > 16B params | $0.90 |
|
|
422
|
+
| MoE 0 - 56B params | $0.50 |
|
|
423
|
+
| MoE 56B - 176B params | $1.20 |
|
|
424
|
+
|
|
425
|
+
### Model selection guide
|
|
426
|
+
|
|
427
|
+
| Use Case | Recommended Model |
|
|
428
|
+
|----------|-------------------|
|
|
429
|
+
| General chat / instruction following | `llama-v3p3-70b-instruct` |
|
|
430
|
+
| Code generation | `qwen3-coder-480b-a35b-instruct` |
|
|
431
|
+
| Vision / multimodal | `llama-v3p2-11b-vision-instruct` |
|
|
432
|
+
| Cost-sensitive workloads | `llama-v3p2-3b-instruct` |
|
|
433
|
+
| Reasoning / complex tasks | `deepseek-v3-0324` |
|
|
434
|
+
| Fast MoE inference | `mixtral-8x7b-instruct` |
|
|
435
|
+
|
|
436
|
+
## CLI (firectl)
|
|
437
|
+
|
|
438
|
+
### Installation
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
# macOS / Linux (Homebrew)
|
|
442
|
+
brew tap fw-ai/firectl && brew install firectl
|
|
443
|
+
|
|
444
|
+
# Install script
|
|
445
|
+
curl -sSL https://cli.fireworks.ai/install.sh | bash
|
|
446
|
+
|
|
447
|
+
# Windows (Chocolatey)
|
|
448
|
+
choco install firectl
|
|
449
|
+
|
|
450
|
+
# Verify
|
|
451
|
+
firectl version
|
|
452
|
+
|
|
453
|
+
# Upgrade
|
|
454
|
+
firectl upgrade
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
### Authentication
|
|
458
|
+
|
|
459
|
+
```bash
|
|
460
|
+
firectl signin # Interactive login
|
|
461
|
+
firectl whoami # Show current account
|
|
462
|
+
```
|
|
463
|
+
|
|
464
|
+
### Model management
|
|
465
|
+
|
|
466
|
+
```bash
|
|
467
|
+
# Upload a custom model
|
|
468
|
+
firectl model create my-model /path/to/model/weights
|
|
469
|
+
|
|
470
|
+
# List models
|
|
471
|
+
firectl model list
|
|
472
|
+
|
|
473
|
+
# Get model details
|
|
474
|
+
firectl model get accounts/{account_id}/models/my-model
|
|
475
|
+
|
|
476
|
+
# Delete model
|
|
477
|
+
firectl model delete accounts/{account_id}/models/my-model
|
|
478
|
+
```
|
|
479
|
+
|
|
480
|
+
### Deployment management
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
# Create on-demand deployment
|
|
484
|
+
firectl deployment create accounts/fireworks/models/llama-v3p3-70b-instruct \
|
|
485
|
+
--display-name "prod-llama"
|
|
486
|
+
|
|
487
|
+
# List deployments
|
|
488
|
+
firectl deployment list
|
|
489
|
+
|
|
490
|
+
# Scale deployment
|
|
491
|
+
firectl deployment scale {deployment_id} \
|
|
492
|
+
--min-replica-count 2 --max-replica-count 8
|
|
493
|
+
|
|
494
|
+
# Delete deployment
|
|
495
|
+
firectl deployment delete {deployment_id}
|
|
496
|
+
```
|
|
497
|
+
|
|
498
|
+
### Fine-tuning via CLI
|
|
499
|
+
|
|
500
|
+
```bash
|
|
501
|
+
# Create SFT job
|
|
502
|
+
firectl supervised-fine-tuning-job create my-sft-job \
|
|
503
|
+
--model accounts/fireworks/models/llama-v3p3-70b-instruct \
|
|
504
|
+
--dataset accounts/{account_id}/datasets/my-dataset
|
|
505
|
+
|
|
506
|
+
# Create RL fine-tuning job
|
|
507
|
+
firectl reinforcement-fine-tuning-job create my-rl-job \
|
|
508
|
+
--base-model accounts/fireworks/models/llama-v3p3-70b-instruct \
|
|
509
|
+
--reward-model accounts/{account_id}/models/my-reward-model
|
|
510
|
+
|
|
511
|
+
# Monitor jobs
|
|
512
|
+
firectl fine-tuning-job list
|
|
513
|
+
firectl fine-tuning-job get my-sft-job
|
|
514
|
+
|
|
515
|
+
# Stop / resume
|
|
516
|
+
firectl fine-tuning-job stop my-sft-job
|
|
517
|
+
firectl fine-tuning-job resume my-sft-job
|
|
518
|
+
```
|
|
519
|
+
|
|
520
|
+
## OpenAI Compatibility
|
|
521
|
+
|
|
522
|
+
Fireworks AI is a drop-in replacement for the OpenAI Python SDK. Change `base_url` and `api_key` -- all existing code works unchanged.
|
|
523
|
+
|
|
524
|
+
### Using the OpenAI SDK
|
|
525
|
+
|
|
526
|
+
```python
|
|
527
|
+
from openai import OpenAI
|
|
528
|
+
|
|
529
|
+
client = OpenAI(
|
|
530
|
+
base_url="https://api.fireworks.ai/inference/v1",
|
|
531
|
+
api_key=os.environ["FIREWORKS_API_KEY"],
|
|
532
|
+
)
|
|
533
|
+
|
|
534
|
+
# Chat completions -- same API as OpenAI
|
|
535
|
+
response = client.chat.completions.create(
|
|
536
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
537
|
+
messages=[{"role": "user", "content": "Hello!"}],
|
|
538
|
+
)
|
|
539
|
+
|
|
540
|
+
# Streaming -- same API
|
|
541
|
+
stream = client.chat.completions.create(
|
|
542
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
543
|
+
messages=[{"role": "user", "content": "Hello!"}],
|
|
544
|
+
stream=True,
|
|
545
|
+
)
|
|
546
|
+
|
|
547
|
+
# Embeddings -- same API
|
|
548
|
+
embeddings = client.embeddings.create(
|
|
549
|
+
model="nomic-ai/nomic-embed-text-v1.5",
|
|
550
|
+
input=["text to embed"],
|
|
551
|
+
)
|
|
552
|
+
```
|
|
553
|
+
|
|
554
|
+
### Environment variable approach
|
|
555
|
+
|
|
556
|
+
```bash
|
|
557
|
+
export OPENAI_API_BASE="https://api.fireworks.ai/inference/v1"
|
|
558
|
+
export OPENAI_API_KEY="fw_..."
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
Then use the OpenAI SDK without any code changes.
|
|
562
|
+
|
|
563
|
+
### Fireworks-specific parameters
|
|
564
|
+
|
|
565
|
+
Fireworks adds `context_length_exceeded_behavior` to control what happens when `prompt + max_tokens` exceeds the model's context window:
|
|
566
|
+
|
|
567
|
+
```python
|
|
568
|
+
response = client.chat.completions.create(
|
|
569
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
570
|
+
messages=[{"role": "user", "content": "..."}],
|
|
571
|
+
max_tokens=512,
|
|
572
|
+
extra_body={"context_length_exceeded_behavior": "truncate"}, # or "error"
|
|
573
|
+
)
|
|
574
|
+
```
|
|
575
|
+
|
|
576
|
+
### Using the native Fireworks SDK
|
|
577
|
+
|
|
578
|
+
```python
|
|
579
|
+
import fireworks.client
|
|
580
|
+
|
|
581
|
+
fireworks.client.api_key = os.environ["FIREWORKS_API_KEY"]
|
|
582
|
+
|
|
583
|
+
response = fireworks.client.ChatCompletion.create(
|
|
584
|
+
model="accounts/fireworks/models/llama-v3p3-70b-instruct",
|
|
585
|
+
messages=[{"role": "user", "content": "Hello!"}],
|
|
586
|
+
)
|
|
587
|
+
print(response.choices[0].message.content)
|
|
588
|
+
```
|
|
589
|
+
|
|
590
|
+
## Cost Optimization
|
|
591
|
+
|
|
592
|
+
### Prompt caching
|
|
593
|
+
|
|
594
|
+
Fireworks automatically caches repeated prompt prefixes. No configuration needed -- identical prefixes across requests reuse cached KV states, reducing both latency and cost.
|
|
595
|
+
|
|
596
|
+
Best practices for prompt caching:
|
|
597
|
+
- Place static system prompts at the beginning of messages
|
|
598
|
+
- Keep dynamic content at the end
|
|
599
|
+
- Use consistent system prompts across requests
|
|
600
|
+
|
|
601
|
+
### Batch inference
|
|
602
|
+
|
|
603
|
+
Batch API provides up to 50% cost savings for non-latency-sensitive workloads:
|
|
604
|
+
|
|
605
|
+
```python
|
|
606
|
+
# Prepare batch file (JSONL)
|
|
607
|
+
# Each line: {"custom_id": "req-1", "method": "POST", "url": "/v1/chat/completions", "body": {...}}
|
|
608
|
+
|
|
609
|
+
# Upload batch file
|
|
610
|
+
batch_file = client.files.create(
|
|
611
|
+
file=open("batch_requests.jsonl", "rb"),
|
|
612
|
+
purpose="batch",
|
|
613
|
+
)
|
|
614
|
+
|
|
615
|
+
# Create batch job
|
|
616
|
+
batch = client.batches.create(
|
|
617
|
+
input_file_id=batch_file.id,
|
|
618
|
+
endpoint="/v1/chat/completions",
|
|
619
|
+
completion_window="24h",
|
|
620
|
+
)
|
|
621
|
+
print(f"Batch ID: {batch.id}, Status: {batch.status}")
|
|
622
|
+
|
|
623
|
+
# Check status
|
|
624
|
+
batch_status = client.batches.retrieve(batch.id)
|
|
625
|
+
print(f"Status: {batch_status.status}")
|
|
626
|
+
```
|
|
627
|
+
|
|
628
|
+
### Cost reduction strategies
|
|
629
|
+
|
|
630
|
+
| Strategy | Savings | How |
|
|
631
|
+
|----------|---------|-----|
|
|
632
|
+
| Use smaller models | 50-90% | `llama-v3p2-3b-instruct` at $0.10/M tokens vs 70B at $0.90/M |
|
|
633
|
+
| Batch API | ~50% | Async processing for non-real-time workloads |
|
|
634
|
+
| Prompt caching | 20-40% | Consistent system prompts, static prefixes |
|
|
635
|
+
| MoE models | 30-50% | Mixtral/DeepSeek: large capacity, smaller active params |
|
|
636
|
+
| On-demand deployments | Variable | Predictable pricing at scale, no per-token markup |
|
|
637
|
+
| Reduce max_tokens | 10-30% | Set realistic output limits |
|
|
638
|
+
|
|
639
|
+
## Common Issues
|
|
640
|
+
|
|
641
|
+
| Problem | Solution |
|
|
642
|
+
|---------|----------|
|
|
643
|
+
| `401 Unauthorized` | Check `FIREWORKS_API_KEY` is set and valid. Get key from https://fireworks.ai/api-keys |
|
|
644
|
+
| `Model not found` | Use full model ID: `accounts/fireworks/models/{model_name}` |
|
|
645
|
+
| `Context length exceeded` | Reduce input or set `context_length_exceeded_behavior: "truncate"` |
|
|
646
|
+
| Rate limited (serverless) | Switch to on-demand deployment for no rate limits |
|
|
647
|
+
| Slow cold start on deployment | Set `minReplicaCount >= 1` to keep replicas warm |
|
|
648
|
+
| Fine-tuning job stuck | Check dataset format matches expected JSONL schema. Use `firectl fine-tuning-job get` |
|
|
649
|
+
| Tool calls not working | Use models that support function calling (Llama 3.3, Qwen, DeepSeek V3) |
|
|
650
|
+
| JSON mode returns invalid JSON | Use `response_format` with explicit schema for strict enforcement |
|
|
651
|
+
| Streaming usage stats missing | Upgrade `openai` SDK to >= 1.6.1. Usage is in the final stream chunk |
|
|
652
|
+
| Deployment not scaling | Check `maxReplicaCount` is set high enough. Review deployment shape |
|
|
653
|
+
|
|
654
|
+
## Resources
|
|
655
|
+
|
|
656
|
+
- **Documentation**: https://docs.fireworks.ai
|
|
657
|
+
- **API Reference**: https://docs.fireworks.ai/api-reference/introduction
|
|
658
|
+
- **Dashboard**: https://fireworks.ai/dashboard
|
|
659
|
+
- **Model Catalog**: https://fireworks.ai/models
|
|
660
|
+
- **Pricing**: https://fireworks.ai/pricing
|
|
661
|
+
- **firectl CLI**: https://docs.fireworks.ai/tools-sdks/firectl/firectl
|
|
662
|
+
- **OpenAI Compatibility**: https://docs.fireworks.ai/tools-sdks/openai-compatibility
|
|
663
|
+
- **Fine-Tuning Guide**: https://docs.fireworks.ai/fine-tuning/fine-tuning-models
|
|
664
|
+
- **Cookbook (GitHub)**: https://github.com/fw-ai/cookbook
|
|
665
|
+
- **Status Page**: https://status.fireworks.ai
|