AskIt: Unified Programming Interface for Programming with Large Language Models

08/29/2023
by   Katsumi Okuda, et al.
0

In the evolving landscape of software development, Large Language Models (LLMs) exhibit a unique phenomenon known as emergent abilities, demonstrating adeptness across numerous tasks, from text summarization to code generation. While these abilities open up novel avenues in software design and crafting, their incorporation presents substantial challenges. Developers grapple with decisions surrounding the direct embedding of LLMs within applications versus employing them for code generation. Moreover, effective prompt design becomes a critical concern, given the necessity of data extraction from natural language outputs. To address these intricacies, this paper introduces AskIt, a domain-specific language (DSL) specifically designed for LLMs. AskIt simplifies LLM integration, offering type-guided output control, template-based function definitions, and a unified interface that diminishes the distinction between LLM-based code generation and application integration. Furthermore, through Programming by Example (PBE), AskIt harnesses the power of few-shot learning at the programming language level. Our evaluations underscore AskIt's potency. Across 50 tasks, AskIt generated concise prompts for the given tasks, achieving a 16.14 enabling the transition from direct LLM application usage to function generation, AskIt achieved significant speedups, as observed in our GSM8K benchmark experiments. Through these advancements, AskIt streamlines the integration of LLMs in software development, offering a more efficient, versatile approach for leveraging emergent abilities. The implementations of AskIt in TypeScript and Python are available at https://github.com/katsumiok/ts-askit and https://github.com/katsumiok/pyaskit, respectively.

READ FULL TEXT

page 4

page 10

research
04/20/2020

Incorporating External Knowledge through Pre-training for Natural Language to Code Generation

Open-domain code generation aims to generate code in a general-purpose p...
research
07/04/2023

Natural Language Generation and Understanding of Big Code for AI-Assisted Programming: A Review

This paper provides a comprehensive review of the literature concerning ...
research
07/08/2023

Copilot for Xcode: Exploring AI-Assisted Programming by Prompting Cloud-based Large Language Models

This paper presents an AI-assisted programming tool called Copilot for X...
research
08/06/2023

LARCH: Large Language Model-based Automatic Readme Creation with Heuristics

Writing a readme is a crucial aspect of software development as it plays...
research
08/29/2023

When Do Program-of-Thoughts Work for Reasoning?

The reasoning capabilities of Large Language Models (LLMs) play a pivota...
research
02/23/2022

Model-Driven Generation of Microservice Interfaces: From LEMMA Domain Models to Jolie APIs

We formally define and implement a translation from domain models in the...
research
09/12/2023

Unveiling the potential of large language models in generating semantic and cross-language clones

Semantic and Cross-language code clone generation may be useful for code...

Please sign up or login with your details

Forgot password? Click here to reset