outlines
1"""Example of integrating `outlines` with `transformers`."""
2
3from pydantic import BaseModel4from transformers import pipeline5
6from outlines.integrations.transformers import JSONPrefixAllowedTokens7
8
9class Person(BaseModel):10first_name: str11surname: str12
13
14pipe = pipeline("text-generation", model="mistralai/Mistral-7B-v0.1")15prefix_allowed_tokens_fn = JSONPrefixAllowedTokens(16schema=Person, tokenizer_or_pipe=pipe, whitespace_pattern=r" ?"17)
18results = pipe(19["He is Tom Jones", "She saw Linda Smith"],20return_full_text=False,21do_sample=False,22max_new_tokens=50,23prefix_allowed_tokens_fn=prefix_allowed_tokens_fn,24)
25print(results)26