guidance
Control LLM output with regex and grammars, guarantee valid JSON/XML/code generation, enforce structured formats, and build multi-step workflows with Guidance - Microsoft Research's constrained generation framework
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Control LLM output with regex and grammars, guarantee valid JSON/XML/code generation, enforce structured formats, and build multi-step workflows with Guidance - Microsoft Research's constrained generation framework
How to use
Zainstaluj Guidance za pomocą pip install guidance. Jeśli planujesz pracować z modelami Hugging Face, dodaj [transformers]: pip install guidance[transformers]. Dla llama.cpp użyj pip install guidance[llama_cpp].
Zaimportuj niezbędne komponenty: from guidance import models, gen, system, user, assistant. Moduł gen służy do definiowania miejsc, w których model powinien generować tekst, a context managery (system, user, assistant) pomagają strukturyzować konwersacje.
Załaduj wybrany model. Dla OpenAI: lm = models.OpenAI("gpt-4"). Dla Claude: lm = models.Anthropic("claude-sonnet-4-5-20250929"). Guidance automatycznie obsługuje uwierzytelnianie na podstawie zmiennych środowiskowych.
Zdefiniuj szablon z ograniczeniami. Użyj operatora + do łączenia tekstu statycznego z gen() dla miejsc generacji. Na przykład: result = lm + "Stolica Francji to " + gen("capital", max_tokens=5). Parametr max_tokens ogranicza długość odpowiedzi.
Dla bardziej złożonych scenariuszy wykorzystaj context managery. Opakuj instrukcje systemu w with system():, pytania użytkownika w with user():, a oczekiwane odpowiedzi w with assistant():. To zapewnia prawidłowy format dla modeli opartych na czacie.
Uruchom kod i dostęp do wyników. Zwrócony obiekt zawiera wszystkie zmienne zdefiniowane w gen() jako klucze słownika. Na przykład result["capital"] zwróci wygenerowaną wartość. Guidance gwarantuje, że output będzie zgodny z narzuconymi ograniczeniami.