Skip to main content

PromptPal 1.12 + 1.13 - Advanced API Security and IP Tracking

· One min read
AnnatarHe
Maintainer of PromptPal
promptpal logo

PromptPal 1.12 + 1.13

  • API Security
  • IP Tracking

If you've used any LLM API, you've probably noticed that they typically provide a static secret token for backend use. But what about the client side?

PromptPal has addressed this issue by designing a workflow that allows secure client-side prompt execution.

For more information, please read our Advanced API Security documentation.

Introducing PromptPal 1.13 - IP Tracking

We have enhanced our prompt tracking feature by adding an IP field, making it easier for users to identify traffic sources.

The page has become more complex than before, so we are working on designing a more powerful and user-friendly interface to display this data. Please stay tuned!

PS: The maintainer will be on a long vacation and may not be able to code for a month. If you have any good ideas, please email me at annatar.he+pp@gmail.com. I'll consider adding more features after my vacation!

PromptPal 1.11 - Streaming, Types

· One min read
AnnatarHe
Maintainer of PromptPal
promptpal logo

PromptPal 1.11

  • Streaming
  • Types

In the latest 1.11 version, we are excited to announce the release of the Streaming API.

with the latest JavaScript SDK and Golang SDK you can now use the streaming API to get responses faster than ever before.

const c = new PromptPalClient("http://127.0.0.1:7788", "token")
const onData = console.log
const onEnd = vi.fn()
const res = await c.executeStream(
"PROMPT_ID",
{ text: "hello world" },
"123",
{
onData,
onEnd,
},
)

expect(res).toBeTruthy();
ctx := context.Background()
// create a client
oneMinute := 1 * time.Minute
c := promptpal.NewPromptPalClient(endpoint, token, promptpal.PromptPalClientOptions{
Timeout: &oneMinute,
})
// call the `ExecuteStream` function
_, err := c.ExecuteStream(
ctx,
string(PPPromptEcho),
PPPromptEchoVariables{
Text: "hello world",
},
nil,
func(data *promptpal.APIRunPromptResponse) error {
fmt.Println(data.ResponseMessage)
return nil
},
)

if err != nil {
t.Error(err)
}

How to Upgrade

To use the latest version, simply run the following command to upgrade:

docker run -v $(pwd)/.env:/usr/app/.env -p 7788:7788 annatarhe/prompt-pal:latest

That's it! Thank you for your attention, and stay tuned for more features soon!

PromptPal 1.8 - Versions

· One min read
AnnatarHe
Maintainer of PromptPal
promptpal logo

PromptPal 1.8

  • Versions

We are thrilled to unveil the latest version of PromptPal - version 1.8! This release brings forth a plethora of new features and enhancements aimed at simplifying the debug process for developers.

Version Control Made Easy

One of the key highlights of PromptPal 1.8 is the introduction of versioning support. With this new feature, you can now easily track and manage all the changes made within a prompt. This not only enhances transparency but also provides a streamlined approach to monitoring alterations.

Check out the example below:

PromptPal Version Control

How to Upgrade

To leverage all the new capabilities and improvements of PromptPal 1.8, simply execute the following command to upgrade to the latest version:

docker run -v $(pwd)/.env:/usr/app/.env -p 7788:7788 annatarhe/prompt-pal:v1.8.0

That's it! Stay tuned for more exciting features in the pipeline. We hope you find PromptPal 1.8 as beneficial and efficient as we intended it to be. Happy integrating!

PromptPal 1.7 - SSO, Tracking and bugfixes

· 3 min read
AnnatarHe
Maintainer of PromptPal
promptpal logo

PromptPal 1.7

  • Single Sign-On
  • Prompt Tracking
  • More improvements and bugfixes

PromptPal 1.7: Single Sign-On, Improved Tracking, and Bug Fixes

We're excited to announce the release of PromptPal 1.7! This update introduces several new features and improvements.

Single Sign-On (SSO) with Google Login

PromptPal now supports seamless integration with Google Login. You can easily enable Google Login by configuring your .env file. Simply follow these steps:

  1. Visit the Google Cloud Console: https://console.cloud.google.com/apis/credentials to create an OAuth 2.0 client and set up a callback URL.
  2. Update your PromptPal .env file with the following details:
SSO_GOOGLE_CALLBACK_URL="http://localhost:7788/auth/google"
SSO_GOOGLE_CLIENT_ID="YOUR_CLIENT_ID"
SSO_GOOGLE_CLIENT_SECRET="YOUR_CLIENT_SECRET"

