a22ec59be5
three methods to load model 1. download model in openxlab 2. download model in modelscope 3. offline model
33 lines
1.4 KiB
Python
33 lines
1.4 KiB
Python
import torch
|
||
from transformers import AutoTokenizer, AutoModelForCausalLM
|
||
from openxlab.model import download
|
||
from modelscope import snapshot_download
|
||
|
||
# download model in openxlab
|
||
model_name_or_path =download(model_repo='ajupyter/EmoLLM_internlm2_7b_full',
|
||
output='EmoLLM_internlm2_7b_full')
|
||
|
||
# download model in modelscope
|
||
model_name_or_path = snapshot_download('chg0901/EmoLLM-InternLM7B-base')
|
||
|
||
# offline model
|
||
# model_name_or_path = "/root/StableCascade/emollm2/EmoLLM/xtuner_config/merged"
|
||
|
||
tokenizer = AutoTokenizer.from_pretrained(model_name_or_path, trust_remote_code=True)
|
||
model = AutoModelForCausalLM.from_pretrained(model_name_or_path, trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='auto')
|
||
model = model.eval()
|
||
|
||
system_prompt = '你是心理健康助手EmoLLM,由EmoLLM团队打造。你旨在通过专业心理咨询,协助来访者完成心理诊断。请充分利用专业心理学知识与咨询技术,一步步帮助来访者解决心理问题。'
|
||
|
||
messages = [(system_prompt, '')]
|
||
|
||
print("=============Welcome to InternLM chatbot, type 'exit' to exit.=============")
|
||
|
||
while True:
|
||
input_text = input("User >>> ")
|
||
input_text.replace(' ', '')
|
||
if input_text == "exit":
|
||
break
|
||
response, history = model.chat(tokenizer, input_text, history=messages)
|
||
messages.append((input_text, response))
|
||
print(f"robot >>> {response}") |