Safetensors
Japanese
llama
unsloth
SousiOmine commited on
Commit
3d62cea
·
verified ·
1 Parent(s): a2429c1

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +86 -0
README.md CHANGED
@@ -19,6 +19,92 @@ Kendamarron/jimba-instruction-allとSousiOmine/Japanese-Pythonic-FunctionCallを
19
  python関数の呼び出しに対応させたモデルです。
20
 
21
  # 使い方
 
 
22
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
23
  # 注意点
24
  - チャットテンプレートが関数呼び出しに対応していません。
 
19
  python関数の呼び出しに対応させたモデルです。
20
 
21
  # 使い方
22
+ ```
23
+ system_tool_format = """{}
24
 
25
+ #ツール
26
+ ユーザーの要望達成を支援するために、1つ以上のpython関数を呼び出すことができます。
27
+ 呼び出せるpythonの関数を<tools></tools>タグ内に記します。
28
+
29
+ <tools>
30
+ {}
31
+ </tools>
32
+
33
+ 関数を呼び出すには、以下のように関数名と引数を<tool_call></tool_call>タグ内に記述してください。
34
+ <tool_call>
35
+ function_name(param1=value1, param2=value2)
36
+ </tool_call>
37
+ """
38
+
39
+ # お好きなシステムプロンプトをどうぞ
40
+ system = "あなたは役に立つアシスタントです。"
41
+
42
+ # ツールはdocstring付きで文字で書いてね
43
+ tools = """def perform_web_search(query: str) -> list:
44
+ \"\"\"
45
+ ウェブ検索を実行します。
46
+
47
+ Args:
48
+ query (str): 検索クエリ。例: "東京の天気"
49
+
50
+ Returns:
51
+ list: 検索結果のリスト。各要素はウェブページのタイトルとURLです。
52
+ \"\"\"
53
+ pass
54
+
55
+
56
+ def get_weather(city: str) -> dict:
57
+ \"\"\"
58
+ 指定した都市の現在の天気情報を取得します。
59
+
60
+ Args:
61
+ city (str): 天気を確認したい都市の名前。例: "東京"
62
+
63
+ Returns:
64
+ dict: 天気情報の辞書。{'temperature': 20.5, 'condition': 'Cloudy', 'humidity': 72}
65
+ \"\"\"
66
+ pass
67
+
68
+
69
+ def execute_script(script: str) -> str:
70
+ \"\"\"
71
+ ユーザから受け取ったスクリプトまたはコマンドを実行します。
72
+
73
+ Args:
74
+ script (str): 実行したいコマンドまたはスクリプト。例: "ls -la"
75
+
76
+ Returns:
77
+ str: 実行結果の出力またはエラーメッセージ。
78
+ \"\"\"
79
+ pass
80
+
81
+ """
82
+
83
+ prompt = "今日のAIニュースと埼玉の天気を教えて"
84
+ chat = [
85
+ {"role": "system", "content": system_tool_format.format(system, tools)},
86
+ {"role": "user", "content": prompt},
87
+ ]
88
+
89
+ # Unslothのサンプルから持ってきました チャットテンプレート適用してやればほかのでいけるはず
90
+ input = tokenizer.apply_chat_template(chat, tokenize = False, add_generation_prompt = True)
91
+ #print(input)
92
+
93
+ FastLanguageModel.for_inference(model)
94
+ inputs = tokenizer(
95
+ [
96
+ input
97
+ ], return_tensors = "pt").to("cuda")
98
+
99
+ from transformers import TextStreamer
100
+ text_streamer = TextStreamer(tokenizer)
101
+ _ = model.generate(**inputs, streamer = text_streamer, temperature=0.7, max_new_tokens = 1024)
102
+
103
+ # 応答の例
104
+ # <|assistant|><tool_call>perform_web_search(query="AI ニュース"), get_weather(city="埼玉")</tool_call></s>
105
+
106
+ # 戻り値はこんな感じで渡してあげてください
107
+ # chat.append({"role": "user", "content": "<tool_response>戻り値はまとめてここに</tool_response>"})
108
+ ```
109
  # 注意点
110
  - チャットテンプレートが関数呼び出しに対応していません。