microsoft / aici

AICI: Prompts as (Wasm) Programs
MIT License
1.92k stars 78 forks source link

crash #100

Closed pelikhan closed 5 months ago

pelikhan commented 5 months ago

This request crashes aici

{"controller":"gh:microsoft/aici/jsctrl","controller_arg":"async function extractquotes() {\n  await $`You are a helpful assistant.\nGiven the FILE, extract three exact quotes from the document\nthat could be used in a 1 paragraph press release that\nwould both give the audience an understanding of the\nidea and make them want to learn more.\n\nQuote 1: `\n  await gen({substring: \"GenAIScript: Robust Scripting for Generative AI\\n\\nPeli de Halleux, Markus Kuppe, Michał Moskal, Madan Musuvathi, Benjamin Zorn\\n\\nApril 2024\\n\\nAbstract                     power of LLMs at runtime, and the more capable AI\\n2\\nSoftware (AISW) that does leverage LLMs.\\nScripting languages, like Python and JavaScript, have\\nenabled major advances in computing but were created   POSW represents all software written before the crea-\\nprior to the advent of Large Language Models   tion of LLMs and includes operating systems, applica-\\n(LLMs). We introduce GenAIScript, a scripting lan-   tions, scripts, etc. While POSW is a key element of\\nguage that makes LLMs a first-class part of the script-   our existing computing infrastructure, AISW, with its\\ning process, allowing users to author, debug, and de-   enhanced capabilities, will dominate the development\\nploy LLM-based scripts that can perform tasks beyond   of future software systems. Our goal is to make\\nthe reach of conventional code. GenAIScript is in-   GenAIScript the language for scripting AISW.\\ntended to be used by users with different programming\\nHistorically, scripting languages like Perl, JavaScript,\\nexperience and applied to diverse tasks previously un-\\nand Python, have become widely successful because\\nable to be solved using traditional code. By extending\\nthey provide two key elements: (1) they allow diverse\\nthe popular Visual Studio Code environment, GenAIS-\\nusers to write small but useful programs, and (2) they\\ncript simplifies the creation of robust and reusable\\ngive users access to new computing capabilities not\\nscripts that can intelligently process and generate con-\\npreviously available to programs (e.g., JavaScript gave\\ntent, including code, documentation, and structured\\nits users access to the Web).\\ndata. We explain what GenAIScript is, how it is im-\\nplemented, and illustrate its use in several production\\nGiven that context, the goal of GenAIScript is to em-\\ndeployments. GenAIScript is open-source and availa-\\npower a wide class of potential users to easily leverage\\nble to use now at: https://aka.ms/genaiscript.\\nthe power of AISW. GenAIScript enables users, in-\\ncluding those without extensive programming exper-\\ntise, to author, debug, and deploy scripts that seam-\\n1. Introduction\\nlessly incorporate calls to LLMs. GenAIScript is a Ja-\\n1\\nGenAIScript is a JavaScript-compatiblescripting lan-\\nvaScript-compatible language with a dedicated VS\\nguage that allows users to write scripts to automate\\nCode extension to simplify the scripting process, mak-\\ncomplex tasks by leveraging LLMs as a first-class\\ning it accessible to a broad audience.\\nscript element.\\nWhat are GenAIScripts used for? We believe that the\\nThe dramatic rise in the capabilities of artificial intel-\\nincredible flexibility of LLMs allows our scripts to be\\nligence has revolutionized the way we interact with\\nused in many contexts for many purposes. Some of\\ntechnology, offering unprecedented opportunities to\\nthe scripts we have personally explored include: ex-\\nautomate and enhance many tasks. Incorporating calls\\ntracting information from images using the gpt-4-\\nto LLMs (or more generally any foundation model) at\\nturbo-v model, extracting exact quotes from docu-\\nruntime into a software system greatly enhances what\\nments to determine if the content answers specific re-\\nthat software can do. The disruptive nature of this\\nview questions, planning a vacation to a destination\\ntransition forces us to categorize software into Plain\\nspecified as a parameter leveraging information from\\nOrdinary Software (POSW), which does not use the\\nsearch and web-hosted documents about the\\n\\n1 2\\nCurrently GenAIScripts are JavaScript-compatible    For a discussion of the implications of POSW versus\\nbut in the future we anticipate bindings for other lan-   AISW, see the SIGPLAN blog post: AI Software\\nguages including Python.               Should be More Like Plain Old Software | SIGPLAN\\nBlog\\n\\n1\\n\\n-------- Page Break --------\\n\\ndestination, generating critiques of documents with re-   setting. We discuss related work and our thoughts\\nspect to tone, content, and audience, and performing   about future additions and features.\\nsystematic natural language translation of text embed-\\nded in software artifacts (see the case study).\\n2. Introducing GenAIScript\\nWith the goal of making GenAIScript the go-to lan-\\nGenAIScript was designed to provide a low barrier to\\nguage for writing AISW, we have the following key\\nentry so that many users, including non-developers,\\nobjectives:\\nCommented [BZ1]: @Madan Musuvathi - I added a list\\ncan quickly start using and writing scripts. However,\\nof key objectives and how we address them related to your\\nwe also want to enable power-users to leverage their\\n1. Integration with LLMs: GenAIScript is de-\\nquestion. Let me know what you think.\\nprograming skills to create and deploy more sophisti-\\nsigned to make LLMs a first-class part of the\\ncated scripts for more challenging scenarios. As a re-\\nscripting process, allowing users to author,\\nsult, GeneAIScript is JavaScript compatible where the\\ndebug, and deploy LLM-based scripts.\\nscripts can contain JavaScript code but less sophisti-\\ncated users can still define powerful and effective\\n2. Simple Abstractions: GenAIScript provides\\nscripts using the simple abstractions we provide.\\nabstractions to define the prompt context, re-\\nfer to the context in the prompt itself, and\\nTo understand GenAIScript, we present a simple com-\\nsupports specification and checking of multi-\\nplete script in Figure 1.\\nple output formats.\\n3. Ease of Use: GenAIScript targets a wide\\nclass of potential users, including non-devel-\\nopers. The VS Code extension and integra-\\ntion with existing IDE features contribute to\\nthis quality.\\n4. Robustness: GenAIScript supports building\\nrobust scripts by leveraging the capabilities\\nFigure 1: A simple GenAIScript\\nof VS Code for writing, executing, debug-\\nging, and refining scripts. Additional features\\nThis example illustrates the key elements of every\\nCommented [BZ2]: @Peli de Halleux , @Markus Kuppe ,\\nlike input and output specifications and static\\nGenAIScript: the metadata, the context, and the\\n@Madan Musuvathi I added this description to the white\\norchestration graphs also contribute to ro-\\nprompt. We describe each element in turn.\\npaper. Let me know what you think.\\nbustness.\\nBecause every GenAIScript calls an LLM, metadata is\\n5. Seamless Integration with Plain Old Soft-\\nneeded to define the parameters that will be used to\\nware (POSW): GenAIScript is designed to\\ninvoke the LLM. Those parameters can include the\\nbe embedded into existing POSW work-\\nmodel, the temperature, the number of tokens to re-\\nflows, allowing users to integrate AI capabil-\\nturn, etc. By default, GenAIScripts use the “gpt-4”\\nities into traditional software systems.\\nmodel and other reasonable defaults, so many of the\\nmetadata fields can be omitted.\\nThe contributions of this paper are:\\nA GenAIScript executes in three parts: 1) set up the\\n- The design and implementation of the first\\nLLM prompt, 2) execute the LLM, and 3) parse the\\nscripting language where the LLM is a first-\\nLLM output.\\nclass element.\\n- The design of the GenAIScript runtime that\\nSetting up the prompt is done with the “def” command,\\nsupports parameterized and structured input\\nwhich in this case associates the name FILES with the\\nof LLM context and supports constraints and\\ncontents of env.files. env.files is a variable that refers\\nsystematic verification of the LLM and script\\nto the parameters (typically one or more files) that the\\noutputs.\\nscript is invoked on. After this def command, when the\\n- Case studies of the application of GenAIS-\\nuser refers to FILES in the prompt, the LLM will know\\ncript in two diverse deployment contexts.\\nthey are referring to the contents of the files in\\nenv.files.\\nIn the remainder of this paper, we describe how to\\nwrite a GenAIScript, define key GenAIScript abstrac-\\nThe text between $`…` in the figure is the prompt that\\ntions, highlight the capabilities of the framework, and\\nthe LLM will process. The $`…` instructs the LLM\\ndescribe several case studies based on our experiences\\nwhat to do and refers to the names defined using def\\nbuilding and deploying GenAIScripts in production\\nsuch as FILE. This prompt is typically the final part\\n\\n2\",\nmaxTokens: 1000,\nstoreVar: \"quote1\"})\n  await $`\nQuote 2: `\n  await gen({substring: \"GenAIScript: Robust Scripting for Generative AI\\n\\nPeli de Halleux, Markus Kuppe, Michał Moskal, Madan Musuvathi, Benjamin Zorn\\n\\nApril 2024\\n\\nAbstract                     power of LLMs at runtime, and the more capable AI\\n2\\nSoftware (AISW) that does leverage LLMs.\\nScripting languages, like Python and JavaScript, have\\nenabled major advances in computing but were created   POSW represents all software written before the crea-\\nprior to the advent of Large Language Models   tion of LLMs and includes operating systems, applica-\\n(LLMs). We introduce GenAIScript, a scripting lan-   tions, scripts, etc. While POSW is a key element of\\nguage that makes LLMs a first-class part of the script-   our existing computing infrastructure, AISW, with its\\ning process, allowing users to author, debug, and de-   enhanced capabilities, will dominate the development\\nploy LLM-based scripts that can perform tasks beyond   of future software systems. Our goal is to make\\nthe reach of conventional code. GenAIScript is in-   GenAIScript the language for scripting AISW.\\ntended to be used by users with different programming\\nHistorically, scripting languages like Perl, JavaScript,\\nexperience and applied to diverse tasks previously un-\\nand Python, have become widely successful because\\nable to be solved using traditional code. By extending\\nthey provide two key elements: (1) they allow diverse\\nthe popular Visual Studio Code environment, GenAIS-\\nusers to write small but useful programs, and (2) they\\ncript simplifies the creation of robust and reusable\\ngive users access to new computing capabilities not\\nscripts that can intelligently process and generate con-\\npreviously available to programs (e.g., JavaScript gave\\ntent, including code, documentation, and structured\\nits users access to the Web).\\ndata. We explain what GenAIScript is, how it is im-\\nplemented, and illustrate its use in several production\\nGiven that context, the goal of GenAIScript is to em-\\ndeployments. GenAIScript is open-source and availa-\\npower a wide class of potential users to easily leverage\\nble to use now at: https://aka.ms/genaiscript.\\nthe power of AISW. GenAIScript enables users, in-\\ncluding those without extensive programming exper-\\ntise, to author, debug, and deploy scripts that seam-\\n1. Introduction\\nlessly incorporate calls to LLMs. GenAIScript is a Ja-\\n1\\nGenAIScript is a JavaScript-compatiblescripting lan-\\nvaScript-compatible language with a dedicated VS\\nguage that allows users to write scripts to automate\\nCode extension to simplify the scripting process, mak-\\ncomplex tasks by leveraging LLMs as a first-class\\ning it accessible to a broad audience.\\nscript element.\\nWhat are GenAIScripts used for? We believe that the\\nThe dramatic rise in the capabilities of artificial intel-\\nincredible flexibility of LLMs allows our scripts to be\\nligence has revolutionized the way we interact with\\nused in many contexts for many purposes. Some of\\ntechnology, offering unprecedented opportunities to\\nthe scripts we have personally explored include: ex-\\nautomate and enhance many tasks. Incorporating calls\\ntracting information from images using the gpt-4-\\nto LLMs (or more generally any foundation model) at\\nturbo-v model, extracting exact quotes from docu-\\nruntime into a software system greatly enhances what\\nments to determine if the content answers specific re-\\nthat software can do. The disruptive nature of this\\nview questions, planning a vacation to a destination\\ntransition forces us to categorize software into Plain\\nspecified as a parameter leveraging information from\\nOrdinary Software (POSW), which does not use the\\nsearch and web-hosted documents about the\\n\\n1 2\\nCurrently GenAIScripts are JavaScript-compatible    For a discussion of the implications of POSW versus\\nbut in the future we anticipate bindings for other lan-   AISW, see the SIGPLAN blog post: AI Software\\nguages including Python.               Should be More Like Plain Old Software | SIGPLAN\\nBlog\\n\\n1\\n\\n-------- Page Break --------\\n\\ndestination, generating critiques of documents with re-   setting. We discuss related work and our thoughts\\nspect to tone, content, and audience, and performing   about future additions and features.\\nsystematic natural language translation of text embed-\\nded in software artifacts (see the case study).\\n2. Introducing GenAIScript\\nWith the goal of making GenAIScript the go-to lan-\\nGenAIScript was designed to provide a low barrier to\\nguage for writing AISW, we have the following key\\nentry so that many users, including non-developers,\\nobjectives:\\nCommented [BZ1]: @Madan Musuvathi - I added a list\\ncan quickly start using and writing scripts. However,\\nof key objectives and how we address them related to your\\nwe also want to enable power-users to leverage their\\n1. Integration with LLMs: GenAIScript is de-\\nquestion. Let me know what you think.\\nprograming skills to create and deploy more sophisti-\\nsigned to make LLMs a first-class part of the\\ncated scripts for more challenging scenarios. As a re-\\nscripting process, allowing users to author,\\nsult, GeneAIScript is JavaScript compatible where the\\ndebug, and deploy LLM-based scripts.\\nscripts can contain JavaScript code but less sophisti-\\ncated users can still define powerful and effective\\n2. Simple Abstractions: GenAIScript provides\\nscripts using the simple abstractions we provide.\\nabstractions to define the prompt context, re-\\nfer to the context in the prompt itself, and\\nTo understand GenAIScript, we present a simple com-\\nsupports specification and checking of multi-\\nplete script in Figure 1.\\nple output formats.\\n3. Ease of Use: GenAIScript targets a wide\\nclass of potential users, including non-devel-\\nopers. The VS Code extension and integra-\\ntion with existing IDE features contribute to\\nthis quality.\\n4. Robustness: GenAIScript supports building\\nrobust scripts by leveraging the capabilities\\nFigure 1: A simple GenAIScript\\nof VS Code for writing, executing, debug-\\nging, and refining scripts. Additional features\\nThis example illustrates the key elements of every\\nCommented [BZ2]: @Peli de Halleux , @Markus Kuppe ,\\nlike input and output specifications and static\\nGenAIScript: the metadata, the context, and the\\n@Madan Musuvathi I added this description to the white\\norchestration graphs also contribute to ro-\\nprompt. We describe each element in turn.\\npaper. Let me know what you think.\\nbustness.\\nBecause every GenAIScript calls an LLM, metadata is\\n5. Seamless Integration with Plain Old Soft-\\nneeded to define the parameters that will be used to\\nware (POSW): GenAIScript is designed to\\ninvoke the LLM. Those parameters can include the\\nbe embedded into existing POSW work-\\nmodel, the temperature, the number of tokens to re-\\nflows, allowing users to integrate AI capabil-\\nturn, etc. By default, GenAIScripts use the “gpt-4”\\nities into traditional software systems.\\nmodel and other reasonable defaults, so many of the\\nmetadata fields can be omitted.\\nThe contributions of this paper are:\\nA GenAIScript executes in three parts: 1) set up the\\n- The design and implementation of the first\\nLLM prompt, 2) execute the LLM, and 3) parse the\\nscripting language where the LLM is a first-\\nLLM output.\\nclass element.\\n- The design of the GenAIScript runtime that\\nSetting up the prompt is done with the “def” command,\\nsupports parameterized and structured input\\nwhich in this case associates the name FILES with the\\nof LLM context and supports constraints and\\ncontents of env.files. env.files is a variable that refers\\nsystematic verification of the LLM and script\\nto the parameters (typically one or more files) that the\\noutputs.\\nscript is invoked on. After this def command, when the\\n- Case studies of the application of GenAIS-\\nuser refers to FILES in the prompt, the LLM will know\\ncript in two diverse deployment contexts.\\nthey are referring to the contents of the files in\\nenv.files.\\nIn the remainder of this paper, we describe how to\\nwrite a GenAIScript, define key GenAIScript abstrac-\\nThe text between $`…` in the figure is the prompt that\\ntions, highlight the capabilities of the framework, and\\nthe LLM will process. The $`…` instructs the LLM\\ndescribe several case studies based on our experiences\\nwhat to do and refers to the names defined using def\\nbuilding and deploying GenAIScripts in production\\nsuch as FILE. This prompt is typically the final part\\n\\n2\",\nmaxTokens: 1000,\nstoreVar: \"quote2\"})\n  await $`\nQuote 3: `\n  await gen({substring: \"GenAIScript: Robust Scripting for Generative AI\\n\\nPeli de Halleux, Markus Kuppe, Michał Moskal, Madan Musuvathi, Benjamin Zorn\\n\\nApril 2024\\n\\nAbstract                     power of LLMs at runtime, and the more capable AI\\n2\\nSoftware (AISW) that does leverage LLMs.\\nScripting languages, like Python and JavaScript, have\\nenabled major advances in computing but were created   POSW represents all software written before the crea-\\nprior to the advent of Large Language Models   tion of LLMs and includes operating systems, applica-\\n(LLMs). We introduce GenAIScript, a scripting lan-   tions, scripts, etc. While POSW is a key element of\\nguage that makes LLMs a first-class part of the script-   our existing computing infrastructure, AISW, with its\\ning process, allowing users to author, debug, and de-   enhanced capabilities, will dominate the development\\nploy LLM-based scripts that can perform tasks beyond   of future software systems. Our goal is to make\\nthe reach of conventional code. GenAIScript is in-   GenAIScript the language for scripting AISW.\\ntended to be used by users with different programming\\nHistorically, scripting languages like Perl, JavaScript,\\nexperience and applied to diverse tasks previously un-\\nand Python, have become widely successful because\\nable to be solved using traditional code. By extending\\nthey provide two key elements: (1) they allow diverse\\nthe popular Visual Studio Code environment, GenAIS-\\nusers to write small but useful programs, and (2) they\\ncript simplifies the creation of robust and reusable\\ngive users access to new computing capabilities not\\nscripts that can intelligently process and generate con-\\npreviously available to programs (e.g., JavaScript gave\\ntent, including code, documentation, and structured\\nits users access to the Web).\\ndata. We explain what GenAIScript is, how it is im-\\nplemented, and illustrate its use in several production\\nGiven that context, the goal of GenAIScript is to em-\\ndeployments. GenAIScript is open-source and availa-\\npower a wide class of potential users to easily leverage\\nble to use now at: https://aka.ms/genaiscript.\\nthe power of AISW. GenAIScript enables users, in-\\ncluding those without extensive programming exper-\\ntise, to author, debug, and deploy scripts that seam-\\n1. Introduction\\nlessly incorporate calls to LLMs. GenAIScript is a Ja-\\n1\\nGenAIScript is a JavaScript-compatiblescripting lan-\\nvaScript-compatible language with a dedicated VS\\nguage that allows users to write scripts to automate\\nCode extension to simplify the scripting process, mak-\\ncomplex tasks by leveraging LLMs as a first-class\\ning it accessible to a broad audience.\\nscript element.\\nWhat are GenAIScripts used for? We believe that the\\nThe dramatic rise in the capabilities of artificial intel-\\nincredible flexibility of LLMs allows our scripts to be\\nligence has revolutionized the way we interact with\\nused in many contexts for many purposes. Some of\\ntechnology, offering unprecedented opportunities to\\nthe scripts we have personally explored include: ex-\\nautomate and enhance many tasks. Incorporating calls\\ntracting information from images using the gpt-4-\\nto LLMs (or more generally any foundation model) at\\nturbo-v model, extracting exact quotes from docu-\\nruntime into a software system greatly enhances what\\nments to determine if the content answers specific re-\\nthat software can do. The disruptive nature of this\\nview questions, planning a vacation to a destination\\ntransition forces us to categorize software into Plain\\nspecified as a parameter leveraging information from\\nOrdinary Software (POSW), which does not use the\\nsearch and web-hosted documents about the\\n\\n1 2\\nCurrently GenAIScripts are JavaScript-compatible    For a discussion of the implications of POSW versus\\nbut in the future we anticipate bindings for other lan-   AISW, see the SIGPLAN blog post: AI Software\\nguages including Python.               Should be More Like Plain Old Software | SIGPLAN\\nBlog\\n\\n1\\n\\n-------- Page Break --------\\n\\ndestination, generating critiques of documents with re-   setting. We discuss related work and our thoughts\\nspect to tone, content, and audience, and performing   about future additions and features.\\nsystematic natural language translation of text embed-\\nded in software artifacts (see the case study).\\n2. Introducing GenAIScript\\nWith the goal of making GenAIScript the go-to lan-\\nGenAIScript was designed to provide a low barrier to\\nguage for writing AISW, we have the following key\\nentry so that many users, including non-developers,\\nobjectives:\\nCommented [BZ1]: @Madan Musuvathi - I added a list\\ncan quickly start using and writing scripts. However,\\nof key objectives and how we address them related to your\\nwe also want to enable power-users to leverage their\\n1. Integration with LLMs: GenAIScript is de-\\nquestion. Let me know what you think.\\nprograming skills to create and deploy more sophisti-\\nsigned to make LLMs a first-class part of the\\ncated scripts for more challenging scenarios. As a re-\\nscripting process, allowing users to author,\\nsult, GeneAIScript is JavaScript compatible where the\\ndebug, and deploy LLM-based scripts.\\nscripts can contain JavaScript code but less sophisti-\\ncated users can still define powerful and effective\\n2. Simple Abstractions: GenAIScript provides\\nscripts using the simple abstractions we provide.\\nabstractions to define the prompt context, re-\\nfer to the context in the prompt itself, and\\nTo understand GenAIScript, we present a simple com-\\nsupports specification and checking of multi-\\nplete script in Figure 1.\\nple output formats.\\n3. Ease of Use: GenAIScript targets a wide\\nclass of potential users, including non-devel-\\nopers. The VS Code extension and integra-\\ntion with existing IDE features contribute to\\nthis quality.\\n4. Robustness: GenAIScript supports building\\nrobust scripts by leveraging the capabilities\\nFigure 1: A simple GenAIScript\\nof VS Code for writing, executing, debug-\\nging, and refining scripts. Additional features\\nThis example illustrates the key elements of every\\nCommented [BZ2]: @Peli de Halleux , @Markus Kuppe ,\\nlike input and output specifications and static\\nGenAIScript: the metadata, the context, and the\\n@Madan Musuvathi I added this description to the white\\norchestration graphs also contribute to ro-\\nprompt. We describe each element in turn.\\npaper. Let me know what you think.\\nbustness.\\nBecause every GenAIScript calls an LLM, metadata is\\n5. Seamless Integration with Plain Old Soft-\\nneeded to define the parameters that will be used to\\nware (POSW): GenAIScript is designed to\\ninvoke the LLM. Those parameters can include the\\nbe embedded into existing POSW work-\\nmodel, the temperature, the number of tokens to re-\\nflows, allowing users to integrate AI capabil-\\nturn, etc. By default, GenAIScripts use the “gpt-4”\\nities into traditional software systems.\\nmodel and other reasonable defaults, so many of the\\nmetadata fields can be omitted.\\nThe contributions of this paper are:\\nA GenAIScript executes in three parts: 1) set up the\\n- The design and implementation of the first\\nLLM prompt, 2) execute the LLM, and 3) parse the\\nscripting language where the LLM is a first-\\nLLM output.\\nclass element.\\n- The design of the GenAIScript runtime that\\nSetting up the prompt is done with the “def” command,\\nsupports parameterized and structured input\\nwhich in this case associates the name FILES with the\\nof LLM context and supports constraints and\\ncontents of env.files. env.files is a variable that refers\\nsystematic verification of the LLM and script\\nto the parameters (typically one or more files) that the\\noutputs.\\nscript is invoked on. After this def command, when the\\n- Case studies of the application of GenAIS-\\nuser refers to FILES in the prompt, the LLM will know\\ncript in two diverse deployment contexts.\\nthey are referring to the contents of the files in\\nenv.files.\\nIn the remainder of this paper, we describe how to\\nwrite a GenAIScript, define key GenAIScript abstrac-\\nThe text between $`…` in the figure is the prompt that\\ntions, highlight the capabilities of the framework, and\\nthe LLM will process. The $`…` instructs the LLM\\ndescribe several case studies based on our experiences\\nwhat to do and refers to the names defined using def\\nbuilding and deploying GenAIScripts in production\\nsuch as FILE. This prompt is typically the final part\\n\\n2\",\nmaxTokens: 1000,\nstoreVar: \"quote3\"})\n  await $`\n`\n}\n\nasync function main() {\n  await extractquotes()\n}\nstart(main)"}
FIXED "You‧ are‧ a‧ helpful‧ assistant‧.‧\n‧G‧iven‧ the‧ FILE‧,‧ extract‧ three‧ exact‧ quotes‧ from‧ the‧ document‧\n‧that‧ could‧ be‧ used‧ in‧ a‧ ‧1‧ paragraph‧ press‧ release‧ that‧\n‧w‧ould‧ both‧ give‧ the‧ audience‧ an‧ understanding‧ of‧ the‧\n‧idea‧ and‧ make‧ them‧ want‧ to‧ learn‧ more‧.‧\n‧\n‧Qu‧ote‧ ‧1‧:‧ "

