!date
!python --version
Tue Apr 22 07:31:37 AM UTC 2025
Python 3.11.12
変更履歴
2025年4月22日: 日本語版BERTのためfugashiをインストール。
37. 少し大きめなtext-generationモデルで回答させてみる#
text-generationモデルは入力の与え方を工夫することで質問応答モデルとしても利用できる。ここでは text-generation で用意した “llm-jp/llm-jp-1.3b-v1.0” を用いて質問文を用意してみた。
from transformers import pipeline
#model_name = "llm-jp/llm-jp-1.3b-v1.0"
#model_name = "llm-jp/llm-jp-3-8x1.8b-instruct3" # crash
model_name = "llm-jp/llm-jp-3-1.8b-instruct3"
#pipe = pipeline(task="text-generation", model=model_name, max_length=100)
pipe = pipeline(task="text-generation", model=model_name)
question = "先生はどこに住んでいますか?"
context = "病気の都合で車を運転することができなくなりました。徒歩で通勤できると楽になるため、大学の近くに住んでいます。"
inputs = f"question: {question}\ncontext: {context}\nanswer: "
outputs = pipe(inputs)
print(outputs)
/usr/local/lib/python3.11/dist-packages/huggingface_hub/utils/_auth.py:94: UserWarning:
The secret `HF_TOKEN` does not exist in your Colab secrets.
To authenticate with the Hugging Face Hub, create a token in your settings tab (https://huggingface.co/settings/tokens), set it as secret in your Google Colab and restart your session.
You will be able to reuse this secret in all of your notebooks.
Please note that authentication is recommended but still optional to access public models or datasets.
warnings.warn(
Device set to use cpu
[{'generated_text': 'question: 先生はどこに住んでいますか?\ncontext: 病気の都合で車を運転することができなくなりました。徒歩で通勤できると楽になるため、大学の近くに住んでいます。\nanswer: \n\n先生は東京都に住んでいます。'}]
# 用意した入力文の中身(\nを確認するため)
print(inputs)
question: 先生はどこに住んでいますか?
context: 病気の都合で車を運転することができなくなりました。徒歩で通勤できると楽になるため、大学の近くに住んでいます。
answer:
# 別の与え方
question = "先生はどこに住んでいますか?"
context = "病気の都合で車を運転することができなくなりました。徒歩で通勤できると楽になるため、大学の近くに住んでいます。"
inputs = f"質問: {question}\n関連情報: {context}\n回答: "
print(inputs)
print("---")
outputs = pipe(inputs)
print(outputs)
質問: 先生はどこに住んでいますか?
関連情報: 病気の都合で車を運転することができなくなりました。徒歩で通勤できると楽になるため、大学の近くに住んでいます。
回答:
---
[{'generated_text': '質問: 先生はどこに住んでいますか?\n関連情報: 病気の都合で車を運転することができなくなりました。徒歩で通勤できると楽になるため、大学の近くに住んでいます。\n回答: 申し訳ありませんが、私はAIであり、特定の個人の居住地を知ることはできません。しかし、大学の近くに'}]