First steps
Lets go over the core components of JellyFaaS.
JellyFaaS is a collection of functions, hosted, scaled and managed. It has a number of functions that are JF created and a supports function created by the community.
More details, and configuration options are covered in the tutorials and the in-depth guides.
The core drivers behind JellyFaaS is to speed up development, reduce time to delivery, technical debt and infrastructure costs.
These functions can be viewed in the library here, and provides all the information you need to quickly get the function working, including code sample, supporting structures and data types.
These functions can then easily be called via a REST command or via our SDK's
To call out to any function (via REST or the SDK), you will need a jfwt (JellyFaaS web token), this token normally is valid for 24 hours meaning you can do a call out to get a token once, and use it for 24 hours. To get a token you call out to an endpoint (the SDK will manage this) using your private Secret key.
From here you can use the JFWT to hit any function you have access too, and any number of time within your monthly limit.
Currently Supported AI engines: Gemini (Google, public and private) + OpenAI private keys.
For more information on security of data and use of AI Engines go here : AI ENGINE PRIBCAY AND JELLYFAAS
Basic flow Diagram for calling
graph LR
A["Start"] -->|request token| B["Auth Service"]
B["Auth Service"] --> |jfwt| A["Start"]
A["Start"] --> |request| C["Hosted Function"]
%% Define a class with a thicker border
classDef thickStroke stroke-width:4px;
%% Apply the class to the last node (C)
class C thickStroke;
linkStyle 0 stroke-width:4px;
linkStyle 1 stroke-width:4px;
linkStyle 2 stroke-width:4px;
JellyFaaS AI Concepts
JellyFaaS supports three core patterns, and enables developers to regain control and programmatically (via the SDK) using complex patterns in a single line of code.
RAG / VectorDB
A RAG model uses a special database of information (a vector database) to find helpful facts before it answers your question. A vector database stores ideas as numbers so the computer can quickly find what it needs, kind of like looking up clues in a big treasure map.
More details:
A Retrieval Augmented Generation (RAG) model is an approach in natural language processing that combines large language models with external knowledge sources, often stored in vector databases. A vector database (VectorDB) stores and indexes documents or data as numerical vectors, enabling efficient similarity searches for relevant information. Together, RAG models and vector databases facilitate context-aware responses by retrieving and integrating external knowledge into the generation process.
Flows:
Document upload, a simple request to an API endpoint on the AIService will automatically take the document (in the following formats) and upload it, parse it and process it into our secure vector database that only your account can access. The number of documents you can upload is based on the account level you have.
Document query.
This allows you to ask an AI Engine questions with access to you document(s) for context. The most simplest of this process is to just the service with a query, using your document as a source. This will use JellyFaaS AI (Gemini) to query the document, and then ask the AI with the context.
Using REST, you can do as follows:
Your function calls do a lot behind the scenes that you don't see!
sequenceDiagram
Client->>+JellyFaas Api: Authorise Api key
JellyFaas Api->>-Client: JWT
Client->>+JellyFaas Api: Lookup function
JellyFaas Api->>+JellyFaas Functions Library: Lookup function
JellyFaas Functions Library->>-JellyFaas Api: Function requirements and dns
JellyFaas Api->>-Client: Function requirements and dns
Client->>+JellyFaas Api: Invoke
JellyFaas Api->>+JellyFaas Cloud Instance: Invoke
critical Connect to function instance
JellyFaas Cloud Instance-->Google Cloud Function: connect
JellyFaas Cloud Instance-->Google Cloud Function: run
JellyFaas Cloud Instance-->Google Cloud Function: process response
end
JellyFaas Cloud Instance->>-JellyFaas Api: Function response
JellyFaas Api->>-Client: Function response
graph LR
Start --> Request_JFWT["Request JFWT using Secret Key"]
Request_JFWT --> Validate_JFWT["Validate JFWT"]
Validate_JFWT --> Hosted_Functions["Call Hosted Functions"]