API Call Generation Using Unbound Samples and Embedding Matching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing artificial intelligence assistants face challenges in accurately generating API calls for various applications due to differences in calling conventions, key names, and valid value ranges, leading to inefficiencies and limitations in interfacing with multiple APIs, especially when new applications are developed.
Innovation Solution
A generative artificial intelligence model is trained to generate API call samples that are unbound from specific API details, using embedding representations to aggregate and match similar calls, allowing for efficient identification and invocation of relevant API functions without retraining, and minimizing computing resource utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a generative AI model is trained to generate API calls for multiple applications, then the adaptability to different APIs improves, but the device complexity and training requirements increase
Solution Approach 1:
The system segments the API call generation task into two distinct components: a generative AI model that creates unbound API call samples, and a separate matching component that compares these samples against a repository of actual API calls using embedding representations. This segmentation allows the model to remain relatively simple while achieving high adaptability through the matching mechanism.
Solution Approach 2:
The system introduces an intermediary embedding representation layer that acts as a mediator between the generative model's output and the actual API calls. The unbound API call samples are transformed into embeddings and compared with embeddings of real API calls, enabling the system to adapt to new APIs without retraining the generative model by simply adding new API calls to the repository.
2Manufacturing precision
If the AI model generates API calls bound to specific API details, then the manufacturing precision of API call generation improves, but the adaptability to new APIs deteriorates
Solution Approach 1:
Instead of training the model to directly generate bound API calls specific to each API, the system inverts the approach by training the model to generate unbound API call samples that are independent of specific API details. The binding to specific APIs occurs later through the matching process against the API call repository, allowing high precision for known APIs while maintaining adaptability to new ones.
Solution Approach 2:
The system performs preliminary generation of unbound API call samples that capture the essential structure and semantics of API calls without being tied to specific APIs. These unbound samples serve as a foundation that can be matched to any API in the repository, enabling the system to handle new APIs without requiring retraining or preliminary API-specific customization.
3Reliability
If extensive training data is used to train the AI model, then the reliability of API call generation improves, but the loss of time and computing resources increases
Solution Approach 1:
The system enables the API call repository to serve itself by automatically extracting embedding representations of API calls and making them available for matching. When new APIs are added to the repository, they automatically become part of the matching pool without requiring manual processing or model retraining, reducing the time and resource investment needed to maintain reliability as the system grows.
Data Source
AI summary
Certain aspects provide techniques and apparatus for invoking functions in a computing system using machine learning models. An example method generally includes receiving a request to execute an action in the computing system. Using a machine learning model, a plurality of application programming interface (API) call samples are generated for the received request. Based at least on keys in the plurality of API call samples and corresponding keys in API calls in a repository of API calls, a candidate API call for the received request is identified. A function associated with the candidate API call is invoked in response to the request.


