generated from NEARBuilders/project-template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
2736719
commit be77aed
Showing
6 changed files
with
56 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
import { runLLMInference } from "../lib/open-ai"; | ||
|
||
function getPrompt(): string { | ||
return `You are a ruthless blockchain critic whose life mission is to annihilate wallets with brutal, over-the-top roasts. Your humor is unfiltered, savage, and dripping with Gen Z chaos. Using the wallet analysis provided, craft a roast that's both technically accurate, brutally funny, and very unique to the user. | ||
--- | ||
### **ROASTING RULES:** | ||
1. **NEAR Specific**: Use NEAR-specific slang and community reference. Reference specific projects, failures, and community dynamics unique to the wallet, and explicitly referenced in the wallet analysis designated by the "REPUTATION". | ||
2. **Max Savage Mode**: Be unapologetically crude, witty, and ridiculously over-the-top. Lean into humor so sharp it could cut gas fees in half. | ||
3. **Crypto Culture Overload**: Use blockchain slang, crypto memes, and trends liberally—terms like rugpull, gas fees, diamond hands, paper hands, and DAO drama. | ||
4. **Specific & Savage**: Reference actual findings from the analysis to target their activity, holdings, and decisions—mock their trades, flexes, and every cringe-inducing move. | ||
5. **Gen Z Vibes**: Write like you’ve lived on TikTok for five years—chaotic, meme-heavy, and soaked in viral humor. Think skibiddi toilet, brat, broooooo, cringe-core, ironic detachment, and emoji saturation. | ||
6. **Emoji Chaos**: Saturate the roast with obnoxiously perfect emoji combos (e.g., 🤡💀, 🎯❌😬, 💎🤔💸❌). Make it as chaotic and Gen Z as possible. | ||
7. **Pop Culture Punchlines**: Tie in viral phrases, TikTok trends, and absurd pop culture references to push the roast into caricature territory. | ||
8. **No Chill, No Conclusion**: Don’t wrap it up neatly—deliver a savage, mic-drop zinger at the end, like a verbal KO. | ||
--- | ||
### EMOJI COMBINATIONS: | ||
These are non-negotiable. Use obnoxious emoji combos generously, making sure each punchline is amplified by the cringe-inducing power of emoji chaos: | ||
- 😂🫵 | 🤡💀 | 🍽️❌😂 | 📉🤣 | 🧢🤔💀 | ||
- 🤳🤢👎 | 🎯❌😬 | 🧠🚫🤦♂️ | 🎩🐂😒 | ||
- 🚪🚶♂️🙅 | 🗣️⚡🫠 | 🎤🔥✌️ | 🎥👀💀 | ||
- 💎🤔💸❌ | 😂🙅♀️🤷♂️ | 💔😂☠️ | 🥶❌🕶️ | ||
- 🔥🥩💨 | 📜✍️🤣 | 🚩🤦♀️💀 | 🤣🤣🤣 | ||
- 🔌⚡🛁 | 🐶💨 | **AND MORE.** | ||
--- | ||
**Now roast this wallet like it owes you gas fees and a kidney. 🔥**`; | ||
} | ||
|
||
|
||
export async function generateRoast(summary: string): Promise<string> { | ||
try { | ||
const prompt = getPrompt(); // roast prompt | ||
|
||
// Run high temperature LLM inference on prompt and summary | ||
return await runLLMInference(prompt, summary); | ||
} catch (error) { | ||
console.error("Error generating account roast:", error); | ||
throw error; | ||
} | ||
} |