tts-anki-dictionary/prompt.py

85 lines
5.9 KiB
Python

CARDS_TO_WORDS_PROMPT = '''
I'll give you a list of Anki cards. Your job is to transform the dictionary entry card into speakable words, card for card, so that it can be passed to a TTS program.
Your job is to transform cards into speakable phrases, separated by semicolons.
ALWAYS follow these instructions:
- MAKE SURE to output NOTHING ELSE but the result
- MAKE SURE to not forget a single word! Start from the top, and continue onwards to the bottom
- MAKE SURE to output NO EXTRA WORDS to the cards
- Remove any brackets containing words (e.g. (ADJ), (NUR PL))
- ALWAYS Remove '|' word separators (e.g aus|steigen -> aussteigen)
- For verbs, include past and past perfect tense (e.g. befinden -> befinden, befand, befunden)
- DO NOT include extra words ANYWHERE EXCEPT FOR IN DECLARED CASES (e.g. DO NOT DO THIS: dahin -> dahin, dorthin. INSTEAD: dahin -> dahin)
- If a plural exists, ALWAYS write down the singular and the plural (e.g. die Werkstatt -en -> die Werkstatt, die Werkstätten)
- Separate plurals (of the same card) ALWAYS with commas, NEVER with semicolons. ALWAYS separate different cards with semicolons.
- If a noun does not change form in the plural, write it with both the singular and plural articles to reflect the change in number (e.g., "das Mädchen, -" -> "das Mädchen, die Mädchen"). If a noun only exists in the plural form, write only the plural (e.g., "die Eltern" remains "die Eltern").
- For words that only have a plural (e.g. Geschwister), just write the plural form (in this case "Die Geschwister")
- For adjectives, adverbs, propositions and ALL OTHER WORDS, write down ONLY the words themselves (e.g. dahin -> dahin)
For example, given the following input:
das Taxi -s; die U-Bahn -en; befinden; die Werkstatt -en; mobil (ADJ); dahin
Output this:
das Taxi, die Taxis; die U-Bahn, die U-Bahnen; befinden, befand, befunden; die Werkstatt, die Werkstätten; mobil; dahin
Begin with the first card, then the second card, the third, and so on, until you've transcribed the last card.
If there is only one card, output the speakable phrase directly, WITHOUT a following semicolon.
NEVER output ANYTHING ELSE except for the semicolon-delimited string of speakable phrases, EVER! THIS IS THE MOST IMPORTANT!
'''
# Remember, the result should be SPEAKABLE, not READABLE, and needs to include ALL WORDS.
LLAMA_CARDS_TO_WORDS_PROMPT = '''
I'll give you a list of Anki cards. Your job is to transform the dictionary entry card into speakable words, card for card, so that it can be passed to a TTS program.
Your job is to transform cards into speakable phrases, separated by semicolons.
ALWAYS follow these instructions:
- MAKE SURE to output NOTHING ELSE but the result
- MAKE SURE to not forget a single word! Start from the top, and continue onwards to the bottom
- MAKE SURE to output NO EXTRA WORDS to the cards
- Remove any brackets containing words (e.g. (ADJ)), or word separators (e.g aus|steigen -> aussteigen)
- For verbs, include past and past perfect tense (e.g. befinden -> befinden, befand, befunden)
- For adjectives, adverbs, propositions and other words, write down ONLY the words themselves (e.g. dahin -> dahin)
- DO NOT include extra words ANYWHERE EXCEPT FOR IN DECLARED CASES (e.g. DO NOT DO THIS: dahin -> dahin, dorthin. INSTEAD: dahin -> dahin)
- If a plural exists, ALWAYS write down the singular and the plural (e.g. die Werkstatt -en -> die Werkstatt, die Werkstätten)
- Separate plurals (of the same card) ALWAYS with commas, NEVER with semicolons. ALWAYS separate different cards with semicolons.
For example, given the following input:
das Taxi -s; die U-Bahn -en; befinden; die Werkstatt -en; mobil (ADJ); dahin
Output this:
das Taxi, die Taxis; die U-Bahn, die U-Bahnen; befinden, befand, befunden; die Werkstatt, die Werkstätten; mobil; dahin
Remember, the result should be SPEAKABLE, not READABLE, and needs to include ALL WORDS.
MAKE SURE that you only output according to the given content, NOTHING MORE! DO NOT add any extra text, or change the formatting in any way.
'''
IMPROVED_CARDS_TO_WORDS_PROMPT = '''
I'll give you a list of German words and phrases. Your job is to transform them into speakable phrases, word for word, not leaving any out, separated by semicolons, ALWAYS following these rules:
- Output the singular and plural forms of nouns (e.g., "das Taxi -s" -> "das Taxi, die Taxis").
- For verbs, include the infinitive, past tense, and past participle (e.g., "scheiden" -> "scheiden, schied, geschieden").
- Write adjectives and adverbs in their base form only.
- Remove any brackets containing words (e.g. (ADJ), (NUR PL))
- ALWAYS remove word separators (e.g aus|steigen -> aussteigen)
- Pronouns should be listed in both singular and plural forms where applicable.
- Use commas to separate different forms of the same word, and semicolons to separate different words or phrases.
- Do not add or omit any words; the output should match the input in number and order.
- If a noun does not change form in the plural, write it with both the singular and plural articles to reflect the change in number (e.g., "das Mädchen, -" -> "das Mädchen, die Mädchen"). If a noun only exists in the plural form, write only the plural (e.g., "die Eltern" remains "die Eltern").
- For words that only have a plural (e.g. Geschwister), just write the plural form (in this case "Die Geschwister")
Example Input:
das Taxi -s; die U-Bahn -en; befinden; die Werkstatt -en; mobil (ADJ); dahin; Eltern (NUR PL); der Palästinenser, -
Expected Output:
das Taxi, die Taxis; die U-Bahn, die U-Bahnen; befinden, befand, befunden; die Werkstatt, die Werkstätten; mobil; dahin; die Eltern; der Palästinenser
'''
# - MAKE SURE that the number and order of output words EQUALS the number and order of input words. This is CRITICALLY IMPORTANT! So DO NOT LEAVE ANYTHING OUT!!!
# - MAKE SURE to start at the top, and write a place for EVERY word! Do not leave any out.
# - End after the last card has been written out.