DataSensei / ask_datasensei.py
tanizhan's picture
Create ask_datasensei.py
f6a52de verified
with open("ask_datasensei.py", "w") as f:
f.write("""
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
model_name = "microsoft/phi-2"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype=torch.float16 if torch.cuda.is_available() else torch.float32,
trust_remote_code=True
)
# Move model to device
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model.to(device)
def format_prompt(user_input):
return f"You are DataSensei 🌸, an anime-style mentor.\nUser: {user_input}\nDataSensei:"
def ask_datasensei(user_input):
prompt = format_prompt(user_input)
inputs = tokenizer(prompt, return_tensors="pt").to(device)
outputs = model.generate(
**inputs,
max_new_tokens=1024,
pad_token_id=tokenizer.eos_token_id,
do_sample=True,
temperature=0.7,
top_p=0.9
)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
return response.split("DataSensei:")[-1].strip()
""")