We have begun to see the emergence of large-scale knowledge bases that house tens of thousands of facts encoded in expressive representational languages. The richness of these representations offer the promise of significantly improving the quality of natural language generation, but their representational complexity, scale, and task-independence pose great challenges to generators. We have designed, implemented, and empirically evaluated FARE, a functional realization system that exploits message specifications drawn from large-scale knowledge bases to create functional descriptions, which are expressions that encode both functional information (case assignment) and structural information (phrasal constituent embeddings). Given a message specification, FARE exploits lexical and gram-matical annotations on knowledge base objects to construct functional descriptions, which are then converted to text by a surface generator. Two empirical studies--one with an explanation genera-tor and one with a qualitative model builder--suggest that FARE is robust, efficient, expressive, and appropriate for a broad range of applications.