@synsci/cli-darwin-x64 1.1.49
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/accelerate/SKILL.md +332 -0
- package/bin/skills/accelerate/references/custom-plugins.md +453 -0
- package/bin/skills/accelerate/references/megatron-integration.md +489 -0
- package/bin/skills/accelerate/references/performance.md +525 -0
- package/bin/skills/audiocraft/SKILL.md +564 -0
- package/bin/skills/audiocraft/references/advanced-usage.md +666 -0
- package/bin/skills/audiocraft/references/troubleshooting.md +504 -0
- package/bin/skills/autogpt/SKILL.md +403 -0
- package/bin/skills/autogpt/references/advanced-usage.md +535 -0
- package/bin/skills/autogpt/references/troubleshooting.md +420 -0
- package/bin/skills/awq/SKILL.md +310 -0
- package/bin/skills/awq/references/advanced-usage.md +324 -0
- package/bin/skills/awq/references/troubleshooting.md +344 -0
- package/bin/skills/axolotl/SKILL.md +158 -0
- package/bin/skills/axolotl/references/api.md +5548 -0
- package/bin/skills/axolotl/references/dataset-formats.md +1029 -0
- package/bin/skills/axolotl/references/index.md +15 -0
- package/bin/skills/axolotl/references/other.md +3563 -0
- package/bin/skills/bigcode-evaluation-harness/SKILL.md +405 -0
- package/bin/skills/bigcode-evaluation-harness/references/benchmarks.md +393 -0
- package/bin/skills/bigcode-evaluation-harness/references/custom-tasks.md +424 -0
- package/bin/skills/bigcode-evaluation-harness/references/issues.md +394 -0
- package/bin/skills/bitsandbytes/SKILL.md +411 -0
- package/bin/skills/bitsandbytes/references/memory-optimization.md +521 -0
- package/bin/skills/bitsandbytes/references/qlora-training.md +521 -0
- package/bin/skills/bitsandbytes/references/quantization-formats.md +447 -0
- package/bin/skills/blip-2/SKILL.md +564 -0
- package/bin/skills/blip-2/references/advanced-usage.md +680 -0
- package/bin/skills/blip-2/references/troubleshooting.md +526 -0
- package/bin/skills/chroma/SKILL.md +406 -0
- package/bin/skills/chroma/references/integration.md +38 -0
- package/bin/skills/clip/SKILL.md +253 -0
- package/bin/skills/clip/references/applications.md +207 -0
- package/bin/skills/constitutional-ai/SKILL.md +290 -0
- package/bin/skills/crewai/SKILL.md +498 -0
- package/bin/skills/crewai/references/flows.md +438 -0
- package/bin/skills/crewai/references/tools.md +429 -0
- package/bin/skills/crewai/references/troubleshooting.md +480 -0
- package/bin/skills/deepspeed/SKILL.md +141 -0
- package/bin/skills/deepspeed/references/08.md +17 -0
- package/bin/skills/deepspeed/references/09.md +173 -0
- package/bin/skills/deepspeed/references/2020.md +378 -0
- package/bin/skills/deepspeed/references/2023.md +279 -0
- package/bin/skills/deepspeed/references/assets.md +179 -0
- package/bin/skills/deepspeed/references/index.md +35 -0
- package/bin/skills/deepspeed/references/mii.md +118 -0
- package/bin/skills/deepspeed/references/other.md +1191 -0
- package/bin/skills/deepspeed/references/tutorials.md +6554 -0
- package/bin/skills/dspy/SKILL.md +590 -0
- package/bin/skills/dspy/references/examples.md +663 -0
- package/bin/skills/dspy/references/modules.md +475 -0
- package/bin/skills/dspy/references/optimizers.md +566 -0
- package/bin/skills/faiss/SKILL.md +221 -0
- package/bin/skills/faiss/references/index_types.md +280 -0
- package/bin/skills/flash-attention/SKILL.md +367 -0
- package/bin/skills/flash-attention/references/benchmarks.md +215 -0
- package/bin/skills/flash-attention/references/transformers-integration.md +293 -0
- package/bin/skills/gguf/SKILL.md +427 -0
- package/bin/skills/gguf/references/advanced-usage.md +504 -0
- package/bin/skills/gguf/references/troubleshooting.md +442 -0
- package/bin/skills/gptq/SKILL.md +450 -0
- package/bin/skills/gptq/references/calibration.md +337 -0
- package/bin/skills/gptq/references/integration.md +129 -0
- package/bin/skills/gptq/references/troubleshooting.md +95 -0
- package/bin/skills/grpo-rl-training/README.md +97 -0
- package/bin/skills/grpo-rl-training/SKILL.md +572 -0
- package/bin/skills/grpo-rl-training/examples/reward_functions_library.py +393 -0
- package/bin/skills/grpo-rl-training/templates/basic_grpo_training.py +228 -0
- package/bin/skills/guidance/SKILL.md +572 -0
- package/bin/skills/guidance/references/backends.md +554 -0
- package/bin/skills/guidance/references/constraints.md +674 -0
- package/bin/skills/guidance/references/examples.md +767 -0
- package/bin/skills/hqq/SKILL.md +445 -0
- package/bin/skills/hqq/references/advanced-usage.md +528 -0
- package/bin/skills/hqq/references/troubleshooting.md +503 -0
- package/bin/skills/hugging-face-cli/SKILL.md +191 -0
- package/bin/skills/hugging-face-cli/references/commands.md +954 -0
- package/bin/skills/hugging-face-cli/references/examples.md +374 -0
- package/bin/skills/hugging-face-datasets/SKILL.md +547 -0
- package/bin/skills/hugging-face-datasets/examples/diverse_training_examples.json +239 -0
- package/bin/skills/hugging-face-datasets/examples/system_prompt_template.txt +196 -0
- package/bin/skills/hugging-face-datasets/examples/training_examples.json +176 -0
- package/bin/skills/hugging-face-datasets/scripts/dataset_manager.py +522 -0
- package/bin/skills/hugging-face-datasets/scripts/sql_manager.py +844 -0
- package/bin/skills/hugging-face-datasets/templates/chat.json +55 -0
- package/bin/skills/hugging-face-datasets/templates/classification.json +62 -0
- package/bin/skills/hugging-face-datasets/templates/completion.json +51 -0
- package/bin/skills/hugging-face-datasets/templates/custom.json +75 -0
- package/bin/skills/hugging-face-datasets/templates/qa.json +54 -0
- package/bin/skills/hugging-face-datasets/templates/tabular.json +81 -0
- package/bin/skills/hugging-face-evaluation/SKILL.md +656 -0
- package/bin/skills/hugging-face-evaluation/examples/USAGE_EXAMPLES.md +382 -0
- package/bin/skills/hugging-face-evaluation/examples/artificial_analysis_to_hub.py +141 -0
- package/bin/skills/hugging-face-evaluation/examples/example_readme_tables.md +135 -0
- package/bin/skills/hugging-face-evaluation/examples/metric_mapping.json +50 -0
- package/bin/skills/hugging-face-evaluation/requirements.txt +20 -0
- package/bin/skills/hugging-face-evaluation/scripts/evaluation_manager.py +1374 -0
- package/bin/skills/hugging-face-evaluation/scripts/inspect_eval_uv.py +104 -0
- package/bin/skills/hugging-face-evaluation/scripts/inspect_vllm_uv.py +317 -0
- package/bin/skills/hugging-face-evaluation/scripts/lighteval_vllm_uv.py +303 -0
- package/bin/skills/hugging-face-evaluation/scripts/run_eval_job.py +98 -0
- package/bin/skills/hugging-face-evaluation/scripts/run_vllm_eval_job.py +331 -0
- package/bin/skills/hugging-face-evaluation/scripts/test_extraction.py +206 -0
- package/bin/skills/hugging-face-jobs/SKILL.md +1041 -0
- package/bin/skills/hugging-face-jobs/index.html +216 -0
- package/bin/skills/hugging-face-jobs/references/hardware_guide.md +336 -0
- package/bin/skills/hugging-face-jobs/references/hub_saving.md +352 -0
- package/bin/skills/hugging-face-jobs/references/token_usage.md +546 -0
- package/bin/skills/hugging-face-jobs/references/troubleshooting.md +475 -0
- package/bin/skills/hugging-face-jobs/scripts/cot-self-instruct.py +718 -0
- package/bin/skills/hugging-face-jobs/scripts/finepdfs-stats.py +546 -0
- package/bin/skills/hugging-face-jobs/scripts/generate-responses.py +587 -0
- package/bin/skills/hugging-face-model-trainer/SKILL.md +711 -0
- package/bin/skills/hugging-face-model-trainer/references/gguf_conversion.md +296 -0
- package/bin/skills/hugging-face-model-trainer/references/hardware_guide.md +283 -0
- package/bin/skills/hugging-face-model-trainer/references/hub_saving.md +364 -0
- package/bin/skills/hugging-face-model-trainer/references/reliability_principles.md +371 -0
- package/bin/skills/hugging-face-model-trainer/references/trackio_guide.md +189 -0
- package/bin/skills/hugging-face-model-trainer/references/training_methods.md +150 -0
- package/bin/skills/hugging-face-model-trainer/references/training_patterns.md +203 -0
- package/bin/skills/hugging-face-model-trainer/references/troubleshooting.md +282 -0
- package/bin/skills/hugging-face-model-trainer/scripts/convert_to_gguf.py +424 -0
- package/bin/skills/hugging-face-model-trainer/scripts/dataset_inspector.py +417 -0
- package/bin/skills/hugging-face-model-trainer/scripts/estimate_cost.py +150 -0
- package/bin/skills/hugging-face-model-trainer/scripts/train_dpo_example.py +106 -0
- package/bin/skills/hugging-face-model-trainer/scripts/train_grpo_example.py +89 -0
- package/bin/skills/hugging-face-model-trainer/scripts/train_sft_example.py +122 -0
- package/bin/skills/hugging-face-paper-publisher/SKILL.md +627 -0
- package/bin/skills/hugging-face-paper-publisher/examples/example_usage.md +327 -0
- package/bin/skills/hugging-face-paper-publisher/references/quick_reference.md +216 -0
- package/bin/skills/hugging-face-paper-publisher/scripts/paper_manager.py +508 -0
- package/bin/skills/hugging-face-paper-publisher/templates/arxiv.md +299 -0
- package/bin/skills/hugging-face-paper-publisher/templates/ml-report.md +358 -0
- package/bin/skills/hugging-face-paper-publisher/templates/modern.md +319 -0
- package/bin/skills/hugging-face-paper-publisher/templates/standard.md +201 -0
- package/bin/skills/hugging-face-tool-builder/SKILL.md +115 -0
- package/bin/skills/hugging-face-tool-builder/references/baseline_hf_api.py +57 -0
- package/bin/skills/hugging-face-tool-builder/references/baseline_hf_api.sh +40 -0
- package/bin/skills/hugging-face-tool-builder/references/baseline_hf_api.tsx +57 -0
- package/bin/skills/hugging-face-tool-builder/references/find_models_by_paper.sh +230 -0
- package/bin/skills/hugging-face-tool-builder/references/hf_enrich_models.sh +96 -0
- package/bin/skills/hugging-face-tool-builder/references/hf_model_card_frontmatter.sh +188 -0
- package/bin/skills/hugging-face-tool-builder/references/hf_model_papers_auth.sh +171 -0
- package/bin/skills/hugging-face-trackio/SKILL.md +65 -0
- package/bin/skills/hugging-face-trackio/references/logging_metrics.md +206 -0
- package/bin/skills/hugging-face-trackio/references/retrieving_metrics.md +223 -0
- package/bin/skills/huggingface-tokenizers/SKILL.md +516 -0
- package/bin/skills/huggingface-tokenizers/references/algorithms.md +653 -0
- package/bin/skills/huggingface-tokenizers/references/integration.md +637 -0
- package/bin/skills/huggingface-tokenizers/references/pipeline.md +723 -0
- package/bin/skills/huggingface-tokenizers/references/training.md +565 -0
- package/bin/skills/instructor/SKILL.md +740 -0
- package/bin/skills/instructor/references/examples.md +107 -0
- package/bin/skills/instructor/references/providers.md +70 -0
- package/bin/skills/instructor/references/validation.md +606 -0
- package/bin/skills/knowledge-distillation/SKILL.md +458 -0
- package/bin/skills/knowledge-distillation/references/minillm.md +334 -0
- package/bin/skills/lambda-labs/SKILL.md +545 -0
- package/bin/skills/lambda-labs/references/advanced-usage.md +611 -0
- package/bin/skills/lambda-labs/references/troubleshooting.md +530 -0
- package/bin/skills/langchain/SKILL.md +480 -0
- package/bin/skills/langchain/references/agents.md +499 -0
- package/bin/skills/langchain/references/integration.md +562 -0
- package/bin/skills/langchain/references/rag.md +600 -0
- package/bin/skills/langsmith/SKILL.md +422 -0
- package/bin/skills/langsmith/references/advanced-usage.md +548 -0
- package/bin/skills/langsmith/references/troubleshooting.md +537 -0
- package/bin/skills/litgpt/SKILL.md +469 -0
- package/bin/skills/litgpt/references/custom-models.md +568 -0
- package/bin/skills/litgpt/references/distributed-training.md +451 -0
- package/bin/skills/litgpt/references/supported-models.md +336 -0
- package/bin/skills/litgpt/references/training-recipes.md +619 -0
- package/bin/skills/llama-cpp/SKILL.md +258 -0
- package/bin/skills/llama-cpp/references/optimization.md +89 -0
- package/bin/skills/llama-cpp/references/quantization.md +213 -0
- package/bin/skills/llama-cpp/references/server.md +125 -0
- package/bin/skills/llama-factory/SKILL.md +80 -0
- package/bin/skills/llama-factory/references/_images.md +23 -0
- package/bin/skills/llama-factory/references/advanced.md +1055 -0
- package/bin/skills/llama-factory/references/getting_started.md +349 -0
- package/bin/skills/llama-factory/references/index.md +19 -0
- package/bin/skills/llama-factory/references/other.md +31 -0
- package/bin/skills/llamaguard/SKILL.md +337 -0
- package/bin/skills/llamaindex/SKILL.md +569 -0
- package/bin/skills/llamaindex/references/agents.md +83 -0
- package/bin/skills/llamaindex/references/data_connectors.md +108 -0
- package/bin/skills/llamaindex/references/query_engines.md +406 -0
- package/bin/skills/llava/SKILL.md +304 -0
- package/bin/skills/llava/references/training.md +197 -0
- package/bin/skills/lm-evaluation-harness/SKILL.md +490 -0
- package/bin/skills/lm-evaluation-harness/references/api-evaluation.md +490 -0
- package/bin/skills/lm-evaluation-harness/references/benchmark-guide.md +488 -0
- package/bin/skills/lm-evaluation-harness/references/custom-tasks.md +602 -0
- package/bin/skills/lm-evaluation-harness/references/distributed-eval.md +519 -0
- package/bin/skills/long-context/SKILL.md +536 -0
- package/bin/skills/long-context/references/extension_methods.md +468 -0
- package/bin/skills/long-context/references/fine_tuning.md +611 -0
- package/bin/skills/long-context/references/rope.md +402 -0
- package/bin/skills/mamba/SKILL.md +260 -0
- package/bin/skills/mamba/references/architecture-details.md +206 -0
- package/bin/skills/mamba/references/benchmarks.md +255 -0
- package/bin/skills/mamba/references/training-guide.md +388 -0
- package/bin/skills/megatron-core/SKILL.md +366 -0
- package/bin/skills/megatron-core/references/benchmarks.md +249 -0
- package/bin/skills/megatron-core/references/parallelism-guide.md +404 -0
- package/bin/skills/megatron-core/references/production-examples.md +473 -0
- package/bin/skills/megatron-core/references/training-recipes.md +547 -0
- package/bin/skills/miles/SKILL.md +315 -0
- package/bin/skills/miles/references/api-reference.md +141 -0
- package/bin/skills/miles/references/troubleshooting.md +352 -0
- package/bin/skills/mlflow/SKILL.md +704 -0
- package/bin/skills/mlflow/references/deployment.md +744 -0
- package/bin/skills/mlflow/references/model-registry.md +770 -0
- package/bin/skills/mlflow/references/tracking.md +680 -0
- package/bin/skills/modal/SKILL.md +341 -0
- package/bin/skills/modal/references/advanced-usage.md +503 -0
- package/bin/skills/modal/references/troubleshooting.md +494 -0
- package/bin/skills/model-merging/SKILL.md +539 -0
- package/bin/skills/model-merging/references/evaluation.md +462 -0
- package/bin/skills/model-merging/references/examples.md +428 -0
- package/bin/skills/model-merging/references/methods.md +352 -0
- package/bin/skills/model-pruning/SKILL.md +495 -0
- package/bin/skills/model-pruning/references/wanda.md +347 -0
- package/bin/skills/moe-training/SKILL.md +526 -0
- package/bin/skills/moe-training/references/architectures.md +432 -0
- package/bin/skills/moe-training/references/inference.md +348 -0
- package/bin/skills/moe-training/references/training.md +425 -0
- package/bin/skills/nanogpt/SKILL.md +290 -0
- package/bin/skills/nanogpt/references/architecture.md +382 -0
- package/bin/skills/nanogpt/references/data.md +476 -0
- package/bin/skills/nanogpt/references/training.md +564 -0
- package/bin/skills/nemo-curator/SKILL.md +383 -0
- package/bin/skills/nemo-curator/references/deduplication.md +87 -0
- package/bin/skills/nemo-curator/references/filtering.md +102 -0
- package/bin/skills/nemo-evaluator/SKILL.md +494 -0
- package/bin/skills/nemo-evaluator/references/adapter-system.md +340 -0
- package/bin/skills/nemo-evaluator/references/configuration.md +447 -0
- package/bin/skills/nemo-evaluator/references/custom-benchmarks.md +315 -0
- package/bin/skills/nemo-evaluator/references/execution-backends.md +361 -0
- package/bin/skills/nemo-guardrails/SKILL.md +297 -0
- package/bin/skills/nnsight/SKILL.md +436 -0
- package/bin/skills/nnsight/references/README.md +78 -0
- package/bin/skills/nnsight/references/api.md +344 -0
- package/bin/skills/nnsight/references/tutorials.md +300 -0
- package/bin/skills/openrlhf/SKILL.md +249 -0
- package/bin/skills/openrlhf/references/algorithm-comparison.md +404 -0
- package/bin/skills/openrlhf/references/custom-rewards.md +530 -0
- package/bin/skills/openrlhf/references/hybrid-engine.md +287 -0
- package/bin/skills/openrlhf/references/multi-node-training.md +454 -0
- package/bin/skills/outlines/SKILL.md +652 -0
- package/bin/skills/outlines/references/backends.md +615 -0
- package/bin/skills/outlines/references/examples.md +773 -0
- package/bin/skills/outlines/references/json_generation.md +652 -0
- package/bin/skills/peft/SKILL.md +431 -0
- package/bin/skills/peft/references/advanced-usage.md +514 -0
- package/bin/skills/peft/references/troubleshooting.md +480 -0
- package/bin/skills/phoenix/SKILL.md +475 -0
- package/bin/skills/phoenix/references/advanced-usage.md +619 -0
- package/bin/skills/phoenix/references/troubleshooting.md +538 -0
- package/bin/skills/pinecone/SKILL.md +358 -0
- package/bin/skills/pinecone/references/deployment.md +181 -0
- package/bin/skills/pytorch-fsdp/SKILL.md +126 -0
- package/bin/skills/pytorch-fsdp/references/index.md +7 -0
- package/bin/skills/pytorch-fsdp/references/other.md +4249 -0
- package/bin/skills/pytorch-lightning/SKILL.md +346 -0
- package/bin/skills/pytorch-lightning/references/callbacks.md +436 -0
- package/bin/skills/pytorch-lightning/references/distributed.md +490 -0
- package/bin/skills/pytorch-lightning/references/hyperparameter-tuning.md +556 -0
- package/bin/skills/pyvene/SKILL.md +473 -0
- package/bin/skills/pyvene/references/README.md +73 -0
- package/bin/skills/pyvene/references/api.md +383 -0
- package/bin/skills/pyvene/references/tutorials.md +376 -0
- package/bin/skills/qdrant/SKILL.md +493 -0
- package/bin/skills/qdrant/references/advanced-usage.md +648 -0
- package/bin/skills/qdrant/references/troubleshooting.md +631 -0
- package/bin/skills/ray-data/SKILL.md +326 -0
- package/bin/skills/ray-data/references/integration.md +82 -0
- package/bin/skills/ray-data/references/transformations.md +83 -0
- package/bin/skills/ray-train/SKILL.md +406 -0
- package/bin/skills/ray-train/references/multi-node.md +628 -0
- package/bin/skills/rwkv/SKILL.md +260 -0
- package/bin/skills/rwkv/references/architecture-details.md +344 -0
- package/bin/skills/rwkv/references/rwkv7.md +386 -0
- package/bin/skills/rwkv/references/state-management.md +369 -0
- package/bin/skills/saelens/SKILL.md +386 -0
- package/bin/skills/saelens/references/README.md +70 -0
- package/bin/skills/saelens/references/api.md +333 -0
- package/bin/skills/saelens/references/tutorials.md +318 -0
- package/bin/skills/segment-anything/SKILL.md +500 -0
- package/bin/skills/segment-anything/references/advanced-usage.md +589 -0
- package/bin/skills/segment-anything/references/troubleshooting.md +484 -0
- package/bin/skills/sentence-transformers/SKILL.md +255 -0
- package/bin/skills/sentence-transformers/references/models.md +123 -0
- package/bin/skills/sentencepiece/SKILL.md +235 -0
- package/bin/skills/sentencepiece/references/algorithms.md +200 -0
- package/bin/skills/sentencepiece/references/training.md +304 -0
- package/bin/skills/sglang/SKILL.md +442 -0
- package/bin/skills/sglang/references/deployment.md +490 -0
- package/bin/skills/sglang/references/radix-attention.md +413 -0
- package/bin/skills/sglang/references/structured-generation.md +541 -0
- package/bin/skills/simpo/SKILL.md +219 -0
- package/bin/skills/simpo/references/datasets.md +478 -0
- package/bin/skills/simpo/references/hyperparameters.md +452 -0
- package/bin/skills/simpo/references/loss-functions.md +350 -0
- package/bin/skills/skypilot/SKILL.md +509 -0
- package/bin/skills/skypilot/references/advanced-usage.md +491 -0
- package/bin/skills/skypilot/references/troubleshooting.md +570 -0
- package/bin/skills/slime/SKILL.md +464 -0
- package/bin/skills/slime/references/api-reference.md +392 -0
- package/bin/skills/slime/references/troubleshooting.md +386 -0
- package/bin/skills/speculative-decoding/SKILL.md +467 -0
- package/bin/skills/speculative-decoding/references/lookahead.md +309 -0
- package/bin/skills/speculative-decoding/references/medusa.md +350 -0
- package/bin/skills/stable-diffusion/SKILL.md +519 -0
- package/bin/skills/stable-diffusion/references/advanced-usage.md +716 -0
- package/bin/skills/stable-diffusion/references/troubleshooting.md +555 -0
- package/bin/skills/tensorboard/SKILL.md +629 -0
- package/bin/skills/tensorboard/references/integrations.md +638 -0
- package/bin/skills/tensorboard/references/profiling.md +545 -0
- package/bin/skills/tensorboard/references/visualization.md +620 -0
- package/bin/skills/tensorrt-llm/SKILL.md +187 -0
- package/bin/skills/tensorrt-llm/references/multi-gpu.md +298 -0
- package/bin/skills/tensorrt-llm/references/optimization.md +242 -0
- package/bin/skills/tensorrt-llm/references/serving.md +470 -0
- package/bin/skills/tinker/SKILL.md +362 -0
- package/bin/skills/tinker/references/api-reference.md +168 -0
- package/bin/skills/tinker/references/getting-started.md +157 -0
- package/bin/skills/tinker/references/loss-functions.md +163 -0
- package/bin/skills/tinker/references/models-and-lora.md +139 -0
- package/bin/skills/tinker/references/recipes.md +280 -0
- package/bin/skills/tinker/references/reinforcement-learning.md +212 -0
- package/bin/skills/tinker/references/rendering.md +243 -0
- package/bin/skills/tinker/references/supervised-learning.md +232 -0
- package/bin/skills/tinker-training-cost/SKILL.md +187 -0
- package/bin/skills/tinker-training-cost/scripts/calculate_cost.py +123 -0
- package/bin/skills/torchforge/SKILL.md +433 -0
- package/bin/skills/torchforge/references/api-reference.md +327 -0
- package/bin/skills/torchforge/references/troubleshooting.md +409 -0
- package/bin/skills/torchtitan/SKILL.md +358 -0
- package/bin/skills/torchtitan/references/checkpoint.md +181 -0
- package/bin/skills/torchtitan/references/custom-models.md +258 -0
- package/bin/skills/torchtitan/references/float8.md +133 -0
- package/bin/skills/torchtitan/references/fsdp.md +126 -0
- package/bin/skills/transformer-lens/SKILL.md +346 -0
- package/bin/skills/transformer-lens/references/README.md +54 -0
- package/bin/skills/transformer-lens/references/api.md +362 -0
- package/bin/skills/transformer-lens/references/tutorials.md +339 -0
- package/bin/skills/trl-fine-tuning/SKILL.md +455 -0
- package/bin/skills/trl-fine-tuning/references/dpo-variants.md +227 -0
- package/bin/skills/trl-fine-tuning/references/online-rl.md +82 -0
- package/bin/skills/trl-fine-tuning/references/reward-modeling.md +122 -0
- package/bin/skills/trl-fine-tuning/references/sft-training.md +168 -0
- package/bin/skills/unsloth/SKILL.md +80 -0
- package/bin/skills/unsloth/references/index.md +7 -0
- package/bin/skills/unsloth/references/llms-full.md +16799 -0
- package/bin/skills/unsloth/references/llms-txt.md +12044 -0
- package/bin/skills/unsloth/references/llms.md +82 -0
- package/bin/skills/verl/SKILL.md +391 -0
- package/bin/skills/verl/references/api-reference.md +301 -0
- package/bin/skills/verl/references/troubleshooting.md +391 -0
- package/bin/skills/vllm/SKILL.md +364 -0
- package/bin/skills/vllm/references/optimization.md +226 -0
- package/bin/skills/vllm/references/quantization.md +284 -0
- package/bin/skills/vllm/references/server-deployment.md +255 -0
- package/bin/skills/vllm/references/troubleshooting.md +447 -0
- package/bin/skills/weights-and-biases/SKILL.md +590 -0
- package/bin/skills/weights-and-biases/references/artifacts.md +584 -0
- package/bin/skills/weights-and-biases/references/integrations.md +700 -0
- package/bin/skills/weights-and-biases/references/sweeps.md +847 -0
- package/bin/skills/whisper/SKILL.md +317 -0
- package/bin/skills/whisper/references/languages.md +189 -0
- package/bin/synsc +0 -0
- package/package.json +10 -0
|
@@ -0,0 +1,562 @@
|
|
|
1
|
+
# LangChain Integration Guide
|
|
2
|
+
|
|
3
|
+
Integration with vector stores, LangSmith observability, and deployment.
|
|
4
|
+
|
|
5
|
+
## Vector store integrations
|
|
6
|
+
|
|
7
|
+
### Chroma (local, open-source)
|
|
8
|
+
|
|
9
|
+
```python
|
|
10
|
+
from langchain_chroma import Chroma
|
|
11
|
+
from langchain_openai import OpenAIEmbeddings
|
|
12
|
+
|
|
13
|
+
# Create vector store
|
|
14
|
+
vectorstore = Chroma.from_documents(
|
|
15
|
+
documents=docs,
|
|
16
|
+
embedding=OpenAIEmbeddings(),
|
|
17
|
+
persist_directory="./chroma_db"
|
|
18
|
+
)
|
|
19
|
+
|
|
20
|
+
# Load existing store
|
|
21
|
+
vectorstore = Chroma(
|
|
22
|
+
persist_directory="./chroma_db",
|
|
23
|
+
embedding_function=OpenAIEmbeddings()
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
# Add documents incrementally
|
|
27
|
+
vectorstore.add_documents([new_doc1, new_doc2])
|
|
28
|
+
|
|
29
|
+
# Delete documents
|
|
30
|
+
vectorstore.delete(ids=["doc1", "doc2"])
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Pinecone (cloud, scalable)
|
|
34
|
+
|
|
35
|
+
```python
|
|
36
|
+
from langchain_pinecone import PineconeVectorStore
|
|
37
|
+
import pinecone
|
|
38
|
+
|
|
39
|
+
# Initialize Pinecone
|
|
40
|
+
pinecone.init(api_key="your-api-key", environment="us-west1-gcp")
|
|
41
|
+
|
|
42
|
+
# Create index (one-time)
|
|
43
|
+
pinecone.create_index("my-index", dimension=1536, metric="cosine")
|
|
44
|
+
|
|
45
|
+
# Create vector store
|
|
46
|
+
vectorstore = PineconeVectorStore.from_documents(
|
|
47
|
+
documents=docs,
|
|
48
|
+
embedding=OpenAIEmbeddings(),
|
|
49
|
+
index_name="my-index"
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
# Query with metadata filters
|
|
53
|
+
results = vectorstore.similarity_search(
|
|
54
|
+
"Python tutorials",
|
|
55
|
+
k=4,
|
|
56
|
+
filter={"category": "beginner"}
|
|
57
|
+
)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### FAISS (fast similarity search)
|
|
61
|
+
|
|
62
|
+
```python
|
|
63
|
+
from langchain_community.vectorstores import FAISS
|
|
64
|
+
|
|
65
|
+
# Create FAISS index
|
|
66
|
+
vectorstore = FAISS.from_documents(docs, OpenAIEmbeddings())
|
|
67
|
+
|
|
68
|
+
# Save to disk
|
|
69
|
+
vectorstore.save_local("./faiss_index")
|
|
70
|
+
|
|
71
|
+
# Load from disk
|
|
72
|
+
vectorstore = FAISS.load_local(
|
|
73
|
+
"./faiss_index",
|
|
74
|
+
OpenAIEmbeddings(),
|
|
75
|
+
allow_dangerous_deserialization=True
|
|
76
|
+
)
|
|
77
|
+
|
|
78
|
+
# Merge multiple indices
|
|
79
|
+
vectorstore1 = FAISS.load_local("./index1", embeddings)
|
|
80
|
+
vectorstore2 = FAISS.load_local("./index2", embeddings)
|
|
81
|
+
vectorstore1.merge_from(vectorstore2)
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
### Weaviate (production, ML-native)
|
|
85
|
+
|
|
86
|
+
```python
|
|
87
|
+
from langchain_weaviate import WeaviateVectorStore
|
|
88
|
+
import weaviate
|
|
89
|
+
|
|
90
|
+
# Connect to Weaviate
|
|
91
|
+
client = weaviate.Client("http://localhost:8080")
|
|
92
|
+
|
|
93
|
+
# Create vector store
|
|
94
|
+
vectorstore = WeaviateVectorStore.from_documents(
|
|
95
|
+
documents=docs,
|
|
96
|
+
embedding=OpenAIEmbeddings(),
|
|
97
|
+
client=client,
|
|
98
|
+
index_name="LangChain"
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
# Hybrid search (vector + keyword)
|
|
102
|
+
results = vectorstore.similarity_search(
|
|
103
|
+
"Python async",
|
|
104
|
+
k=4,
|
|
105
|
+
alpha=0.5 # 0=keyword, 1=vector, 0.5=hybrid
|
|
106
|
+
)
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Qdrant (fast, open-source)
|
|
110
|
+
|
|
111
|
+
```python
|
|
112
|
+
from langchain_qdrant import QdrantVectorStore
|
|
113
|
+
from qdrant_client import QdrantClient
|
|
114
|
+
|
|
115
|
+
# Connect to Qdrant
|
|
116
|
+
client = QdrantClient(host="localhost", port=6333)
|
|
117
|
+
|
|
118
|
+
# Create vector store
|
|
119
|
+
vectorstore = QdrantVectorStore.from_documents(
|
|
120
|
+
documents=docs,
|
|
121
|
+
embedding=OpenAIEmbeddings(),
|
|
122
|
+
collection_name="my_documents",
|
|
123
|
+
client=client
|
|
124
|
+
)
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## LangSmith observability
|
|
128
|
+
|
|
129
|
+
### Enable tracing
|
|
130
|
+
|
|
131
|
+
```python
|
|
132
|
+
import os
|
|
133
|
+
|
|
134
|
+
# Set environment variables
|
|
135
|
+
os.environ["LANGCHAIN_TRACING_V2"] = "true"
|
|
136
|
+
os.environ["LANGCHAIN_API_KEY"] = "your-langsmith-api-key"
|
|
137
|
+
os.environ["LANGCHAIN_PROJECT"] = "my-project"
|
|
138
|
+
|
|
139
|
+
# All chains/agents automatically traced
|
|
140
|
+
from langchain.agents import create_agent
|
|
141
|
+
from langchain_anthropic import ChatAnthropic
|
|
142
|
+
|
|
143
|
+
agent = create_agent(
|
|
144
|
+
model=ChatAnthropic(model="claude-sonnet-4-5-20250929"),
|
|
145
|
+
tools=[calculator, search]
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
# Run - automatically logged to LangSmith
|
|
149
|
+
result = agent.invoke({"input": "What is 25 * 17?"})
|
|
150
|
+
|
|
151
|
+
# View traces at https://smith.langchain.com
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Custom metadata
|
|
155
|
+
|
|
156
|
+
```python
|
|
157
|
+
from langchain.callbacks import tracing_v2_enabled
|
|
158
|
+
|
|
159
|
+
# Add custom metadata to traces
|
|
160
|
+
with tracing_v2_enabled(
|
|
161
|
+
project_name="my-project",
|
|
162
|
+
tags=["production", "customer-support"],
|
|
163
|
+
metadata={"user_id": "12345", "session_id": "abc"}
|
|
164
|
+
):
|
|
165
|
+
result = agent.invoke({"input": "Help me with Python"})
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### Evaluate runs
|
|
169
|
+
|
|
170
|
+
```python
|
|
171
|
+
from langsmith import Client
|
|
172
|
+
|
|
173
|
+
client = Client()
|
|
174
|
+
|
|
175
|
+
# Create dataset
|
|
176
|
+
dataset = client.create_dataset("qa-eval")
|
|
177
|
+
client.create_example(
|
|
178
|
+
dataset_id=dataset.id,
|
|
179
|
+
inputs={"question": "What is Python?"},
|
|
180
|
+
outputs={"answer": "Python is a programming language"}
|
|
181
|
+
)
|
|
182
|
+
|
|
183
|
+
# Evaluate
|
|
184
|
+
from langchain.evaluation import load_evaluator
|
|
185
|
+
|
|
186
|
+
evaluator = load_evaluator("qa")
|
|
187
|
+
results = client.evaluate(
|
|
188
|
+
lambda x: qa_chain(x),
|
|
189
|
+
data=dataset,
|
|
190
|
+
evaluators=[evaluator]
|
|
191
|
+
)
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Deployment patterns
|
|
195
|
+
|
|
196
|
+
### FastAPI server
|
|
197
|
+
|
|
198
|
+
```python
|
|
199
|
+
from fastapi import FastAPI
|
|
200
|
+
from pydantic import BaseModel
|
|
201
|
+
from langchain.agents import create_agent
|
|
202
|
+
|
|
203
|
+
app = FastAPI()
|
|
204
|
+
|
|
205
|
+
# Initialize agent once
|
|
206
|
+
agent = create_agent(
|
|
207
|
+
model=llm,
|
|
208
|
+
tools=[search, calculator]
|
|
209
|
+
)
|
|
210
|
+
|
|
211
|
+
class Query(BaseModel):
|
|
212
|
+
input: str
|
|
213
|
+
|
|
214
|
+
@app.post("/chat")
|
|
215
|
+
async def chat(query: Query):
|
|
216
|
+
result = agent.invoke({"input": query.input})
|
|
217
|
+
return {"response": result["output"]}
|
|
218
|
+
|
|
219
|
+
# Run: uvicorn main:app --reload
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Streaming responses
|
|
223
|
+
|
|
224
|
+
```python
|
|
225
|
+
from fastapi.responses import StreamingResponse
|
|
226
|
+
from langchain.callbacks import AsyncIteratorCallbackHandler
|
|
227
|
+
|
|
228
|
+
@app.post("/chat/stream")
|
|
229
|
+
async def chat_stream(query: Query):
|
|
230
|
+
callback = AsyncIteratorCallbackHandler()
|
|
231
|
+
|
|
232
|
+
async def generate():
|
|
233
|
+
async for token in agent.astream({"input": query.input}):
|
|
234
|
+
if "output" in token:
|
|
235
|
+
yield token["output"]
|
|
236
|
+
|
|
237
|
+
return StreamingResponse(generate(), media_type="text/plain")
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Docker deployment
|
|
241
|
+
|
|
242
|
+
```dockerfile
|
|
243
|
+
# Dockerfile
|
|
244
|
+
FROM python:3.11-slim
|
|
245
|
+
|
|
246
|
+
WORKDIR /app
|
|
247
|
+
|
|
248
|
+
COPY requirements.txt .
|
|
249
|
+
RUN pip install -r requirements.txt
|
|
250
|
+
|
|
251
|
+
COPY . .
|
|
252
|
+
|
|
253
|
+
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
```bash
|
|
257
|
+
# Build and run
|
|
258
|
+
docker build -t langchain-app .
|
|
259
|
+
docker run -p 8000:8000 \
|
|
260
|
+
-e OPENAI_API_KEY=your-key \
|
|
261
|
+
-e LANGCHAIN_API_KEY=your-key \
|
|
262
|
+
langchain-app
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### Kubernetes deployment
|
|
266
|
+
|
|
267
|
+
```yaml
|
|
268
|
+
# deployment.yaml
|
|
269
|
+
apiVersion: apps/v1
|
|
270
|
+
kind: Deployment
|
|
271
|
+
metadata:
|
|
272
|
+
name: langchain-app
|
|
273
|
+
spec:
|
|
274
|
+
replicas: 3
|
|
275
|
+
selector:
|
|
276
|
+
matchLabels:
|
|
277
|
+
app: langchain
|
|
278
|
+
template:
|
|
279
|
+
metadata:
|
|
280
|
+
labels:
|
|
281
|
+
app: langchain
|
|
282
|
+
spec:
|
|
283
|
+
containers:
|
|
284
|
+
- name: langchain
|
|
285
|
+
image: your-registry/langchain-app:latest
|
|
286
|
+
ports:
|
|
287
|
+
- containerPort: 8000
|
|
288
|
+
env:
|
|
289
|
+
- name: OPENAI_API_KEY
|
|
290
|
+
valueFrom:
|
|
291
|
+
secretKeyRef:
|
|
292
|
+
name: langchain-secrets
|
|
293
|
+
key: openai-api-key
|
|
294
|
+
resources:
|
|
295
|
+
requests:
|
|
296
|
+
memory: "512Mi"
|
|
297
|
+
cpu: "500m"
|
|
298
|
+
limits:
|
|
299
|
+
memory: "2Gi"
|
|
300
|
+
cpu: "2000m"
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
## Model integrations
|
|
304
|
+
|
|
305
|
+
### OpenAI
|
|
306
|
+
|
|
307
|
+
```python
|
|
308
|
+
from langchain_openai import ChatOpenAI
|
|
309
|
+
|
|
310
|
+
llm = ChatOpenAI(
|
|
311
|
+
model="gpt-4o",
|
|
312
|
+
temperature=0,
|
|
313
|
+
max_tokens=1000,
|
|
314
|
+
timeout=30,
|
|
315
|
+
max_retries=2
|
|
316
|
+
)
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### Anthropic
|
|
320
|
+
|
|
321
|
+
```python
|
|
322
|
+
from langchain_anthropic import ChatAnthropic
|
|
323
|
+
|
|
324
|
+
llm = ChatAnthropic(
|
|
325
|
+
model="claude-sonnet-4-5-20250929",
|
|
326
|
+
temperature=0,
|
|
327
|
+
max_tokens=4096,
|
|
328
|
+
timeout=60
|
|
329
|
+
)
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Google
|
|
333
|
+
|
|
334
|
+
```python
|
|
335
|
+
from langchain_google_genai import ChatGoogleGenerativeAI
|
|
336
|
+
|
|
337
|
+
llm = ChatGoogleGenerativeAI(
|
|
338
|
+
model="gemini-2.0-flash-exp",
|
|
339
|
+
temperature=0
|
|
340
|
+
)
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
### Local models (Ollama)
|
|
344
|
+
|
|
345
|
+
```python
|
|
346
|
+
from langchain_community.llms import Ollama
|
|
347
|
+
|
|
348
|
+
llm = Ollama(
|
|
349
|
+
model="llama3",
|
|
350
|
+
base_url="http://localhost:11434"
|
|
351
|
+
)
|
|
352
|
+
```
|
|
353
|
+
|
|
354
|
+
### Azure OpenAI
|
|
355
|
+
|
|
356
|
+
```python
|
|
357
|
+
from langchain_openai import AzureChatOpenAI
|
|
358
|
+
|
|
359
|
+
llm = AzureChatOpenAI(
|
|
360
|
+
azure_endpoint="https://your-endpoint.openai.azure.com/",
|
|
361
|
+
azure_deployment="gpt-4",
|
|
362
|
+
api_version="2024-02-15-preview"
|
|
363
|
+
)
|
|
364
|
+
```
|
|
365
|
+
|
|
366
|
+
## Tool integrations
|
|
367
|
+
|
|
368
|
+
### Web search
|
|
369
|
+
|
|
370
|
+
```python
|
|
371
|
+
from langchain_community.tools import DuckDuckGoSearchRun, TavilySearchResults
|
|
372
|
+
|
|
373
|
+
# DuckDuckGo (free)
|
|
374
|
+
search = DuckDuckGoSearchRun()
|
|
375
|
+
|
|
376
|
+
# Tavily (best quality)
|
|
377
|
+
search = TavilySearchResults(api_key="your-key")
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
### Wikipedia
|
|
381
|
+
|
|
382
|
+
```python
|
|
383
|
+
from langchain_community.tools import WikipediaQueryRun
|
|
384
|
+
from langchain_community.utilities import WikipediaAPIWrapper
|
|
385
|
+
|
|
386
|
+
wikipedia = WikipediaQueryRun(api_wrapper=WikipediaAPIWrapper())
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### Python REPL
|
|
390
|
+
|
|
391
|
+
```python
|
|
392
|
+
from langchain_experimental.tools import PythonREPLTool
|
|
393
|
+
|
|
394
|
+
python_repl = PythonREPLTool()
|
|
395
|
+
|
|
396
|
+
# Agent can execute Python code
|
|
397
|
+
agent = create_agent(model=llm, tools=[python_repl])
|
|
398
|
+
result = agent.invoke({"input": "Calculate the 10th Fibonacci number"})
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
### Shell commands
|
|
402
|
+
|
|
403
|
+
```python
|
|
404
|
+
from langchain_community.tools import ShellTool
|
|
405
|
+
|
|
406
|
+
shell = ShellTool()
|
|
407
|
+
|
|
408
|
+
# Agent can run shell commands
|
|
409
|
+
agent = create_agent(model=llm, tools=[shell])
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
### SQL databases
|
|
413
|
+
|
|
414
|
+
```python
|
|
415
|
+
from langchain_community.utilities import SQLDatabase
|
|
416
|
+
from langchain_community.agent_toolkits import create_sql_agent
|
|
417
|
+
|
|
418
|
+
db = SQLDatabase.from_uri("sqlite:///mydatabase.db")
|
|
419
|
+
|
|
420
|
+
agent = create_sql_agent(
|
|
421
|
+
llm=llm,
|
|
422
|
+
db=db,
|
|
423
|
+
agent_type="openai-tools",
|
|
424
|
+
verbose=True
|
|
425
|
+
)
|
|
426
|
+
|
|
427
|
+
result = agent.run("How many users are in the database?")
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
## Memory integrations
|
|
431
|
+
|
|
432
|
+
### Redis
|
|
433
|
+
|
|
434
|
+
```python
|
|
435
|
+
from langchain.memory import RedisChatMessageHistory
|
|
436
|
+
from langchain.memory import ConversationBufferMemory
|
|
437
|
+
|
|
438
|
+
# Redis-backed memory
|
|
439
|
+
message_history = RedisChatMessageHistory(
|
|
440
|
+
url="redis://localhost:6379",
|
|
441
|
+
session_id="user-123"
|
|
442
|
+
)
|
|
443
|
+
|
|
444
|
+
memory = ConversationBufferMemory(
|
|
445
|
+
chat_memory=message_history,
|
|
446
|
+
return_messages=True
|
|
447
|
+
)
|
|
448
|
+
```
|
|
449
|
+
|
|
450
|
+
### PostgreSQL
|
|
451
|
+
|
|
452
|
+
```python
|
|
453
|
+
from langchain_postgres import PostgresChatMessageHistory
|
|
454
|
+
|
|
455
|
+
message_history = PostgresChatMessageHistory(
|
|
456
|
+
connection_string="postgresql://user:pass@localhost/db",
|
|
457
|
+
session_id="user-123"
|
|
458
|
+
)
|
|
459
|
+
```
|
|
460
|
+
|
|
461
|
+
### MongoDB
|
|
462
|
+
|
|
463
|
+
```python
|
|
464
|
+
from langchain_mongodb import MongoDBChatMessageHistory
|
|
465
|
+
|
|
466
|
+
message_history = MongoDBChatMessageHistory(
|
|
467
|
+
connection_string="mongodb://localhost:27017/",
|
|
468
|
+
session_id="user-123"
|
|
469
|
+
)
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
## Caching
|
|
473
|
+
|
|
474
|
+
### In-memory cache
|
|
475
|
+
|
|
476
|
+
```python
|
|
477
|
+
from langchain.cache import InMemoryCache
|
|
478
|
+
from langchain.globals import set_llm_cache
|
|
479
|
+
|
|
480
|
+
set_llm_cache(InMemoryCache())
|
|
481
|
+
|
|
482
|
+
# Same query uses cache
|
|
483
|
+
response1 = llm.invoke("What is Python?") # API call
|
|
484
|
+
response2 = llm.invoke("What is Python?") # Cached
|
|
485
|
+
```
|
|
486
|
+
|
|
487
|
+
### SQLite cache
|
|
488
|
+
|
|
489
|
+
```python
|
|
490
|
+
from langchain.cache import SQLiteCache
|
|
491
|
+
|
|
492
|
+
set_llm_cache(SQLiteCache(database_path=".langchain.db"))
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
### Redis cache
|
|
496
|
+
|
|
497
|
+
```python
|
|
498
|
+
from langchain.cache import RedisCache
|
|
499
|
+
from redis import Redis
|
|
500
|
+
|
|
501
|
+
set_llm_cache(RedisCache(redis_=Redis(host="localhost", port=6379)))
|
|
502
|
+
```
|
|
503
|
+
|
|
504
|
+
## Monitoring & logging
|
|
505
|
+
|
|
506
|
+
### Custom callbacks
|
|
507
|
+
|
|
508
|
+
```python
|
|
509
|
+
from langchain.callbacks.base import BaseCallbackHandler
|
|
510
|
+
|
|
511
|
+
class CustomCallback(BaseCallbackHandler):
|
|
512
|
+
def on_llm_start(self, serialized, prompts, **kwargs):
|
|
513
|
+
print(f"LLM started with prompts: {prompts}")
|
|
514
|
+
|
|
515
|
+
def on_llm_end(self, response, **kwargs):
|
|
516
|
+
print(f"LLM finished with: {response}")
|
|
517
|
+
|
|
518
|
+
def on_tool_start(self, serialized, input_str, **kwargs):
|
|
519
|
+
print(f"Tool {serialized['name']} started with: {input_str}")
|
|
520
|
+
|
|
521
|
+
def on_tool_end(self, output, **kwargs):
|
|
522
|
+
print(f"Tool finished with: {output}")
|
|
523
|
+
|
|
524
|
+
# Use callback
|
|
525
|
+
agent = create_agent(
|
|
526
|
+
model=llm,
|
|
527
|
+
tools=[calculator],
|
|
528
|
+
callbacks=[CustomCallback()]
|
|
529
|
+
)
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
### Token counting
|
|
533
|
+
|
|
534
|
+
```python
|
|
535
|
+
from langchain.callbacks import get_openai_callback
|
|
536
|
+
|
|
537
|
+
with get_openai_callback() as cb:
|
|
538
|
+
result = llm.invoke("Write a long story")
|
|
539
|
+
print(f"Tokens used: {cb.total_tokens}")
|
|
540
|
+
print(f"Cost: ${cb.total_cost:.4f}")
|
|
541
|
+
```
|
|
542
|
+
|
|
543
|
+
## Best practices
|
|
544
|
+
|
|
545
|
+
1. **Use LangSmith in production** - Essential for debugging
|
|
546
|
+
2. **Cache aggressively** - LLM calls are expensive
|
|
547
|
+
3. **Set timeouts** - Prevent hanging requests
|
|
548
|
+
4. **Add retries** - Handle transient failures
|
|
549
|
+
5. **Monitor costs** - Track token usage
|
|
550
|
+
6. **Version your prompts** - Track changes
|
|
551
|
+
7. **Use async** - Better performance for I/O
|
|
552
|
+
8. **Persistent memory** - Don't lose conversation history
|
|
553
|
+
9. **Secure API keys** - Use environment variables
|
|
554
|
+
10. **Test integrations** - Verify connections before production
|
|
555
|
+
|
|
556
|
+
## Resources
|
|
557
|
+
|
|
558
|
+
- **LangSmith**: https://smith.langchain.com
|
|
559
|
+
- **Vector Stores**: https://python.langchain.com/docs/integrations/vectorstores
|
|
560
|
+
- **Model Providers**: https://python.langchain.com/docs/integrations/llms
|
|
561
|
+
- **Tools**: https://python.langchain.com/docs/integrations/tools
|
|
562
|
+
- **Deployment Guide**: https://docs.langchain.com/deploy
|