check point
This commit is contained in:
61
backup_source/memory_card.py
Normal file
61
backup_source/memory_card.py
Normal file
@@ -0,0 +1,61 @@
|
||||
"""
|
||||
games/memory_card.py - Memory Card Game - Flip cards to find pairs
|
||||
"""
|
||||
from typing import List
|
||||
from pydantic import BaseModel, Field
|
||||
from langchain_core.output_parsers import PydanticOutputParser
|
||||
|
||||
|
||||
# ============== SCHEMA ==============
|
||||
class MemoryCardItem(BaseModel):
|
||||
name: str = Field(description="Card content/label")
|
||||
pair_id: str = Field(description="ID to match pairs (same pair_id = matching cards)")
|
||||
original_quote: str = Field(description="EXACT quote from source text")
|
||||
image_description: str = Field(default="", description="Visual description for the card")
|
||||
image_is_complex: bool = Field(default=False, description="True if image needs precise quantities, humans, or multiple detailed objects")
|
||||
|
||||
|
||||
class MemoryCardOutput(BaseModel):
|
||||
"""Output wrapper for memory card items"""
|
||||
items: List[MemoryCardItem] = Field(description="List of memory card items generated from source text")
|
||||
|
||||
|
||||
# Output parser
|
||||
output_parser = PydanticOutputParser(pydantic_object=MemoryCardOutput)
|
||||
|
||||
|
||||
# ============== CONFIG ==============
|
||||
GAME_CONFIG = {
|
||||
"game_type": "memory_card",
|
||||
"display_name": "Memory Card",
|
||||
"description": "Flip cards to find pairs",
|
||||
|
||||
"active": False, # Disabled
|
||||
|
||||
"min_items": 4,
|
||||
"max_items": 10,
|
||||
"schema": MemoryCardItem,
|
||||
"output_schema": MemoryCardOutput,
|
||||
"output_parser": output_parser,
|
||||
|
||||
"system_prompt": """Create memory card pairs.
|
||||
CRITICAL RULES:
|
||||
1. KEEP THE ORIGINAL LANGUAGE - Do NOT translate the source text
|
||||
2. original_quote MUST be an EXACT copy from source text
|
||||
3. ALL content must come from the source text only""",
|
||||
}
|
||||
|
||||
|
||||
# ============== EXAMPLES ==============
|
||||
EXAMPLES = [
|
||||
{
|
||||
"input": "The Sun is a star.",
|
||||
"output": {
|
||||
"items": [
|
||||
{"name": "The Sun", "pair_id": "p1", "original_quote": "The Sun is a star.", "image_description": "A bright sun", "image_is_complex": False},
|
||||
{"name": "a star", "pair_id": "p1", "original_quote": "The Sun is a star.", "image_description": "A glowing star", "image_is_complex": False}
|
||||
]
|
||||
},
|
||||
"why_suitable": "Has concept pairs"
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user