Views
No views yet
1import torch
2from transformers import AutoTokenizer, AutoModelForCausalLM
3
4model_path = "TheOneWhoWill/Bootstrap-LLM"
5tokenizer = AutoTokenizer.from_pretrained(model_path)
6stop_token_id = tokenizer.eos_token_id
7model = AutoModelForCausalLM.from_pretrained(
8 model_path,
9 torch_dtype="auto",
10 device_map="auto"
11)
12
13from transformers import pipeline
14
15pipe = pipeline(
16 "text-generation",
17 model=model,
18 tokenizer=tokenizer
19)
20
21messages = []
22
23temperature = float(input("Enter temperature (e.g., 0.9): ") or 1)
24token_limit = 256
25
26while True:
27 user_input = input("User: ")
28 if user_input.lower() in ["exit", "quit"]:
29 print("Exiting the chat.")
30 break
31 if user_input.lower().startswith("temperature:"):
32 temperature = float(user_input.lower().split("temperature:")[1] or temperature)
33 print(f"Temperature set to {temperature}")
34 continue
35 if user_input.lower().startswith("reset"):
36 messages = []
37 print("Conversation reset.")
38 continue
39 if user_input.lower().startswith("tokens:"):
40 token_limit = int(user_input.lower().split("tokens:")[1] or 1024)
41 print(f"Token limit set to {token_limit}")
42 continue
43 if user_input.lower().startswith("debug"):
44 tokens_in_last_response = tokenizer.tokenize(messages[-1]["content"])
45 print("Number of Tokens:", len(tokens_in_last_response))
46 for token in tokens_in_last_response:
47 if token == "<|im_end|>":
48 print("End of message token found.")
49 continue
50 messages.append({"role": "user", "content": user_input})
51 # Generate and print
52 response = pipe(
53 messages,
54 max_new_tokens=token_limit,
55 do_sample=True,
56 temperature=temperature,
57 top_k=64,
58 top_p=0.95,
59 eos_token_id=stop_token_id
60 )
61 response = response[0]['generated_text'][-1]["content"]
62 messages.append({"role": "assistant", "content": response})
63 print("Assistant:", response)