[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-73618":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":20,"hasPages":22,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":31,"discoverSource":32},73618,"poml","microsoft\u002Fpoml","microsoft","Prompt Orchestration Markup Language","https:\u002F\u002Fmicrosoft.github.io\u002Fpoml\u002F",null,"TypeScript",4854,245,33,30,0,2,59.37,"MIT License",false,"main",true,[24,25,26,27],"llm","markup-language","prompt","vscode-extension","2026-06-12 04:01:10","# POML: Prompt Orchestration Markup Language\n\n[![Documentation](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocs-microsoft.github.io-blue)](https:\u002F\u002Fmicrosoft.github.io\u002Fpoml\u002F)\n[![VSCode Extension](https:\u002F\u002Fimg.shields.io\u002Fvisual-studio-marketplace\u002Fv\u002Fpoml-team.poml)](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=poml-team.poml)\n[![PyPI](https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fpoml)](https:\u002F\u002Fpypi.org\u002Fproject\u002Fpoml\u002F)\n[![npm (latest)](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fpomljs)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fpomljs)\n[![Test Status](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpoml\u002Factions\u002Fworkflows\u002Ftest.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpoml\u002Factions\u002Fworkflows\u002Ftest.yml)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT)\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FDiscord-Join-5865F2?logo=discord&logoColor=white)](https:\u002F\u002Fdiscord.gg\u002FFhMCqWzAn6)\n\n**POML (Prompt Orchestration Markup Language)** is a novel markup language designed to bring structure, maintainability, and versatility to advanced prompt engineering for Large Language Models (LLMs). It addresses common challenges in prompt development, such as lack of structure, complex data integration, format sensitivity, and inadequate tooling. POML provides a systematic way to organize prompt components, integrate diverse data types seamlessly, and manage presentation variations, empowering developers to create more sophisticated and reliable LLM applications.\n\n## Demo Video\n\n[![The 5-minute guide to POML](https:\u002F\u002Fi3.ytimg.com\u002Fvi\u002Fb9WDcFsKixo\u002Fmaxresdefault.jpg)](https:\u002F\u002Fyoutu.be\u002Fb9WDcFsKixo)\n\n## Key Features\n\n- **Structured Prompting Markup**: Employs an HTML-like syntax with semantic components such as `\u003Crole>`, `\u003Ctask>`, and `\u003Cexample>` to encourage modular design, enhancing prompt readability, reusability, and maintainability.\n- **Comprehensive Data Handling**: Incorporates specialized data components (e.g., `\u003Cdocument>`, `\u003Ctable>`, `\u003Cimg>`) that seamlessly embed or reference external data sources like text files, spreadsheets, and images, with customizable formatting options.\n- **Decoupled Presentation Styling**: Features a CSS-like styling system that separates content from presentation. This allows developers to modify styling (e.g., verbosity, syntax format) via `\u003Cstylesheet>` definitions or inline attributes without altering core prompt logic, mitigating LLM format sensitivity.\n- **Integrated Templating Engine**: Includes a built-in templating engine with support for variables (`{{ }}`), loops (`for`), conditionals (`if`), and variable definitions (`\u003Clet>`) for dynamically generating complex, data-driven prompts.\n- **Rich Development Toolkit**:\n  - **IDE Extension (Visual Studio Code)**: Provides essential development aids like syntax highlighting, context-aware auto-completion, hover documentation, real-time previews, inline diagnostics for error checking, and integrated interactive testing.\n  - **Software Development Kits (SDKs)**: Offers SDKs for Node.js (JavaScript\u002FTypeScript) and Python for seamless integration into various application workflows and popular LLM frameworks.\n\n## Quick Start\n\nHere's a very simple POML example. Please put it in a file named `example.poml`. Make sure it resides in the same directory as the `photosynthesis_diagram.png` image file.\n\n```xml\n\u003Cpoml>\n  \u003Crole>You are a patient teacher explaining concepts to a 10-year-old.\u003C\u002Frole>\n  \u003Ctask>Explain the concept of photosynthesis using the provided image as a reference.\u003C\u002Ftask>\n\n  \u003Cimg src=\"photosynthesis_diagram.png\" alt=\"Diagram of photosynthesis\" \u002F>\n\n  \u003Coutput-format>\n    Keep the explanation simple, engaging, and under 100 words.\n    Start with \"Hey there, future scientist!\".\n  \u003C\u002Foutput-format>\n\u003C\u002Fpoml>\n```\n\nThis example defines a role and task for the LLM, includes an image for context, and specifies the desired output format. With the POML toolkit, the prompt can be easily rendered with a flexible format, and tested with a vision LLM.\n\n## Installation\n\n### Visual Studio Code Extension\n\nInstall from [Visual Studio Code Marketplace](https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=poml-team.poml).\n\nYou can also install the extension manually by downloading the `.vsix` file from our [GitHub releases page](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fpoml\u002Freleases) and installing it in VS Code via the Extensions view.\n\nBefore testing prompts with the POML toolkit, make sure you have configured your preferred LLM model, API key, and endpoint. If these are not set, prompt testing will not work.\n\n**To configure in Visual Studio Code:**\n\n- Open the extension settings (open \"Settings\" and search for \"POML\").\n- Set your model provider (e.g., OpenAI, Azure, Google), API key, and endpoint URL in the POML section.\n- Alternatively, you can add these settings directly to your `settings.json` file.\n\n### Node.js (via npm)\n\n```bash\nnpm install pomljs\n```\n\n### Python (via pip)\n\n```bash\npip install poml\n```\n\nFor development or local installation, you might use `pip install -e .` from a cloned repository.\n\n**Refer to the [documentation](https:\u002F\u002Fmicrosoft.github.io\u002Fpoml) for more details on installing the nightly build.**\n\n## Documentation\n\nFor detailed information on POML syntax, components, styling, templating, SDKs, and the VS Code extension, please refer to our [documentation](https:\u002F\u002Fmicrosoft.github.io\u002Fpoml).\n\n## Learn More\n\n- **Watch our Demo Video on YouTube:** [POML Introduction & Demo](https:\u002F\u002Fyoutu.be\u002Fb9WDcFsKixo)\n- **Join our Discord community:** Connect with the team and other users on our [Discord server](https:\u002F\u002Fdiscord.gg\u002FFhMCqWzAn6).\n- **Read the Prompt Orchestration Markup Language paper:** [Prompt Orchestration Markup Language](https:\u002F\u002Farxiv.org\u002Fabs\u002F2508.13948) presents the design of POML and its impact on prompt engineering.\n- **Explore Content-Format Integrated Prompt Optimization:** [Beyond Prompt Content: Enhancing LLM Performance via Content-Format Integrated Prompt Optimization](https:\u002F\u002Farxiv.org\u002Fabs\u002F2502.04295) proposes an iterative approach that jointly optimizes prompt content and formatting to improve LLM performance.\n\n## Citation\n\nIf you find POML useful or related to your research, please cite the following paper:\n\n```bibtex\n@misc{zhang2025promptorchestrationmarkuplanguage,\n      title={Prompt Orchestration Markup Language},\n      author={Yuge Zhang and Nan Chen and Jiahang Xu and Yuqing Yang},\n      year={2025},\n      eprint={2508.13948},\n      archivePrefix={arXiv},\n      primaryClass={cs.HC},\n      url={https:\u002F\u002Farxiv.org\u002Fabs\u002F2508.13948},\n}\n```\n\n## Ecosystem & Community Projects\n\n- [mini-poml-rs](https:\u002F\u002Fgithub.com\u002Flinmx0130\u002Fmini-poml-rs) – Experimental Rust-based POML renderer for environments without JavaScript or Python interpreters.\n- [poml-ruby](https:\u002F\u002Fgithub.com\u002FGhennadiiMir\u002Fpoml) – Ruby gem implementation of POML for Ruby applications.\n- [ai-chatbot-with-python-and-angular](https:\u002F\u002Fgithub.com\u002Fhereandnowai\u002Fai-chatbot-with-python-and-angular) – A chatbot built with Python and Angular (version 20), utilizing POML for prompting and the Langchain framework. Developed by HERE AND NOW AI.\n- [PomlSDK.jl](https:\u002F\u002Fgithub.com\u002Fimohag9\u002FPomlSDK.jl) – Julia implementation of the POML specification.\n\n## Contributing\n\nThis project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https:\u002F\u002Fcla.opensource.microsoft.com.\n\nWhen you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.\n\nThis project has adopted the [Microsoft Open Source Code of Conduct](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002F). For more information see the [Code of Conduct FAQ](https:\u002F\u002Fopensource.microsoft.com\u002Fcodeofconduct\u002Ffaq\u002F) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.\n\n## Trademarks\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https:\u002F\u002Fwww.microsoft.com\u002Fen-us\u002Flegal\u002Fintellectualproperty\u002Ftrademarks\u002Fusage\u002Fgeneral). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## Responsible AI\n\nThis project has been evaluated and certified to comply with the Microsoft Responsible AI Standard. The team will continue to monitor and maintain the repository, addressing any severe issues, including potential harms, if they arise. For more details, refer to the [Responsible AI Readme](RAI_README.md).\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n","POML（Prompt Orchestration Markup Language）是一种专为大型语言模型（LLM）设计的标记语言，旨在提升提示工程的结构化、可维护性和多样性。它通过类似HTML的语法提供结构化的提示组件，如\u003Crole>、\u003Ctask>和\u003Cexample>，以增强提示的可读性、复用性和维护性。此外，POML支持全面的数据处理能力，能够无缝嵌入或引用外部数据源，并采用类似CSS的样式系统分离内容与展示风格，从而解决格式敏感问题。项目还包含一个内置模板引擎，支持变量、循环、条件判断等功能，便于生成复杂的数据驱动型提示。此工具非常适合需要开发高级LLM应用的场景，特别是当涉及到多类型数据集成和高度定制化输出时。同时，其提供的VSCode扩展插件及Node.js SDK等丰富开发工具包进一步提升了开发效率。","2026-06-11 03:46:24","high_star"]