function-agents
v0.0.17
Published
A collection of Function Agents with specific purposes, utilizing the OpenAI API.
Downloads
5
Maintainers
Readme
function-agents
Introduction
function-agents
is a collection of Function Agents with specific purposes, designed to simplify various tasks. To use these agents, you'll need to pass an OpenAI API Key upon construction.
For more examples and the full documentation, please visit https://platform.openai.com/docs/guides/gpt/function-calling.
Installation
To install the package, run the following command:
npm install function-agents
Dependencies
- Node.js (or another JavaScript runtime environment like Bun)
- OpenAI API Key
Getting Started
Import the agent you want to use into your project:
import { JavaScriptFunctionCallTransformationAgent } from 'function-agents';
const javascriptFunctionCallTransformationAgent = new JavaScriptFunctionCallTransformationAgent(
'your-openai-api-key',
'gpt-4-0613' // or any other supported model
);
const result = await javascriptFunctionCallTransformationAgent.run('function add(a, b) { return a + b; }');
Agents
Here's a list of available agents with brief descriptions and direct links to their code:
Data Transformation
- DataTransformationAgent
- Transforms data based on predefined rules. Currently only supports JSON.
Intent Classification
- IntentClassificationAgent
- Classifies user intents based on a set of predefined intents.
Sentiment Classification
- SentimentClassificationAgent
- Classifies user message's sentiment.
Code Interpretation
- JavaScriptCodeInterpreterAgent
- Interprets and runs JavaScript code based on prompts from the OpenAI API.
Function Call Transformation
- JavaScriptFunctionCallTransformationAgent
- Transforms JavaScript functions to fit OpenAI's Function Calling Schema.
JavaScript Development
- JavascriptDeveloperAgent
- Generates JavaScript functions based on user-provided prompts.
Math Operations
- MathAgent
- Performs mathematical operations based on user requests. (addition, subtraction, multiplication, and division so far))
Citation
- CitationAgent
- Retrieves and formats citations for content, including
filename
,pageNumber
, andexplanationOfWhyThisSourceWasChosen
.
- Retrieves and formats citations for content, including
Parameters
openai_api_key
: Your OpenAI API Key.model
: The name of the OpenAI model. Must be eithergpt-3.5-turbo-0613
orgpt-4-0613
orgpt-4-32k-0613
Note: Some agents may have additional parameters such as the IntentClassificationAgent
which requires a list of intents to be passed in.
Example Console Output
JavaScriptCodeInterpreterAgent invoked with: What is the square root of 20?
JavascriptDeveloperAgent invoked with: Write a JavaScript function to calculate the square root of 20.
function calculateSquareRoot() {
return Math.sqrt(20);
}
JavascriptDeveloperAgent successfully completed in 1827 ms
JavaScriptFunctionCallTransformationAgent invoked with function code and arguments: function calculateSquareRoot() {
return Math.sqrt(20);
}
JavaScriptInterpreterAgent successfully completed in 3111 ms
Generated OpenAI Function Call: {
"name": "calculateSquareRoot",
"description": "This function returns the square root of 20.",
"parameters": {
"type": "object",
"properties": {},
"required": []
}
}
Calling function with params:
Function result: 4.47213595499958
JavaScriptCodeInterpreterAgent successfully completed in 11787 ms
# console.log(response); from agent.run()
response {
message: "The square root of 20 is approximately 4.47.",
success: true,
duration: 11787
}
Build Instructions
Install Bun
Run the following commands:
bun install
bun run build
Contributing
We welcome contributions! Please feel free to submit a pull request.
License
This package is under the MIT License. See LICENSE
file for more details.