Error (mid): panicked at controllers/aici_abi/src/substring.rs:135:30:
byte index 7237 is not a char boundary; it is inside '“' (bytes 7236..7239) of `GenAIScript: Robust Scripting for Generative AI

Peli de Halleux, Markus Kuppe, Michał Moskal, Madan Musuvathi, Benjamin Zorn

April 2024

Abstract                     power of LLMs at runtime, and the more capable AI
2
Software (AISW) that does leverage `[...]

error while executing at wasm backtrace:
    0: 0x230f81 - <unknown>!__rust_start_panic
    1: 0x230d0f - <unknown>!rust_panic
    2: 0x230c42 - <unknown>!_ZN3std9panicking20rust_panic_with_hook17h18a7003922168130E
    3: 0x22fdef - <unknown>!_ZN3std9panicking19begin_panic_handler28_$u7b$$u7b$closure$u7d$$u7d$17h93f19eaeed4f059eE
    4: 0x22fd1a - <unknown>!_ZN3std10sys_common9backtrace26__rust_end_short_backtrace17hb6712aeb75727fbdE
    5: 0x230619 - <unknown>!rust_begin_unwind
    6: 0x247d59 - <unknown>!_ZN4core9panicking9panic_fmt17h09de9ea7165b25acE
    7: 0x2537a9 - <unknown>!_ZN4core3str19slice_error_fail_rt17hb923eb4d4f455c8aE
    8: 0x25214e - <unknown>!_ZN4core3str16slice_error_fail17hbe87d298518ab559E
    9: 0xfc040 - <unknown>!_ZN8aici_abi9substring13SubStrMatcher3add17hb3f81d70be50b642E
   10: 0xfb9e1 - <unknown>!_ZN8aici_abi9substring13SubStrMatcher3new17h159d9773085ca2e5E
   11: 0x82de - <unknown>!_ZN166_$LT$aici_jsctrl..aici_mod..js_substrConstraint$u20$as$u20$rquickjs_core..value..function..IntoJsFunc$LT$$LP$alloc..string..String$C$alloc..string..String$RP$$GT$$GT$4call17hc85683a138767540E
   12: 0xbf8e - <unknown>!_ZN67_$LT$F$u20$as$u20$rquickjs_core..value..function..ffi..RustFunc$GT$4call17hb8f4522967eb5fc0E.llvm.5203850329853881204
   13: 0x31c9a - <unknown>!_ZN192_$LT$$LT$rquickjs_core..value..function..ffi..RustFunction$u20$as$u20$rquickjs_core..class..JsClass$GT$..function..CarryFunction$u20$as$u20$rquickjs_core..value..function..StaticJsFunction$GT$4call17h0a0ca5b75d77becbE
   14: 0x31a6a - <unknown>!_ZN13rquickjs_core5value8function3ffi17js_callback_class17he476d7c0bf6f9aa6E
   15: 0x40695 - <unknown>!JS_CallInternal
   16: 0x41c23 - <unknown>!JS_CallInternal
   17: 0x79066 - <unknown>!js_async_function_resume
   18: 0x5acb1 - <unknown>!js_async_function_call
   19: 0x40695 - <unknown>!JS_CallInternal
   20: 0x41c23 - <unknown>!JS_CallInternal
   21: 0x79066 - <unknown>!js_async_function_resume
   22: 0x5acb1 - <unknown>!js_async_function_call
   23: 0x40695 - <unknown>!JS_CallInternal
   24: 0x41c23 - <unknown>!JS_CallInternal
   25: 0x79066 - <unknown>!js_async_function_resume
   26: 0x5ab36 - <unknown>!js_async_function_resolve_call
   27: 0x40695 - <unknown>!JS_CallInternal
   28: 0x90146 - <unknown>!promise_reaction_job
   29: 0x4ecb6 - <unknown>!JS_ExecutePendingJob
   30: 0x316ea - <unknown>!_ZN13rquickjs_core7runtime3raw10RawRuntime19execute_pending_job17hd6d6c29ea21fbe0fE
   31: 0x161fc - <unknown>!aici_mid_process

wasm trap: wasm `unreachable` instruction executed
Abnormal finish: Failed