Oct 16, 2024

Portals: Your Connection to Ai

Portals: Your Connection to Ai

Overview

Portals are a feature of Easybeam that allows you to connect your app to multiple different Ai services, and gives you a platform to manage, version, test, and observe the Ai in your app.

Background

Building Ai-powered apps seems like it's going to be a blast, until you actually do. When you start to get your hands dirty in the actual process, you quickly find out integration with even the most standard Ai providers requires a weird amount of boilerplate code, and a near unlimited amount of patience from poorly documented APIs (I'm looking at you Gemini).

And you're shit-outta-luck if you want to switch between Ai providers. They all have unique requirements that they've chosen to document poorly.

SSE streaming (i.e. getting the text to come in as the Ai is writing it) is a weirdly challenging task based on your platform, and can be a time-sink of hours or days (thanks flutter).

Plus, prompt & Ai configuration versioning is a non-trivial task in-and-of itself.

Do you version it in code? Shove it in a DB and hope for the best? What if you wanna change Ai providers since Claude suddenly starts outperforming OpenAi, or you wanna use Groq since latency is the most important feature for your users?

How do you observe your Ai outputs and get performance metrics? Does anyone even like that Ai feature???

Well we're over it.

We're so flipping over it.

We're so over it that we built the Portals feature of Easybeam.

Overview

Each Portal can be thought of as an Ai-powered feature in your app. For example, if I were creating a Language Lesson feature for my users, I'd create a new portal titled Language Lesson. You then connect your app to the Daily Advice Portal (with the portal Id via the Easybeam SDK), and then you manage the content of this Ai feature by editing the Portal's current Version.

You can see the first Version in the Portal Detail screen. This Portal Version is where the details of the Ai interaction live, like the prompt, which Ai Provider you want to use, and that Ai provider's configuration.

When you've got a version you like, you can publish it, which then makes it live via portal Id and the SDKs (or API).

Variables

This part can be a bit confusing, so let's dig in a bit.

Each Portal Version you make will have a prompt associated with it, for example, if we've got a simple animal fact prompt

You can see that there's an @ before animal. This tells our system that these values will be filled out when the request is actually made. If you were to integrate this example in your app,

await easybeam.streamPortal(
  "B6wliK",
  user.id,
  { animal: user.favoriteAnimal }, // or some other way of getting dynamic data
  [messages],
  onNewMessage,
  onClose,
  onError
);

You create variables as you write your prompt, with a dropdown appearing after you write @.

Every variable you create is saved and accessible via settings > variables, so that you can keep the variables consistent between prompts.

Limits

Our plans have different amounts of portals that we allow per team (from 5-100), but if you've got needs we can figure something something out.

We encourage users to not go beyond their plan's daily limit on requests (1,000 to unlimited), but we'll never drop a request because you've exceeded your limit. We'll just check in with you and see if you need to be upgraded or if it was a fluke.

Integration

Since portals are like, kind of a big deal, we've included them in all of our SDKs, which you can find here.


Have any more questions? Just shoot us a message on intercom (best), or reach out to hello@easybeam.ai

Stay in the loop

Get the occasional insights on what's going on with "the machines are taking over" straight to your inbox.

Follow us

Copyright easybeam © 2024. All Rights Reserved

Knowledge

Status

Documentation

Security

Cookies

Privacy Policy

Terms & Conditions

Stay in the loop

Get the occasional insights on what's going on with "the machines are taking over" straight to your inbox.

Follow us

Copyright easybeam © 2024. All Rights Reserved

Knowledge

Status

Documentation

Security

Cookies

Privacy Policy

Terms & Conditions

Stay in the loop

Get the occasional insights on what's going on with "the machines are taking over" straight to your inbox.

Follow us

Copyright easybeam © 2024. All Rights Reserved

Knowledge

Status

Documentation

Security

Cookies

Privacy Policy

Terms & Conditions

Stay in the loop

Get the occasional insights on what's going on with "the machines are taking over" straight to your inbox.

Follow us

Copyright easybeam © 2024. All Rights Reserved

Knowledge

Status

Documentation

Security

Cookies

Privacy Policy

Terms & Conditions