Um das Modell zu verwenden, stelle sicher, dass der Prompt im folgenden Format gesendet wird:
1from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
2import torch
3
4# Modell und Tokenizer laden
5MODEL_PATH = "Atomic-Ai/AtomicGPT-T1-4k"
6
7tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
8model = AutoModelForCausalLM.from_pretrained(MODEL_PATH)
9
10print("Spezielle Tokens:", tokenizer.additional_special_tokens)
11print("Pad Token:", tokenizer.pad_token)
12print("EOS Token:", tokenizer.eos_token)
13
14device = 0 if torch.cuda.is_available() else -1
15print(f"Verwende {'GPU' if device == 0 else 'CPU'} für Inferenz")
16
17chatbot = pipeline(
18 "text-generation",
19 model=model,
20 tokenizer=tokenizer,
21 device=device
22)
23
24def generate_response(prompt):
25 output = chatbot(
26 prompt,
27 max_new_tokens=1024,
28 eos_token_id=50268,
29 pad_token_id=tokenizer.pad_token_id,
30 do_sample=True,
31 temperature=0.7,
32 top_p=0.9,
33 top_k=50,
34 repetition_penalty=1.1
35 )
36 return output[0]['generated_text']
37
38def format_chat(user_input):
39 return f"<user>{user_input}<End><AI Assistent>"
40
41def extract_assistant_response(full_text):
42 try:
43 parts = full_text.split("<AI Assistent>")
44 if len(parts) > 1:
45 response_part = parts[1]
46 if "<End>" in response_part:
47 return response_part.split("<End>")[0].strip()
48 else:
49 return response_part.strip()
50 return "Fehler: Antwortformat ungültig"
51 except Exception as e:
52 return f"Fehler bei der Extraktion: {str(e)}"
53
54def main():
55 print("\n=== AtomicGPT Chat ===")
56 print("Chat gestartet! Gib 'exit' ein, um zu beenden.")
57 print("----------------------------------")
58
59 while True:
60 user_input = input("\nDu: ")
61 if user_input.lower() in ['exit', 'quit', 'ende']:
62 print("Chat beendet. Auf Wiedersehen!")
63 break
64
65 try:
66 prompt = format_chat(user_input)
67 full_response = generate_response(prompt)
68 assistant_response = extract_assistant_response(full_response)
69 print(f"\nAI Assistent: {assistant_response}")
70 except Exception as e:
71 print(f"\nFehler: {str(e)}")
72 print("Versuche es mit einer anderen Eingabe.")
73
74if __name__ == "__main__":
75 main()
Tritt unserer Community bei:
👉
Discord Server