diff --git a/llm_training/ChatML_dataset/Foxwell Enforcement.jsonl b/llm_training/ChatML_dataset/Foxwell Enforcement.jsonl new file mode 100644 index 0000000..bcd843c --- /dev/null +++ b/llm_training/ChatML_dataset/Foxwell Enforcement.jsonl @@ -0,0 +1,205 @@ +[ + {"role": "user", "content": "Was muss ich tun, um reguläre Foxwell-Aufträge annehmen zu können?"}, + {"role": "assistant", "content": "Bevor du reguläre Aufträge annehmen kannst, musst du deinen Wert beweisen. Der erste Schritt besteht darin, die Mission 'Security Contractor Evaluation' anzunehmen und abzuschließen."}, + + {"role": "user", "content": "Was passiert nach dem Abschluss der Einführungsmission bei Foxwell Enforcement?"}, + {"role": "assistant", "content": "Nach dem Abschluss schaltest du die erste Stufe der Patrouillen- und Hinterhaltsmissionen frei."}, + + {"role": "user", "content": "Wie erfolgt die Freischaltung höherer Foxwell-Missionen?"}, + {"role": "assistant", "content": "Die Freischaltung höherer Foxwell-Missionen erfolgt anhand der Anzahl abgeschlossener Missionen, nicht direkt über das Reputationsniveau."}, + + {"role": "user", "content": "Wie viele Missionstypen gibt es bei Foxwell Enforcement?"}, + {"role": "assistant", "content": "Es gibt zwei Missionstypen: Patrouille und Hinterhalt. Jede Mission hat ihren eigenen Fortschrittspfad."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um die nächste Stufe in der Patrouillen-Serie zu erreichen?"}, + {"role": "assistant", "content": "Die Anzahl der abgeschlossenen Aufgaben für die nächste Stufe variiert. Für die erste Stufe reicht eine abgeschlossene Mission, für höhere Stufen sind es meist 5 oder 10 Missionen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Security Contractor Evaluation' zu 'Routine Patrol' zu gelangen?"}, + {"role": "assistant", "content": "Du musst eine Mission abschließen, um von 'Security Contractor Evaluation' zu 'Routine Patrol' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Routine Patrol' zu 'Security Sweep' zu gelangen?"}, + {"role": "assistant", "content": "Du musst fünf Missionen abschließen, um von 'Routine Patrol' zu 'Security Sweep' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Security Sweep' zu 'Security Patrol' zu gelangen?"}, + {"role": "assistant", "content": "Du musst fünf Missionen abschließen, um von 'Security Sweep' zu 'Security Patrol' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Security Patrol' zu 'Potential Security Threat' zu gelangen?"}, + {"role": "assistant", "content": "Du musst fünf Missionen abschließen, um von 'Security Patrol' zu 'Potential Security Threat' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Potential Security Threat' zu 'High-Risk Security Patrol' zu gelangen?"}, + {"role": "assistant", "content": "Du musst zehn Missionen abschließen, um von 'Potential Security Threat' zu 'High-Risk Security Patrol' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'High-Risk Security Patrol' zu 'Secure Threatened Space' zu gelangen?"}, + {"role": "assistant", "content": "Du musst zehn Missionen abschließen, um von 'High-Risk Security Patrol' zu 'Secure Threatened Space' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Security Contractor Evaluation' zu 'Ambush an Amateur' zu gelangen?"}, + {"role": "assistant", "content": "Du musst eine Mission abschließen, um von 'Security Contractor Evaluation' zu 'Ambush an Amateur' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Ambush an Amateur' zu 'Surprise Strike' zu gelangen?"}, + {"role": "assistant", "content": "Du musst fünf Missionen abschließen, um von 'Ambush an Amateur' zu 'Surprise Strike' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Surprise Strike' zu 'Spring a Trap' zu gelangen?"}, + {"role": "assistant", "content": "Du musst fünf Missionen abschließen, um von 'Surprise Strike' zu 'Spring a Trap' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Spring a Trap' zu 'Return the Favor' zu gelangen?"}, + {"role": "assistant", "content": "Du musst fünf Missionen abschließen, um von 'Spring a Trap' zu 'Return the Favor' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Return the Favor' zu 'Ambush Attack Squad' zu gelangen?"}, + {"role": "assistant", "content": "Du musst zehn Missionen abschließen, um von 'Return the Favor' zu 'Ambush Attack Squad' zu gelangen."}, + + {"role": "user", "content": "Wie viele Missionen muss ich abschließen, um von 'Ambush Attack Squad' zu 'Surprise Attack' zu gelangen?"}, + {"role": "assistant", "content": "Es gibt keine spezifische Anzahl von Missionen, die du abschließen musst, um von 'Ambush Attack Squad' zu 'Surprise Attack' zu gelangen. Diese Mission ist die höchste Stufe in der Hinterhalts-Serie."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Patrouillen-Mission 'Security Contractor Evaluation' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Security Contractor Evaluation' kannst du FPS-Ausrüstung als potenzielle Cargo-Belohnung erhalten."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Patrouillen-Mission 'Routine Patrol' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Routine Patrol' kannst du Agrarprodukte und Abfall als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~5.000-15.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Patrouillen-Mission 'Security Sweep' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Security Sweep' kannst du verarbeitete Lebensmittel und distillierte Getränke als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~15.000-40.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Patrouillen-Mission 'Security Patrol' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Security Patrol' kannst du distillierte Getränke und verschiedene Handelswaren als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~50.000-100.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Patrouillen-Mission 'Potential Security Threat' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Potential Security Threat' kannst du verschiedene Handelswaren als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~70.000-150.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Patrouillen-Mission 'High-Risk Security Patrol' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'High-Risk Security Patrol' kannst du SLAM, WiDoW und hochwertige Mineralien als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~150.000-300.000+ aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Patrouillen-Mission 'Secure Threatened Space' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Secure Threatened Space' kannst du Laranit, Agricium und SLAM als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~200.000-500.000+ aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Hinterhaltsmission 'Security Contractor Evaluation' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Security Contractor Evaluation' gibt es keine potenziellen Cargo-Belohnungen."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Hinterhaltsmission 'Ambush an Amateur' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Ambush an Amateur' kannst du Abfall und Grundwaren als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~1.000-5.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Hinterhaltsmission 'Surprise Strike' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Surprise Strike' kannst du Abfall und Grundwaren als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~3.000-8.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Hinterhaltsmission 'Spring a Trap' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Spring a Trap' kannst du Handelswaren und raffinierte Materialien als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~50.000-100.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Hinterhaltsmission 'Return the Favor' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Return the Favor' kannst du variierte Konvoi-Kargo als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~100.000-250.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Hinterhaltsmission 'Ambush Attack Squad' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Ambush Attack Squad' kannst du Militärkomponenten und hochwertige Waren als potenzielle Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~150.000-300.000 aUEC."}, + + {"role": "user", "content": "Welche Belohnungen kann ich in der Hinterhaltsmission 'Surprise Attack' erhalten?"}, + {"role": "assistant", "content": "In der Mission 'Surprise Attack' kannst du variierte Cargo-Belohnungen erhalten. Der geschätzte Wert liegt bei ~200.000-500.000+ aUEC."}, + + {"role": "user", "content": "Was sind Mercenary Guild (MG) Scrips?"}, + {"role": "assistant", "content": "Mercenary Guild (MG) Scrips sind physische Gegenstände, die für die meisten Foxwell-Missionen vergeben werden. Sie können nicht in regulären Shops ausgegeben werden, sondern dienen einem speziellen Handelsweg für seltene und exklusive Ausrüstung."}, + + {"role": "user", "content": "Wie kann ich MG Scrips einlösen?"}, + {"role": "assistant", "content": "Der Standardaustausch ist 50 MG Scrips = 1 Wikelo's Favor. Die Abmachung erfolgt über 'Collections'-Missionen beim Banu-Vendor Wikelo."}, + + {"role": "user", "content": "Wo finde ich den Banu-Vendor Wikelo?"}, + {"role": "assistant", "content": "Wikelos Emporium befindet sich an Stationen Kinga, Selo oder Dasi."}, + + {"role": "user", "content": "Was sind Ace-Piloten und wo treten sie auf?"}, + {"role": "assistant", "content": "Ace-Piloten sind Elitefeinde, die bei höheren Stufen (Orange & Rot) in beiden Serien auftauchen. Sie erscheinen als zufällige Eskalation und fungieren oft als Endboss. Sie spawnen nur in Patrouillenmissionen."}, + + {"role": "user", "content": "Was kann ich mit dem Ace Interceptor Helm machen?"}, + {"role": "assistant", "content": "Der Ace Interceptor Helm ist ein hochgradig barterbarer Gegenstand, der bei Wikelo in Sammlungen gegen exklusive Belohnungen eingetauscht werden kann, z. B. seltene Waffen, spezielle Rüstungsets und hochwertige Schiffskomponenten."}, + + {"role": "user", "content": "Welche Tipps gibt es zum Bekämpfen von Ace-Piloten?"}, + {"role": "assistant", "content": "Schalte das Ace-Schiff aus, bevor du die Mission abschließt. Sammle den Helm, bevor das Objektiv verschwindet. Ace-Piloten tragen häufig Scrips im Kernpanzer."}, + + {"role": "user", "content": "Was soll ich tun, wenn die Marker nach dem Eliminieren aller Feinde verschwinden?"}, + {"role": "assistant", "content": "Bewege dein Schiff mindestens 25 km von der Bergbaustation entfernt. Ein neuer Marker weist dich zurück."}, + + {"role": "user", "content": "Wie kann ich meine Chancen auf Begegnungen mit Ace-Piloten erhöhen?"}, + {"role": "assistant", "content": "Erhöhe deine Chancen bei Orange- und Rot-Stufen. Gründe diese Missionen nach dem Freischalten."}, + + {"role": "user", "content": "Wo finde ich weitere Informationen zu Foxwell Enforcement?"}, + {"role": "assistant", "content": "Weitere Informationen findest du in Quellen wie 'Foxwell Enforcement Deep Dive.mp3', 'Star Citizen Tools Wiki – Foxwell Enforcement' und den Referenzblättern von ChrisGBG."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Patrouillen-Mission 'Security Contractor Evaluation'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Security Contractor Evaluation' beträgt 20.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Patrouillen-Mission 'Routine Patrol'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Routine Patrol' beträgt 30.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Patrouillen-Mission 'Security Sweep'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Security Sweep' beträgt 50.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Patrouillen-Mission 'Security Patrol'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Security Patrol' beträgt 74.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Patrouillen-Mission 'Potential Security Threat'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Potential Security Threat' beträgt 135.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Patrouillen-Mission 'High-Risk Security Patrol'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'High-Risk Security Patrol' beträgt 200.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Patrouillen-Mission 'Secure Threatened Space'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Secure Threatened Space' beträgt 350.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Hinterhaltsmission 'Security Contractor Evaluation'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Security Contractor Evaluation' beträgt 20.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Hinterhaltsmission 'Ambush an Amateur'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Ambush an Amateur' beträgt 20.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Hinterhaltsmission 'Surprise Strike'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Surprise Strike' beträgt 30.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Hinterhaltsmission 'Spring a Trap'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Spring a Trap' beträgt 40.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Hinterhaltsmission 'Return the Favor'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Return the Favor' beträgt 75.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Hinterhaltsmission 'Ambush Attack Squad'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Ambush Attack Squad' beträgt 120.000 aUEC."}, + + {"role": "user", "content": "Wie hoch ist der Payout in der Hinterhaltsmission 'Surprise Attack'?"}, + {"role": "assistant", "content": "Der Payout in der Mission 'Surprise Attack' beträgt 200.000 aUEC."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Patrouillen-Mission 'Security Contractor Evaluation'?"}, + {"role": "assistant", "content": "In der Mission 'Security Contractor Evaluation' erhältst du 0 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Patrouillen-Mission 'Routine Patrol'?"}, + {"role": "assistant", "content": "In der Mission 'Routine Patrol' erhältst du 2 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Patrouillen-Mission 'Security Sweep'?"}, + {"role": "assistant", "content": "In der Mission 'Security Sweep' erhältst du 4 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Patrouillen-Mission 'Security Patrol'?"}, + {"role": "assistant", "content": "In der Mission 'Security Patrol' erhältst du 8 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Patrouillen-Mission 'Potential Security Threat'?"}, + {"role": "assistant", "content": "In der Mission 'Potential Security Threat' erhältst du 14 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Patrouillen-Mission 'High-Risk Security Patrol'?"}, + {"role": "assistant", "content": "In der Mission 'High-Risk Security Patrol' erhältst du 18 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Patrouillen-Mission 'Secure Threatened Space'?"}, + {"role": "assistant", "content": "In der Mission 'Secure Threatened Space' erhältst du 24 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Hinterhaltsmission 'Security Contractor Evaluation'?"}, + {"role": "assistant", "content": "In der Mission 'Security Contractor Evaluation' erhältst du 0 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Hinterhaltsmission 'Ambush an Amateur'?"}, + {"role": "assistant", "content": "In der Mission 'Ambush an Amateur' erhältst du 1 MG Scrip."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Hinterhaltsmission 'Surprise Strike'?"}, + {"role": "assistant", "content": "In der Mission 'Surprise Strike' erhältst du 3 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Hinterhaltsmission 'Spring a Trap'?"}, + {"role": "assistant", "content": "In der Mission 'Spring a Trap' erhältst du 5 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Hinterhaltsmission 'Return the Favor'?"}, + {"role": "assistant", "content": "In der Mission 'Return the Favor' erhältst du 8 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Hinterhaltsmission 'Ambush Attack Squad'?"}, + {"role": "assistant", "content": "In der Mission 'Ambush Attack Squad' erhältst du 12 MG Scrips."}, + + {"role": "user", "content": "Wie viele MG Scrips bekomme ich in der Hinterhaltsmission 'Surprise Attack'?"}, + {"role": "assistant", "content": "In der Mission 'Surprise Attack' erhältst du 16 MG Scrips."} +] \ No newline at end of file diff --git a/llm_training/ChatML_dataset/align_and_mine.jsonl b/llm_training/ChatML_dataset/align_and_mine.jsonl new file mode 100644 index 0000000..b375397 --- /dev/null +++ b/llm_training/ChatML_dataset/align_and_mine.jsonl @@ -0,0 +1,162 @@ +[ + { + "role": "user", + "content": "Was ist das Align & Mine Event?" + }, + { + "role": "assistant", + "content": "Das Align & Mine Event ist ein hochriskantes Bergbau-Event in Star Citizen, bei dem Spieler zusammenarbeiten müssen, um einen Orbital-Mining-Laser zu aktivieren, der Zugang zu wertvollen unterirdischen Ressourcen freischaltet." + }, + { + "role": "user", + "content": "Welche Schlüsselanforderungen gibt es für das Align & Mine Event?" + }, + { + "role": "assistant", + "content": "Die Schlüsselanforderungen sind: Drei Satellitenschüsseln ausrichten, verschiedene Keycards sammeln, Batteriepacks sichern und Gegner abwehren (NPCs und andere Spieler)." + }, + { + "role": "user", + "content": "Was ist das Hauptziel des Align & Mine Events?" + }, + { + "role": "assistant", + "content": "Das Hauptziel ist es, den Orbital-Mining-Laser zu aktivieren und wertvolle Ressourcen zu sichern." + }, + { + "role": "user", + "content": "Beschreibe den Mond Daymar." + }, + { + "role": "assistant", + "content": "Daymar ist ein felsiger, wüstenähnlicher Mond mit einer Stickstoff-Methan-Atmosphäre. Die Temperaturen liegen zwischen -40°C und 78°C." + }, + { + "role": "user", + "content": "Welche Ausrüstung wird für Daymar benötigt?" + }, + { + "role": "assistant", + "content": "Für Daymar wird ein Standard-Raumanzug mit zusätzlichen Sauerstoffreserven benötigt." + }, + { + "role": "user", + "content": "Was sind die Punkte von Interesse auf Daymar?" + }, + { + "role": "assistant", + "content": "Die Punkte von Interesse auf Daymar sind Lamina und Attritus, jeweils mit drei PAF-Sites und einem OLP." + }, + { + "role": "user", + "content": "Beschreibe den POI Lamina auf Daymar." + }, + { + "role": "assistant", + "content": "Lamina ist ein POI auf Daymar mit drei PAF-Sites und einem OLP. Die Sublocations sind Lamina-PAF I, Lamina-PAF II, Lamina-PAF III und Lamina-OLP." + }, + { + "role": "user", + "content": "Beschreibe den Mond Aberdeen." + }, + { + "role": "assistant", + "content": "Aberdeen ist ein tödlich heißer Mond mit einer Schwefelatmosphäre. Die Temperaturen liegen zwischen 170°C und 237°C." + }, + { + "role": "user", + "content": "Welche Ausrüstung wird für Aberdeen benötigt?" + }, + { + "role": "assistant", + "content": "Für Aberdeen wird ein Pembroke Exploration Suit mit hitzebeständiger Ausrüstung benötigt." + }, + { + "role": "user", + "content": "Was sind die Punkte von Interesse auf Aberdeen?" + }, + { + "role": "assistant", + "content": "Die Punkte von Interesse auf Aberdeen sind Ruptura und Vivere, jeweils mit drei PAF-Sites und einem OLP." + }, + { + "role": "user", + "content": "Beschreibe den POI Ruptura auf Aberdeen." + }, + { + "role": "assistant", + "content": "Ruptura ist ein POI auf Aberdeen mit drei PAF-Sites und einem OLP. Die Sublocations sind Ruptura-PAF I, Ruptura-PAF II, Ruptura-PAF III und Ruptura-OLP." + }, + { + "role": "user", + "content": "Was kann man nach dem Bergbau bei Wikelo's eintauschen?" + }, + { + "role": "assistant", + "content": "Nach dem Bergbau können Ressourcen bei Wikelo's gegen spezielle Gegenstände wie Rüstungen und eine Polaris eingetauscht werden." + }, + { + "role": "user", + "content": "Welche Ausrüstung wird für das Align & Mine Event empfohlen?" + }, + { + "role": "assistant", + "content": "Empfohlene Ausrüstung umfasst einen Standard-Raumanzug mit Sauerstoffreserven für Daymar und einen Pembroke Exploration Suit für Aberdeen, Waffen wie FS-9 LMG und Arclight Pistole, sowie Tools wie MaxLift Tractor Beam und MedGun." + }, + { + "role": "user", + "content": "Welche Schiffe werden für das Align & Mine Event empfohlen?" + }, + { + "role": "assistant", + "content": "Empfohlene Schiffe sind der Avenger Titan für Solo-Spieler, die Cutlass Black für kleine Teams und die Valkyrie oder Carrack für Multi-Crew-Teams." + }, + { + "role": "user", + "content": "Was ist der erste Schritt im Align & Mine Event?" + }, + { + "role": "assistant", + "content": "Der erste Schritt ist die Aktivierung der drei Satellitenschüsseln, die um den Orbital-Mining-Laser positioniert sind." + }, + { + "role": "user", + "content": "Wie findet man die Keycards im Align & Mine Event?" + }, + { + "role": "assistant", + "content": "Die Keycards können bei toten NPCs/Wachen, in Schließfächern oder Kontrollräumen gefunden werden." + }, + { + "role": "user", + "content": "Was passiert nach der Aktivierung der Satellitenschüsseln?" + }, + { + "role": "assistant", + "content": "Nach der Aktivierung öffnet sich eine Garagentür und gibt ein Batteriepack frei. Spieler müssen drei Batterien sammeln." + }, + { + "role": "user", + "content": "Wie bringt man die Batteriepacks zum Orbital-Mining-Laser?" + }, + { + "role": "assistant", + "content": "Die drei Batteriepacks müssen zum Mining-Laser gebracht und mit den Power Banks verbunden werden." + }, + { + "role": "user", + "content": "Was ist der letzte Schritt im Align & Mine Event?" + }, + { + "role": "assistant", + "content": "Der letzte Schritt ist das Betreten der Mine und das Sammeln von wertvollen Ressourcen." + }, + { + "role": "user", + "content": "Welche Tipps gibt es für das Align & Mine Event?" + }, + { + "role": "assistant", + "content": "Tipps sind: Nutze einen Spotter für Valakkar-Bedrohungen, plane Rollenverteilung für Teamkoordination, sichere Batterien und Keycards vor Einbrüchen und suche nach mehreren Supervisor Access Cards für schnelleren Zugriff." + } +] \ No newline at end of file diff --git a/llm_training/ChatML_dataset/loot_table.jsonl b/llm_training/ChatML_dataset/loot_table.jsonl new file mode 100644 index 0000000..f604101 --- /dev/null +++ b/llm_training/ChatML_dataset/loot_table.jsonl @@ -0,0 +1,458 @@ +[ + { + "role": "user", + "content": "Woher bekommt man den Ace Interceptor Helmet?" + }, + { + "role": "assistant", + "content": "Den Ace Interceptor Helmet erhältst du als Beute von gefallenen Ace-Piloten in den Foxwell Patrol Missionen oder Headhunters Patrol Missionen. Wichtig ist, dass es sich um einen Soft Death handeln muss, da der Ace-Pilot ansonsten verschwindet. Zudem kannst du ihn auch in braunen Lootkisten bei Align and Mine oder Stormbreaker finden (Sehr selten)." + }, + { + "role": "user", + "content": "Wie bekommt man eine Advocacy Badge (Replica)?" + }, + { + "role": "assistant", + "content": "Die Advocacy Badge (Replica) findest du als Beute an den Security Posts rund um Kareah, in den Contested Zones oder an Standorten von Larzarus." + }, + { + "role": "user", + "content": "Wo kann ich den Argo ATLS Ikti finden?" + }, + { + "role": "assistant", + "content": "Den Argo ATLS Ikti erhältst du im Rahmen der Wikelo Mission: "Make ATLS shoot"." + }, + { + "role": "user", + "content": "Wie kommt man an Atlasium?" + }, + { + "role": "assistant", + "content": "Atlasium ist eine Handelsware. Du kannst es von Händlern erwerben. Weitere Informationen dazu, wo es verkauft wird, findest du unter folgendem Link: https://uexcorp.space/commodities/info/name/atlasium/tab/locations_selling/ ." + }, + { + "role": "user", + "content": "Wo finde ich Carinite?" + }, + { + "role": "assistant", + "content": "Carinite kannst du bei Align & Mine als Erz abbauen." + }, + { + "role": "user", + "content": "Wie bekomme ich Carinite (Rein)?" + }, + { + "role": "assistant", + "content": "Reines Carinite ist ein seltenes Erz, das du bei Align & Mine abbauen kannst. Es hat jedoch nur eine Drop-Chance von etwa 1%." + }, + { + "role": "user", + "content": "Wo finde ich die DCHS-05 Comp-Board?" + }, + { + "role": "assistant", + "content": "Die DCHS-05 Orbital Positioning Comp-Board kannst du als Beute in der Ghost Arena in Ruin Station finden." + }, + { + "role": "user", + "content": "Wo bekomme ich den Finley The Stormwall Large Plushie?" + }, + { + "role": "assistant", + "content": "Den Finley The Stormwall Large Plushie kannst du im Orison August Dunlow Spaceport – Gift Shop oder im Cloudview Center – Stratus – Kel-To ConStore kaufen." + }, + { + "role": "user", + "content": "Wie erhalte ich Government Cartography (Makellos)?" + }, + { + "role": "assistant", + "content": "Government Cartography (Makellos) findest du als Beute von Ace-Piloten. Zusätzlich kannst du es in blauen Boxen bei Align & Mine und Storm Breaker Standorten sowie kleinen Boxen bei Derelict Outpost Standorten looten." + }, + { + "role": "user", + "content": "Wo finde ich das Irradiated Kopion Horn?" + }, + { + "role": "assistant", + "content": "Das Irradiated Kopion Horn erhältst du vom Irradiated Kopion rund um die Lazarus Komplexe." + }, + { + "role": "user", + "content": "Wie bekomme ich den Irradiated Valakkar Fang (Erwachsen)?" + }, + { + "role": "assistant", + "content": "Den Irradiated Valakkar Fang (Erwachsen) findest du bei erwachsenen Irradiated Valakkars rund um die Lazarus Komplexe." + }, + { + "role": "user", + "content": "Wo finde ich den Irradiated Valakkar Fang (Juvenile)?" + }, + { + "role": "assistant", + "content": "Den Irradiated Valakkar Fang (Juvenile) erhältst du von juvenilen Irradiated Valakkars rund um die Lazarus Komplexe." + }, + { + "role": "user", + "content": "Wie bekomme ich die Irradiated Valakkar Pearl (Grad AAA)?" + }, + { + "role": "assistant", + "content": "Die Irradiated Valakkar Pearl (Grad AAA) findest du bei Apex-Irradiated Valakkars an Storm Breaker Lazarus Standorten. Ich bin mir jedoch nicht sicher, wie das Grad-System genau funktioniert." + }, + { + "role": "user", + "content": "Wo finde ich Jaclium (Erz)?" + }, + { + "role": "assistant", + "content": "Jaclium (Erz) kannst du bei Align & Mine abbauen." + }, + { + "role": "user", + "content": "Wie bekomme ich Janalite?" + }, + { + "role": "assistant", + "content": "Janalite ist ein seltenes FPS-minable Erz." + }, + { + "role": "user", + "content": "Wo finde ich MG Scrip?" + }, + { + "role": "assistant", + "content": "MG Scrip erhältst du in Foxwell Patrol- oder Ambush-Missionen sowie bei Gilly's Combat Gauntlet Missionen." + }, + { + "role": "user", + "content": "Wie bekomme ich einen Picoball?" + }, + { + "role": "assistant", + "content": "Picoballs findest du als Beute in Aid Shelters, Outposts, Farro Datacenter, Larzarus oder Align & Mine Paf-Standorten. Beachte, dass sie nicht neu spawnen." + }, + { + "role": "user", + "content": "Wie erhalte ich Polaris Bit?" + }, + { + "role": "assistant", + "content": "Polaris Bits bekommst du, indem du 24x Quantanium abbaust und mit einem Schiff konvertierst. Dies kannst du in der Mission 'Want Polaris? Need something special' tun." + }, + { + "role": "user", + "content": "Wo finde ich Saldynium (Erz)?" + }, + { + "role": "assistant", + "content": "Saldynium (Erz) kannst du bei Align & Mine abbauen." + }, + { + "role": "user", + "content": "Wie komme ich an die Scourge Railgun?" + }, + { + "role": "assistant", + "content": "Die Scourge Railgun findest du in roten Boxen in Bunkern oder großen grünen Boxen bei Align & Mine und Storm Breaker Standorten im Wartungsbereich." + }, + { + "role": "user", + "content": "Wo bekomme ich den Tevarin War Service Marker (Makellos)?" + }, + { + "role": "assistant", + "content": "Den Tevarin War Service Marker (Makellos) kannst du als Beute von Ace-Piloten erhalten. Zusätzlich findest du ihn in blauen Boxen bei Align & Mine und Storm Breaker Standorten sowie in kleinen Boxen bei Derelict Outpost Standorten." + }, + { + "role": "user", + "content": "Wie erhalte ich die UEE 6th Platoon Medal (Makellos)?" + }, + { + "role": "assistant", + "content": "Die UEE 6th Platoon Medal (Makellos) findest du als Beute von Ace-Piloten. Zudem kannst du sie in blauen Boxen bei Align & Mine und Storm Breaker Standorten sowie in kleinen Boxen bei Derelict Outpost Standorten looten." + }, + { + "role": "user", + "content": "Wie bekomme ich Wikelo Favor?" + }, + { + "role": "assistant", + "content": "Wikelo Favor erhältst du, indem du einer der folgenden Ressourcen sammelst und in den jeweiligen Missionen eintauschst: 50x MG Scrip (Trade Merc Scrip for Favors?), 50x Council Scrip (Trade Council Scrip for Favors?), 50x Carinite (Turn Things to Favor) oder 15x Irradiated Valakkar Pearl (Trade Worm Parts for Favors?)." + }, + { + "role": "user", + "content": "Wo finde ich die Wowblast Desperado Toy Pistol Red?" + }, + { + "role": "assistant", + "content": "Die Wowblast Desperado Toy Pistol Red ist allgemeine Beute und kann überall im Spiel gefunden werden." + }, + { + "role": "user", + "content": "Wie erhalte ich den Xanthule Ascension Helmet?" + }, + { + "role": "assistant", + "content": "Den Xanthule Ascension Helmet kannst du über eine Wikelo-Mission erhalten, in der die Basisversion in die Aufstiegsversion konvertiert wird. Zudem ist er auch im Pledge Store erhältlich." + }, + { + "role": "user", + "content": "Wo bekomme ich den Xanthule Ascension Suit?" + }, + { + "role": "assistant", + "content": "Den Xanthule Ascension Suit kannst du über eine Wikelo-Mission (Xi'an Xanthule Suit made better) erhalten, in der die Basisversion in die Aufstiegsversion konvertiert wird. Zudem ist er auch im Pledge Store erhältlich." + }, + { + "role": "user", + "content": "Wie finde ich einen ASD Secure Drive?" + }, + { + "role": "assistant", + "content": "Den ASD Secure Drive kannst du in den Onyx Facilities in Stanton bekommen als Missions Belohnung oder als seltenes Drop von NPCs erhalten." + }, + { + "role": "user", + "content": "Wo bekomme ich Geist Armor?" + }, + { + "role": "assistant", + "content": "Geist Armor findest du in orangenen Kisten in den ASD Onyx Facilities." + }, + { + "role": "user", + "content": "Wie erhalte ich die Zenith Laser Sniper Rifle?" + }, + { + "role": "assistant", + "content": "Die Zenith Laser Sniper Rifle findest du in Waffenständern in den ASD Onyx Facilities." + }, + { + "role": "user", + "content": "Wo finde ich die A03 Sniper Rifle (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die A03 Sniper Rifle sind Jumptown Labs. Weitere gute Standorte sind Sakura Magnolia / Goldenrod und Bunkers. Die großen grünen Boxen mit scharfen Ecken enthalten Sniper aller Typen und Farben." + }, + { + "role": "user", + "content": "Wie bekomme ich die P6-LR Sniper Rifle (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die P6-LR Sniper Rifle sind Jumptown Labs. Weitere gute Standorte sind Sakura Magnolia / Goldenrod und Bunkers. Die großen grünen Boxen mit scharfen Ecken enthalten Sniper aller Typen und Farben." + }, + { + "role": "user", + "content": "Wo finde ich die Arrowhead Sniper Rifle (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Arrowhead Sniper Rifle sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Jumptown Labs und Bunkers. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wie erhalte ich die Atzkav Sniper Rifle (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Atzkav Sniper Rifle sind Jumptown Labs. Weitere gute Standorte sind Sakura Magnolia / Goldenrod und Crusader Platforms. Die großen grünen Boxen mit scharfen Ecken enthalten Sniper aller Typen und Farben." + }, + { + "role": "user", + "content": "Wo bekomme ich die Scalpel Sniper Rifle (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Scalpel Sniper Rifle sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Bunkers. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wie finde ich die S71 Rifle (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die S71 Rifle sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Remote Asteroid Bases und Bunkers. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wo bekomme ich die Deadrig Shotgun?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Deadrig Shotgun sind Stanton Bunkers in roten Boxen. Weitere gute Standorte sind Headhunters & Outlaw CQC NPCs und OLP/PAF Medium Gun Boxes." + }, + { + "role": "user", + "content": "Wie erhalte ich die Demeco LMG (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Demeco LMG sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Bunkers. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wo finde ich die F55 LMG (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die F55 LMG sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Bunkers. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wie bekomme ich die FS-9 LMG (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die FS-9 LMG sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Bunkers. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wo erhalte ich die GP-33 MOD Grenade Launcher (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die GP-33 MOD Grenade Launcher sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Jumptown Labs und Bunkers. Crusader Platforms hatten früher viele dieser Waffen, wurden jedoch kürzlich stark reduziert." + }, + { + "role": "user", + "content": "Wie finde ich die Scourge Railgun (Mehrere Farben)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Scourge Railgun sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Bunkers. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wo bekomme ich die Animus Missile Launcher?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Animus Missile Launcher sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Bunkers. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wie erhalte ich die NV-TAC LL Scopes (1-8x)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die NV-TAC LL Scopes sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Contested Zones. Lüftungsschächte rund um den Lobby-Bereich oben in den DCs sind besonders lohnenswert." + }, + { + "role": "user", + "content": "Wo finde ich die NV-TAC Scopes (1-8x)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die NV-TAC Scopes sind Sakura Magnolia / Goldenrod. Weitere gute Standorte sind Jumptown Labs und Remote Asteroid Bases." + }, + { + "role": "user", + "content": "Wie bekomme ich Antium Base / Jet / Maroon / Sand / Storm?" + }, + { + "role": "assistant", + "content": "Die besten Spots für Antium sind die Lagerräume der Orbital Laser Platforms (OLPs) und die Sicherheitsräume der Planetary Alignment Facilities (PAFs)." + }, + { + "role": "user", + "content": "Wo finde ich Antium Moss?" + }, + { + "role": "assistant", + "content": "Antium Moss findest du ausschließlich im Supervisor Room der Orbital Laser Platforms (OLPs)." + }, + { + "role": "user", + "content": "Wie erhalte ich Ana Armor Endro?" + }, + { + "role": "assistant", + "content": "Ana Armor Endro kannst du nur über den Wikelo Trade erhalten." + }, + { + "role": "user", + "content": "Wo bekomme ich Ana Armor Wao?" + }, + { + "role": "assistant", + "content": "Ana Armor Wao ist nur im Pledge Store (Retired) erhältlich." + }, + { + "role": "user", + "content": "Wie finde ich die Parallax \"Sanguine\" Energy Assault Rifle?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Parallax \"Sanguine\" Energy Assault Rifle sind die Sicherheitsräume der Planetary Alignment Facilities (PAFs) und der Supervisor Room der Orbital Laser Platforms." + }, + { + "role": "user", + "content": "Wo bekomme ich die Parallax \"Sunstone\" Energy Assault Rifle?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Parallax \"Sunstone\" Energy Assault Rifle sind die Sicherheitsräume der Planetary Alignment Facilities (PAFs) und der Supervisor Room der Orbital Laser Platforms." + }, + { + "role": "user", + "content": "Wie erhalte ich die Parallax \"Shock Trooper\" Energy Assault Rifle?" + }, + { + "role": "assistant", + "content": "Die Parallax \"Shock Trooper\" Energy Assault Rifle findest du ausschließlich im Supervisor Room der Orbital Laser Platforms (OLP)." + }, + { + "role": "user", + "content": "Wo finde ich die Parallax Energy Assault Rifle (VOLT)?" + }, + { + "role": "assistant", + "content": "Die besten Spots für die Parallax Energy Assault Rifle (VOLT) sind die Sicherheitsräume der Planetary Alignment Facilities (PAFs) und der Supervisor Room der Orbital Laser Platforms." + }, + { + "role": "user", + "content": "Wie bekomme ich die Parallax \"Downburst Camo\" Energy Assault Rifle?" + }, + { + "role": "assistant", + "content": "Die Parallax \"Downburst Camo\" Energy Assault Rifle ist nur im Pledge Store (Retired) erhältlich." + }, + { + "role": "user", + "content": "Wo finde ich die Parallax \"Fun Kopion Skull\" Energy Assault Rifle?" + }, + { + "role": "assistant", + "content": "Die Parallax \"Fun Kopion Skull\" Energy Assault Rifle kannst du nur über den Wikelo Trade erhalten." + }, + { + "role": "user", + "content": "Wie erhalte ich die Parallax \"Fun Kopion Tooth\" Energy Assault Rifle?" + }, + { + "role": "assistant", + "content": "Die Parallax \"Fun Kopion Tooth\" Energy Assault Rifle kannst du nur über den Wikelo Trade erhalten." + }, + { + "role": "user", + "content": "Wo bekomme ich die Parallax \"Fun Military Skull\" Energy Assault Rifle?" + }, + { + "role": "assistant", + "content": "Die Parallax \"Fun Military Skull\" Energy Assault Rifle kannst du nur über den Wikelo Trade erhalten." + }, + { + "role": "user", + "content": "Wie finde ich die Parallax \"Fun Military Tooth\" Energy Assault Rifle?" + }, + { + "role": "assistant", + "content": "Die Parallax \"Fun Military Tooth\" Energy Assault Rifle kannst du nur über den Wikelo Trade erhalten." + } +] diff --git a/llm_training/deduplicate.py b/llm_training/deduplicate.py new file mode 100644 index 0000000..20aa9aa --- /dev/null +++ b/llm_training/deduplicate.py @@ -0,0 +1,28 @@ +import json, re +from pathlib import Path +from tqdm.auto import tqdm + +def dedupe(input_file: Path, output_file: Path): + print(f"\n>>> Deduping {input_file}") + seen = set() + out_f = output_file.open("w", encoding="utf-8") + + # Wir laden die Datei Zeile für Zeile (JSONL) + i = 0 + with input_file.open("r", encoding="utf-8") as f: + for line in tqdm(f, desc="reading"): + msg = json.loads(line) + if msg["role"] != "user": + continue + + key = re.sub(r"\s+", " ", msg["content"]).strip().lower() + if key not in seen: + seen.add(key) + out_f.write(json.dumps(msg, ensure_ascii=False) + "\n") + # nächster Zeile ist der entsprechende Assistant‑Message + next_line = f.readline() + if next_line: + out_f.write(next_line.rstrip("\n") + "\n") + + out_f.close() + print(f"✅ {output_file} – {len(seen)} einzigartige User‑Phrasen.") diff --git a/llm_training/paraphrase_chatml.py b/llm_training/paraphrase_chatml.py new file mode 100644 index 0000000..059667a --- /dev/null +++ b/llm_training/paraphrase_chatml.py @@ -0,0 +1,123 @@ +#!/usr/bin/env python3 +# ------------------------------------------------------------- +# paraphrase_batch.py +# +# Run it once per dataset and it will automatically iterate over +# the models you listed, writing a separate JSONL for each. +# +# Usage: +# python paraphrase_batch.py --input refusal_questions.jsonl \ +# --out-dir ./paraphrases +# +# ------------------------------------------------------------- +import json, random, time +from pathlib import Path +import requests +from tqdm.auto import tqdm + +# ---------- CONFIG ---------- +API_URL = "http://10.0.0.193:123/v1" + +PROMPT_TEMPLATE = ( + "Paraphrasiere den folgenden Satz auf natürliche, menschliche Weise auf Deutsch.\n\n" + "Original:\n{text}\n\nParaphrase:" +) + +MAX_TOKENS = 256 +TEMPERATURE_RANGE = (0.45, 0.8) # per request + +# ---------- MODEL LIST ---------- +MODELS = [ + ("Qwen3-30B-A3B"), + ("Mistral Small 3.2"), + ("Gemma3-27B"), + ("gpt-oss-20b") +] + +# ---------- HELPERS ---------- +def paraphrase_batch(texts, model_name, temperatures): + """Send a batch of texts to the API and return list of paraphrases.""" + payload = { + "model": model_name, + "prompt": [PROMPT_TEMPLATE.format(text=t) for t in texts], + "temperature": temperatures, + "max_tokens": MAX_TOKENS, + "n": 1 + } + resp = requests.post(f"{API_URL}/completions", json=payload) + if resp.status_code != 200: + raise RuntimeError(f"API error {resp.status_code}: {resp.text}") + return [c["text"].strip() for c in resp.json()["choices"]] + +# ---------- MAIN PARAPHRASE ---------- +def process_model(model_name, output_path: Path, messages): + """Paraphrase all *user* messages with a single model.""" + out_f = output_path.open("w", encoding="utf-8") + + i = 0 + pbar = tqdm(total=len(messages)//2, desc=model_name) + + while i < len(messages) - 1: + user_msg = messages[i] + assistant_msg= messages[i + 1] + + # skip malformed pairs + if user_msg["role"] != "user" or assistant_msg["role"] != "assistant": + i += 1 + continue + + # write original pair once + out_f.write(json.dumps(user_msg, ensure_ascii=False) + "\n") + out_f.write(json.dumps(assistant_msg, ensure_ascii=False) + "\n") + + # generate paraphrases for this question + n_variants = random.randint(3, 10) + texts = [user_msg["content"]] * n_variants + temps = [round(random.uniform(*TEMPERATURE_RANGE), 2) for _ in range(n_variants)] + + try: + paraphrases = paraphrase_batch(texts, model_name, temps) + except Exception as e: + print(f"\n⚠️ Fehler bei {user_msg['content']!r}: {e}") + # fallback: reuse original text + paraphrases = [user_msg["content"]] * n_variants + + for p in paraphrases: + out_f.write(json.dumps({"role": "user", "content": p}, ensure_ascii=False) + "\n") + out_f.write(json.dumps(assistant_msg, ensure_ascii=False) + "\n") + + i += 2 + pbar.update(1) + time.sleep(0.05) # gentle rate‑limit + + out_f.close() + print(f"✅ {output_path} fertig – {(len(messages)//2)*(1+n_variants)} Zeilen") + +# ---------- MAIN ENTRY ---------- +def main(): + import argparse + + parser = argparse.ArgumentParser( + description="Generate paraphrases for a JSONL of user/assistant pairs using multiple models." + ) + parser.add_argument("--input", type=Path, default="refusal_questions.jsonl", + help="Input file (JSON array of messages)") + parser.add_argument("--out-dir", type=Path, default="./paraphrases", + help="Directory to write the per‑model JSONL files") + args = parser.parse_args() + + # Ensure output directory exists + args.out_dir.mkdir(parents=True, exist_ok=True) + + # Load all messages once – works for < 1 M lines comfortably + print(f"Loading {args.input} …") + with args.input.open("r", encoding="utf-8") as f: + messages = json.load(f) # expects a JSON array + + # Iterate over the models automatically + for model_name in MODELS: + output_path = args.out_dir / f"{model_name}.jsonl" + process_model(model_name, output_path, messages) + +if __name__ == "__main__": + main()