
Rakuten/RakutenAI-7B-chat を試してみる ~ Gradioつかって
楽天グループが7Bのモデルを発表しました。
このなかの、Rakuten/RakutenAI-7B-chat を発表日から試していたのですが、上手く会話が成立しませんでした。
ふと思って、掲載サンプルにあるシステムメッセージを省いて、入力をするとちゃんと会話が成立できました。
上記のサンプルコードには下記の部分があります。
requests = [
"「馬が合う」はどう言う意味ですか",
"How to make an authentic Spanish Omelette?",
]
system_message = "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: {user_input} ASSISTANT:"
for req in requests:
input_req = system_message.format(user_input=req)
これは無視して、以下のChat_templateで上手くいきました。
chat_template = (
"{% for message in messages %}"
"{{message['role'] + ':' + message['content'] + '\n'}}"
"{% endfor %}"
"{% if add_generation_prompt %}"
"{{ 'assistant :' }}"
"{% endif %}"
)
以下は、mlx環境でのスクリプト全体です。
import time
import gradio as gr
from mlx_lm import load, generate
model, tokenizer = load("Rakuten/RakutenAI-7B-chat")
chat_template = (
"{% for message in messages %}"
"{{message['role'] + ':' + message['content'] + '\n'}}"
"{% endfor %}"
"{% if add_generation_prompt %}"
"{{ 'assistant :' }}"
"{% endif %}"
)
def predict(message, history, token, temp_value):
prompt = []
for human, assistant in history:
prompt.append({'role': 'user', 'content': human})
prompt.append({'role': 'assistant', 'content': assistant})
prompt.append({'role': 'user', 'content': message})
inputs = tokenizer.apply_chat_template(prompt,
tokenize=False,
add_generation_prompt=True,
chat_template=chat_template)
# システムメッセージを頭に入れるとちゃんと会話にならない!! full_prompt = f"{system_message}\n{inputs}"
full_prompt = inputs
print (f"入力される最終プロンプトはこんな感じ:\n{full_prompt}")
response = generate(model, tokenizer, prompt=full_prompt, temp = temp_value, max_tokens = token, verbose=False)
#return response.strip()
for i in range(len(response)):
time.sleep(0.05)
yield response[: i+1]
demo = gr.ChatInterface(predict,
title="Rakuten/RakutenAI-7B-chat",
description="",
additional_inputs=[
gr.Slider(100, 1024, value=512, label="Tokens"),
gr.Slider(0, 1, value=0.3, label="Temperture")
]
)
if __name__ == "__main__":
#demo.queue().launch()
demo.launch()
実行すると、こちらの画面

あなたは誰?
私は楽天のAI開発チームによって作られた人工知能モデルです。ユーザーとの会話を通して質問や要望に答えるなどのコミュニケーションをとることができます。
まどか☆マギカでは誰が一番可愛い?
この質問は、個人の好みや価値観による差異が大きいため、一概に誰が一番可愛いとは言えないかもしれません。
しかし、まどか☆マギカには、主人公のまどかと、その友情や絆を描いたキャラクターがたくさん登場します。彼女たちの可愛さは、それぞれのキャラクターの個性や魅力によって作られています。
また、まどか☆マギカには、主人公のまどかと、その友情や絆を描いたキャラクターがたくさん登場します。彼女たちの可愛さは、それぞれのキャラクターの個性や魅力によって作られています。
人生の意味を論じて
申し訳ありませんが、人生の意味を論じることは、私のプログラムでは想定していない質問です。人生の意味は、人それぞれで、個人の価値観や経験、考え方によって異なってきます。
人生の意味を探す旅は、自分自身と向き合い、自分の人生を見つめ直す旅でもあります。自分の人生の意味を見つけるためには、自分自身を理解し、自分の人間関係を築き、自分の人間性を尊重することが必要です。
人生の意味を探す旅は、自分自身を尊重し、自分の人間関係を尊重し、自分の人間性を尊重することが必要です。自分の人生の意味を見つけるためには、自分自身を理解し、自分の人間関係を築き、自分の人間性を尊重することが必要です。
人生の意味を探す旅は、自分自身を尊重し、自分の人間関係を尊重し、自分の人間性を尊重することが必要です。自分の人生の意味を見つけるためには、自分自身を理解し、自分の人間関係を築き、自分の人間性を尊重することが必要です。
(最後2段落はリピートでした)
ドラえもんについて教えて
ドラえもんは、藤子・F・不二雄(1969年 - 1996年)、藤子・F・不二雄(2016年 - )による日本の漫画作品、またはその主人公の名である。小学館の漫画雑誌『小学五年生』『小学六年生』に1970年から連載された。単行本は全45巻。
ドラえもんは、小学館の漫画雑誌『小学五年生』『小学六年生』に1970年から連載された。作者は藤子・F・不二雄(1969年 - 1996年)、藤子・F・不二雄(2016年 - )。単行本は全45巻。
ドラえもんは、ひみつ道具を使って、のび太やしずか、ジャイアン、スネ夫といった友達や、先生や家族との日常生活の中で、楽しい冒険を繰り広げるのが基本的なストーリー展開である。ひみつ道具は、タイムマシンや空を飛べる道具、未来を想像する道具など、さまざまな種類がある。
ドラえもんは、1979年にテレビアニメ化され、現在までに3回アニメ化されている。また、映画化も何度もされており、2015年には実写映画も公開された。ドラえもんは、日本を代表する国民的キャラクターとして、さまざまな商品やイベント、テーマパークなどで利用されている。
ドラえもんは、世界各国で翻訳・出版されており、世界でも人気の高い漫画キャラクターの1つである。
登場人物で一番どじなのは誰?
ドラえもんのひみつ道具で、どじな人物を普通の人間に戻す効果があるのは、「どじ道具」です。
ひみつ道具でいちばん有名でみんなが欲しがってるのは?
ドラえもんのひみつ道具で、いちばん有名でみんなが欲しがっているのは、タイムマシンです。
タイムマシンは、「未来を旅する」ひみつ道具で、ドラえもんのひみつ道具の中でも特に有名です。タイムマシンで、過去に戻って、好きな時に好きな場所へ行きたい、過去に戻ってやり直したい、未来を旅して未来を楽しみたいと思っている人が多いからです。
ドラえもんのひみつ道具で、タイムマシン以外にも、空を飛べる道具、未来を想像する道具、未来を旅する道具、未来を楽しむ道具、ひみつ道具で遊ぶ道具などがあります。
ドラえもんのひみつ道具で、どれも有名でみんなが欲しがっているのは、「タイムマシン」です。
以上の感じでした。文脈を読んで答えてくれます。
サンプルでなくて、上のuser: assistant:のフォーマットでうまくいくようですので、試してみてください。
#AI #AIとやってみた #ローカルLLM #MLX #Huggingface #大規模言語モデル #RakutenAI #Gradio
いいなと思ったら応援しよう!
