Novel World-Building
Ground narrative descriptions by retrieving location and setting details from Milvus before generating environmental content.
Workflow
Before writing scenes set in specific locations:
Identify primary locations
- Extract all location names from the new scene
- Categorize as: cities, buildings, natural areas, fantasy realms
- Note if location is first mention or recurring
Query Milvus for location details
- For each location, query:
"[location name] description, geography, architecture"
- Retrieve top 8-10 chunks for comprehensive context
- Combine results into a location profile
Extract environmental details
From retrieved passages, document:
- Geography: terrain, climate, distance to other locations
- Architecture: buildings, streets, landmarks
- Atmosphere: mood, lighting, sensory details
- Inhabitants: who lives/works there, population characteristics
- History: past events that shaped the location
- Unique elements: distinctive features that make it memorable
Check for consistency
- Verify climate aligns with geography
- Confirm travel times between locations match previous mentions
- Check that established landmarks remain in same positions
- Validate population and infrastructure scale
Inject into prompt context
- Include location profiles in system prompt before generation
- Format as structured location data with key characteristics
- Use specific sensory details to enrich descriptions
Generate environment-grounded scenes
- Model writes scenes with retrieved location context
- Environmental descriptions now consistent with established world
- New location details embeddable for future retrieval
Location Profile Template
Use this format when injecting location data:
Location: [Location Name]
- Geography: [terrain, climate, cardinal position]
- Architecture: [key buildings, streets, landmarks]
- Atmosphere: [mood, lighting, sensory details]
- Inhabitants: [who's here, population type]
- History: [relevant past events]
- Travel: [distance/time to connected locations]
- Unique elements: [distinctive features]
Query Strategy
Effective Milvus queries for location retrieval:
"[location] geography, landscape, terrain" → spatial consistency
"[location] architecture, buildings, streets" → structural details
"[location] weather, climate, season" → environmental conditions
"[location] inhabitants, people, culture" → social context
"[location] description, appears, looks" → sensory grounding
"[location] history, past, event" → contextual depth
"travel from [location A] to [location B]" → geographic relationships
World-Building Consistency Checks
Prevent environmental contradictions:
- Geography: locations can't move; travel times must be consistent
- Architecture: buildings once described shouldn't change appearance
- Climate: seasonal consistency within timeframe
- Population: established city sizes shouldn't drastically change
- History: past events shouldn't be retconned
- Accessibility: roads/paths established remain accessible
- Cultural markers: unique cultural elements stay consistent
Multi-Location Context
For scenes spanning multiple locations:
- Query each location separately
- Retrieve travel/distance information between them
- Verify timeline feasibility (character can't be in two places simultaneously)
- Include all location profiles in single context injection
Tips
- Query before introducing locations or during location changes
- Include surrounding areas/regions for geographic grounding
- When characters travel, retrieve both origin and destination
- Describe weather/season consistently within narrative timeframe
- After generating, embed location descriptions to enrich vector DB
1---2name: novel-world-building3description: Manage narrative world-building by retrieving location descriptions and setting details from Milvus. Ensures geographical consistency, climate accuracy, architectural details, and cultural specifics remain coherent. Use when introducing new locations, describing familiar settings, or when model needs environmental context to ground story scenes.4---56# Novel World-Building78Ground narrative descriptions by retrieving location and setting details from Milvus before generating environmental content.910## Workflow1112Before writing scenes set in specific locations:13141. **Identify primary locations**15 - Extract all location names from the new scene16 - Categorize as: cities, buildings, natural areas, fantasy realms17 - Note if location is first mention or recurring18192. **Query Milvus for location details**20 - For each location, query: `"[location name] description, geography, architecture"`21 - Retrieve top 8-10 chunks for comprehensive context22 - Combine results into a location profile23243. **Extract environmental details**25 From retrieved passages, document:26 - **Geography**: terrain, climate, distance to other locations27 - **Architecture**: buildings, streets, landmarks28 - **Atmosphere**: mood, lighting, sensory details29 - **Inhabitants**: who lives/works there, population characteristics30 - **History**: past events that shaped the location31 - **Unique elements**: distinctive features that make it memorable32334. **Check for consistency**34 - Verify climate aligns with geography35 - Confirm travel times between locations match previous mentions36 - Check that established landmarks remain in same positions37 - Validate population and infrastructure scale38395. **Inject into prompt context**40 - Include location profiles in system prompt before generation41 - Format as structured location data with key characteristics42 - Use specific sensory details to enrich descriptions43446. **Generate environment-grounded scenes**45 - Model writes scenes with retrieved location context46 - Environmental descriptions now consistent with established world47 - New location details embeddable for future retrieval4849## Location Profile Template5051Use this format when injecting location data:5253```54Location: [Location Name]55- Geography: [terrain, climate, cardinal position]56- Architecture: [key buildings, streets, landmarks]57- Atmosphere: [mood, lighting, sensory details]58- Inhabitants: [who's here, population type]59- History: [relevant past events]60- Travel: [distance/time to connected locations]61- Unique elements: [distinctive features]62```6364## Query Strategy6566**Effective Milvus queries for location retrieval:**6768- `"[location] geography, landscape, terrain"` → spatial consistency69- `"[location] architecture, buildings, streets"` → structural details70- `"[location] weather, climate, season"` → environmental conditions71- `"[location] inhabitants, people, culture"` → social context72- `"[location] description, appears, looks"` → sensory grounding73- `"[location] history, past, event"` → contextual depth74- `"travel from [location A] to [location B]"` → geographic relationships7576## World-Building Consistency Checks7778Prevent environmental contradictions:79- **Geography**: locations can't move; travel times must be consistent80- **Architecture**: buildings once described shouldn't change appearance81- **Climate**: seasonal consistency within timeframe82- **Population**: established city sizes shouldn't drastically change83- **History**: past events shouldn't be retconned84- **Accessibility**: roads/paths established remain accessible85- **Cultural markers**: unique cultural elements stay consistent8687## Multi-Location Context8889For scenes spanning multiple locations:90911. Query each location separately922. Retrieve travel/distance information between them933. Verify timeline feasibility (character can't be in two places simultaneously)944. Include all location profiles in single context injection9596## Tips9798- Query before introducing locations or during location changes99- Include surrounding areas/regions for geographic grounding100- When characters travel, retrieve both origin and destination101- Describe weather/season consistently within narrative timeframe102- After generating, embed location descriptions to enrich vector DB