{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/layoutprompter-awaken-the-design-ability-of-1","title":"LayoutPrompter: Awaken the Design Ability of Large Language Models","arxiv_id":"2311.06495","date":"2023-11-11","proceeding":"NeurIPS 2023 11","authors":["Jiawei Lin","Jiaqi Guo","Shizhao Sun","Zijiang James Yang","Jian-Guang Lou","Dongmei Zhang"],"abstract":"Conditional graphic layout generation, which automatically maps user constraints to high-quality layouts, has attracted widespread attention today. Although recent works have achieved promising performance, the lack of versatility and data efficiency hinders their practical applications. In this work, we propose LayoutPrompter, which leverages large language models (LLMs) to address the above problems through in-context learning. LayoutPrompter is made up of three key components, namely input-output serialization, dynamic exemplar selection and layout ranking. Specifically, the input-output serialization component meticulously designs the input and output formats for each layout generation task. Dynamic exemplar selection is responsible for selecting the most helpful prompting exemplars for a given input. And a layout ranker is used to pick the highest quality layout from multiple outputs of LLMs. We conduct experiments on all existing layout generation tasks using four public datasets. Despite the simplicity of our approach, experimental results show that LayoutPrompter can compete with or even outperform state-of-the-art approaches on these tasks without any model training or fine-tuning. This demonstrates the effectiveness of this versatile and training-free approach. In addition, the ablation studies show that LayoutPrompter is significantly superior to the training-based baseline in a low-data regime, further indicating the data efficiency of LayoutPrompter. Our project is available at https://github.com/microsoft/LayoutGeneration/tree/main/LayoutPrompter.","url_abs":"https://arxiv.org/abs/2311.06495v1","url_pdf":"https://arxiv.org/pdf/2311.06495v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"layoutprompter-awaken-the-design-ability-of-1","repo_url":"https://github.com/microsoft/layoutgeneration","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"jax","reach":null}],"tasks":[{"task_slug":"in-context-learning","task_name":"In-Context Learning"},{"task_slug":"layout-generation","task_name":"Layout Generation"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2311.06495","atlas_url":"https://app.syntology.ai/?focus=2311.06495","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2311.06495"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/microsoft/layoutgeneration","reach":null}],"summary":{"ran":5,"unverified":5},"by_repo_kind":{"official":{"samples":10,"ran":5,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"003731759cf42c51","entry":"CompletionSerializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"003731759cf42c51"}},{"code_sha256_prefix":"845ab1c5552e1111","entry":"ContentAwareSerializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"845ab1c5552e1111"}},{"code_sha256_prefix":"a187d42a25c10b7e","entry":"GenRelationSerializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a187d42a25c10b7e"}},{"code_sha256_prefix":"bfcb2fef7947109d","entry":"Serializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"bfcb2fef7947109d"}},{"code_sha256_prefix":"f2ae3d03389c2099","entry":"TextToLayoutSerializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f2ae3d03389c2099"}},{"code_sha256_prefix":"3a827eaeadcba751","entry":"GenTypeSerializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3a827eaeadcba751"}},{"code_sha256_prefix":"d0e1893d85b85580","entry":"GenTypeSizeSerializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d0e1893d85b85580"}},{"code_sha256_prefix":"08280f1031539c37","entry":"RefinementSerializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"08280f1031539c37"}},{"code_sha256_prefix":"0d9b3fef26d1448e","entry":"RelationTypes","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0d9b3fef26d1448e"}},{"code_sha256_prefix":"804988e12df0c631","entry":"create_serializer","repo":"microsoft/layoutgeneration","repo_kind":"official","path":"LayoutPrompter/src/serialization.py","file_url":"https://github.com/microsoft/layoutgeneration/blob/HEAD/LayoutPrompter/src/serialization.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"804988e12df0c631"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}