ai

Introducing the New Backstage OpenAI Playground Plugin

We are excited to announce the release of our OpenAI GPT-based Backstage plugin, designed to allow you to sample the OpenAI playground experience directly in your organization’s Backstage application. This two-part plugin has been developed with a focus on providing developers with a user-friendly experience for generating technical content. Our plugin includes the Frontend interface and Backend connections to Open-AI APIs. 

Frontend Plugin

Our frontend plugin offers an intuitive interface, similar to the OpenAI playground. It currently supports a single text input with customizable temperature and maximum length parameters, offering control over the OpenAI chat/completions endpoint. We are working to refine and expand core capabilities to better serve developers, engineers, analysts, architects, product managers, and more – what feature would you like to see next, drop it in the comments!

Find our Frontend Plugin on NPM here, or check out the repo directly here.

Backend Plugin

The backend plugin manages the communication between the Frontend and the OpenAI API. It prepares requests by constructing a list of messages, starting with a fixed system prompt, followed by the user’s input. This approach ensures that the model generates relevant and useful responses.

Find our Backend Plugin on NPM here, or check out the repo directly here.

Getting Started

You can follow the instructions for how to install and set up these two plugins with the following video.

Video: Introducing our Backstage OpenAI plugin
See our GitHub repositories for full code samples and instructions.

Practical Applications for Technical Content Generation

As any post about ChatGPT would be incomplete without a few practical examples, here are a few ideas we came up with:

  1. Code generation: Developers can use the plugin to generate code snippets or entire files in various programming languages, such as Java, Python, or JavaScript. For example, you can prompt the model to write a Java controller that handles all account operations for a given system.
  2. Configuration file creation: The plugin can generate configuration files, such as Dockerfiles, to build specific applications or Kubernetes configuration files for deploying applications to a cluster.
  3. API documentation: Developers can leverage the plugin to generate API documentation based on a given specification or requirements, saving time and ensuring consistency.
  4. Technical writing: The plugin is a helpful tool for creating technical articles, tutorials, or guides on various programming topics, frameworks, or libraries.
  5. Troubleshooting and debugging: By asking the model for assistance with a specific issue or error message, developers can receive guidance on how to troubleshoot or debug their code, helping them find solutions more efficiently.
  6. Code review: The plugin can be used to suggest improvements to existing code, such as optimizations or refactoring, making the code review process more effective and collaborative.
  7. Design patterns and best practices: Developers can ask the model for guidance on implementing design patterns or best practices in their projects, ensuring high-quality, maintainable code.
  8. Test case generation: The plugin can help developers generate test cases for their code, ensuring comprehensive coverage and improving overall software quality.

Roadmap

We wanted to get this plugin to the Backstage community as soon as possible, it does have some limitations (only supports OpenAI ChatGPT endpoints), a hard-coded model, and limited custom system prompts. We plan to introduce features such as model selection options, longer chats, and the ability to customize system prompts.

Our aim is to provide developers with a practical and easy-to-use OpenAI playground within the Backstage environment. The plugin offers a powerful way for developers to generate technical content, streamline their workflows, and foster collaboration within their organizations. By harnessing the power of gpt-3.5-turbo, this plugin has the potential to become an indispensable tool in your development toolkit. Stay tuned for future updates as we continue to refine and expand the plugin’s features.

Author

Christian Herrera