1from transformers import pipeline
2
3messages = [
4 {
5 "role": "system",
6 "content": """\
7あなたは思慮深いassistantとして回答します。
8userの質問に対して、<think></think>ブロック内で思考してから、<answer></answer>内にファイナルアンサーし、最後に<|im_end|>で回答終了してください。
9具体的には「<think>ここで思考</think><answer>ここに最終解答</answer><|im_end|>」というような形です。
10userの指示に対応しなさい。""".strip(),
11 {
12 "role": "user",
13 "content": """次の問題を解き、計算結果を数値のみで解答してください。
14ブレナンは学校の課題のために研究をしており、参考にするためにインターネットからファイルをコンピュータにダウンロードする必要がありました。800個のファイルをダウンロードした後、役に立たないものを70%削除しました。さらに400個のファイルをダウンロードしましたが、再び3/5が関係ないことに気づきました。2回目にダウンロードした関係のないファイルを削除した後、彼は何個の価値のあるファイルを持っていましたか?""",
15 },
16]
17prompt = tokenizer.apply_chat_template(
18 messages,
19 tokenize=False,
20 add_generation_prompt=True,
21)
22prompt += "<think>" # optional
23print(prompt)
24
25print(
26 pipe(
27 prompt,
28 do_sample=True,
29 max_new_tokens=512,
30 temperature=0.9,
31 )[0]["generated_text"][len(prompt) :].strip()
32)