Important Note: You can only modify the host portion of the callback URL (http://localhost:7788 in this example). The path (/auth/google) must remain unchanged.

Once configured, a "Google Login" button will appear on your login page.

Enhanced Prompt Tracking

The latest version of PromptPal provides deeper insights into how prompts are being used within your project. You can now view:

  • The number of times each prompt has been called in the last 7 days.
  • The P50, P90, and P99 response times for each prompt.

p90-example

Improvements and Bug Fixes

For a detailed list of improvements and bug fixes, please refer to the full changelog: Release 1.7 Changelog: https://github.com/PromptPal/PromptPal/releases/tag/v1.7.0.

Important Updates Regarding Database Support

We've made the difficult decision to discontinue support for SQLite in PromptPal 1.7. Here's why:

  1. Reduced Bundle Size: We prioritize keeping the bundle size small, especially for users in regions with limited internet bandwidth. Removing SQLite support significantly reduces the overall size of the package (by approximately 83%).
  2. cgo Limitations: SQLite relies on cgo, which can introduce challenges in certain environments. You can learn more about these limitations in this article: cgo is not Go: https://dave.cheney.net/2016/01/18/cgo-is-not-go.
  3. Limited Functionality: SQLite offers a restricted set of aggregate functions, hindering our ability to develop certain features.

We recommend migrating your data to PostgreSQL, our officially supported database.

Upgrading to PromptPal 1.7

Upgrading is a simple process:

  1. Update the image version:
docker run -v $(pwd)/.env:/usr/app/.env -p 7788:7788 annatarhe/prompt-pal:v1.7.0
  1. If you intend to use Google Login, update your .env file accordingly before starting the server.
  2. Users who were previously using SQLite will need to migrate their data to a different database (such as PostgreSQL).

We appreciate your understanding and patience. We're confident that these changes will enhance the overall performance and functionality of PromptPal. We look forward to your continued use and feedback!

PromptPal 1.6 - Gemini Support and UI Revamp!

· One min read
AnnatarHe
Maintainer of PromptPal
promptpal logo

PromptPal 1.6

  • Gemini support
  • New UI

We're excited to announce the release of PromptPal v1.6, bringing some fantastic updates to your favorite AI project!

This release focuses on two key areas:

  1. Gemini Support:

OpenAI not longly anymore. We offically support Google Gemini. in this release you be able to use gemini for your project.

  1. User Interface Revamp:

We've completely revamped the User Interface (UI) for a more intuitive and user-friendly experience. Enjoy a streamlined layout, improved navigation, and features optimized for various screen sizes.

Additional highlights:

  • Enhanced Dark Mode: Experience improved dark mode support for a comfortable writing environment.
  • Bug Fixes: We've addressed various bugs to ensure a smoother user experience.
  • Improved Toast Experience: Our toast notifications now offer a clearer and more informative reading experience.

Upgrade now:

To experience the new features and enhancements in PromptPal v1.6, you can upgrade by a simple command:

podman run -d --rm --network host -v '/promptpal/.env:/usr/app/.env:ro' annatarhe/prompt-pal:v1.6.0

if you are a new user, please checkout the documention and setup your .env

Thank you for choosing PromptPal!

Introduce the PromptPal

· 2 min read
AnnatarHe
Maintainer of PromptPal

Introducing PromptPal

PromptPal is a prompt manager designed for on-premise environments, focusing on improving the developer experience when working with Large Language Models (LLMs).

Why You Need a Prompt Manager

We know you're eager to build with AI, but as you start developing new features, managing your prompts can become challenging. Having them scattered throughout your codebase makes them difficult to reuse, maintain, and share with colleagues.

Implementing a simple PromptService might seem inadequate, lacking proper organization for efficient management. Additionally, deploying, debugging, A/B testing, and monitoring prompt performance can be time-consuming and tedious.

These challenges can lead to wasted time and decreased productivity. PromptPal aims to solve these issues and streamline your LLM development workflow.

PromptPal Features

PromptPal is a web service with rich tools to help developers work with LLMs.

Of course, it can manage prompts, with tracing and debugging capabilities. But PromptPal offers more at a low cost:

On-Premise Deployment

It works perfectly in an on-premise environment and is easy to set up.

The only thing you need to set up PromptPal is a single .env configuration file and a one-line command:

podman run -d --rm --network host -v '/promptpal/.env:/usr/app/.env:ro' annatarhe/prompt-pal:v1.6.0

Low Costs

Its lightweight architecture guarantees efficient resource utilization, ensuring optimal performance. And all this functionality requires only 12.3MB of memory1!

Developer Experience

We are developers too, so developer experience matters.

We provide a CLI: https://github.com/PromptPal/cli to help developers set up integration with PromptPal. With this CLI, you can set up a configuration file in your project and generate type declarations in just one line of code:

promptpal init ## init project with config
promptpal g ## generate types by config

We also offer node.js: https://github.com/PromptPal/node-sdk and golang: https://github.com/PromptPal/go-sdk SDKs.

Conclusion

PromptPal could help you finish work earlier, giving you time for your hobbies, like swimming or spending time with loved ones.

Run it right now!

Please note that PromptPal is still under heavy development.

Footnotes

  1. For testing purposes, the 12.3MB was only evaluated on an M1 Pro MacBook during startup. Readers should be aware that performance may vary across different hardware configurations and operating conditions.