{"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/velma-verbalization-embodiment-of-llm-agents","title":"VELMA: Verbalization Embodiment of LLM Agents for Vision and Language Navigation in Street View","arxiv_id":"2307.06082","date":"2023-07-12","proceeding":null,"authors":["Raphael Schumann","Wanrong Zhu","Weixi Feng","Tsu-Jui Fu","Stefan Riezler","William Yang Wang"],"abstract":"Incremental decision making in real-world environments is one of the most challenging tasks in embodied artificial intelligence. One particularly demanding scenario is Vision and Language Navigation~(VLN) which requires visual and natural language understanding as well as spatial and temporal reasoning capabilities. The embodied agent needs to ground its understanding of navigation instructions in observations of a real-world environment like Street View. Despite the impressive results of LLMs in other research areas, it is an ongoing problem of how to best connect them with an interactive visual environment. In this work, we propose VELMA, an embodied LLM agent that uses a verbalization of the trajectory and of visual environment observations as contextual prompt for the next action. Visual information is verbalized by a pipeline that extracts landmarks from the human written navigation instructions and uses CLIP to determine their visibility in the current panorama view. We show that VELMA is able to successfully follow navigation instructions in Street View with only two in-context examples. We further finetune the LLM agent on a few thousand examples and achieve 25%-30% relative improvement in task completion over the previous state-of-the-art for two datasets.","url_abs":"https://arxiv.org/abs/2307.06082v2","url_pdf":"https://arxiv.org/pdf/2307.06082v2.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":"velma-verbalization-embodiment-of-llm-agents","repo_url":"https://github.com/raphael-sch/velma","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"natural-language-understanding","task_name":"Natural Language Understanding"},{"task_slug":"vision-and-language-navigation","task_name":"Vision and Language Navigation"}],"methods":[{"method_slug":"clip","method_name":"CLIP"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2307.06082","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2307.06082"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+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/raphael-sch/velma","reach":{"status":"ok"}}],"summary":{"ran":6},"by_repo_kind":{"official":{"samples":6,"ran":6,"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":6,"samples":[{"code_sha256_prefix":"fae6e1aff9803719","entry":"compute_metrics","repo":"raphael-sch/velma","repo_kind":"official","path":"run_finetune.py","file_url":"https://github.com/raphael-sch/velma/blob/HEAD/run_finetune.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"fae6e1aff9803719"}},{"code_sha256_prefix":"b62337c3ffc7e968","entry":"generate_prompt","repo":"raphael-sch/velma","repo_kind":"official","path":"run_finetune.py","file_url":"https://github.com/raphael-sch/velma/blob/HEAD/run_finetune.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"b62337c3ffc7e968"}},{"code_sha256_prefix":"f93d47cf26060a31","entry":"get_closest_heading","repo":"raphael-sch/velma","repo_kind":"official","path":"vln/base_navigator.py","file_url":"https://github.com/raphael-sch/velma/blob/HEAD/vln/base_navigator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f93d47cf26060a31"}},{"code_sha256_prefix":"0f98bb2c0965bdc0","entry":"get_relative_angle","repo":"raphael-sch/velma","repo_kind":"official","path":"vln/base_navigator.py","file_url":"https://github.com/raphael-sch/velma/blob/HEAD/vln/base_navigator.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"0f98bb2c0965bdc0"}},{"code_sha256_prefix":"01489dffff8aaa4c","entry":"get_unfiltered","repo":"raphael-sch/velma","repo_kind":"official","path":"run_extract_landmarks.py","file_url":"https://github.com/raphael-sch/velma/blob/HEAD/run_extract_landmarks.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"01489dffff8aaa4c"}},{"code_sha256_prefix":"f7a23cfc8c089e16","entry":"rl_ratio_decay","repo":"raphael-sch/velma","repo_kind":"official","path":"utils.py","file_url":"https://github.com/raphael-sch/velma/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"f7a23cfc8c089e16"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}