DEV Community

Akshay Keerthi
Akshay Keerthi

Posted on

Building NL2PHP using Lyzr SDK

In the world of software development, translating ideas from natural language into functional code can often be a challenging and time-consuming process. But what if you could streamline this process with the help of advanced AI tools? Welcome to NL2PHP, an innovative app designed to transform your natural language instructions into accurate PHP code effortlessly.

Image description

Leveraging the capabilities of Lyzr Automata and OpenAI’s GPT-4 Turbo, NL2PHP is here to make coding more accessible for everyone, from beginners to experienced developers. Let’s explore how this app works and how you can use it to convert your ideas into ready-to-use PHP code in seconds.

Why Use NL2PHP?

NL2PHP simplifies the coding process by allowing you to describe what you want in natural language. The app then translates your instructions into precise PHP code. This approach is particularly useful for those who might find writing code from scratch daunting or time-consuming.

By using NL2PHP, you can focus on what you want to achieve without worrying about the intricate details of PHP syntax.

Setting Up the Environment

Before diving into how NL2PHP works, let’s set up our environment using Streamlit and the Lyzr Automata SDK. Streamlit is a powerful framework for creating interactive web applications in Python, while Lyzr Automata provides tools for leveraging advanced AI models.

import streamlit as st
from lyzr_automata.ai_models.openai import OpenAIModel
from lyzr_automata import Agent, Task
from lyzr_automata.pipelines.linear_sync_pipeline import LinearSyncPipeline
from PIL import Image
from lyzr_automata.tasks.task_literals import InputType, OutputType
import os
Enter fullscreen mode Exit fullscreen mode

Setting the OpenAI API Key

To access the GPT-4 Turbo model, we need to set the OpenAI API key.

os.environ["OPENAI_API_KEY"] = st.secrets["apikey"]
Enter fullscreen mode Exit fullscreen mode

App Title and Introduction

We begin by setting the title of our app and providing a brief introduction to guide users on how to use NL2PHP.

st.title("NL2PHP🧑🏻‍💻")
st.markdown("Welcome to NL2PHP! This app effortlessly transforms your natural language instructions into functional PHP code. Whether you're a beginner or an experienced developer, convert your ideas into ready-to-use code in seconds.")
input = st.text_input("Please enter in natural language:", placeholder="Type here")
Enter fullscreen mode Exit fullscreen mode

Setting Up the OpenAI Model

We initialize the OpenAI model with specific parameters to generate the PHP code based on user input.

open_ai_text_completion_model = OpenAIModel(
    api_key=st.secrets["apikey"],
    parameters={
        "model": "gpt-4-turbo-preview",
        "temperature": 0.2,
        "max_tokens": 1500,
    },
)
Enter fullscreen mode Exit fullscreen mode

Defining the Generation Function

This function uses the Lyzr Automata SDK to create an agent that translates natural language input into PHP code.

def generation(input):
    generator_agent = Agent(
        role="Expert PHP DEVELOPER",
        prompt_persona="Your task is to TRANSLATE the natural language input from the user into ACCURATE PHP CODE.")
    prompt = """
[prompts here]
"""
    generator_agent_task = Task(
        name="Generation",
        model=open_ai_text_completion_model,
        agent=generator_agent,
        instructions=prompt,
        default_input=input,
        output_type=OutputType.TEXT,
        input_type=InputType.TEXT,
    ).execute()
    return generator_agent_task
Enter fullscreen mode Exit fullscreen mode

Button to Generate the PHP Code

We add a button that triggers the generation of the PHP code when clicked.

if st.button("Convert!"):
    solution = generation(input)
    st.markdown(solution)
Enter fullscreen mode Exit fullscreen mode

NL2PHP represents a significant step forward in making coding more accessible and efficient. By leveraging the power of Lyzr Automata and OpenAI’s GPT-4 Turbo, you can transform your natural language instructions into functional PHP code quickly and accurately. This tool is perfect for both beginners who are learning to code and experienced developers looking to speed up their workflow.

App link: https://nl2php-lyzr.streamlit.app/

Source Code: https://github.com/isakshay007/NL2PHP

The NL2PHP app is powered by the Lyzr Automata Agent, utilizing the capabilities of OpenAI’s GPT-4 Turbo. For any inquiries or issues, please contact Lyzr. You can learn more about Lyzr and their offerings through the following links:

Website: Lyzr.ai
Book a Demo: Book a Demo
Discord: Join our Discord community
Slack: Join our Slack channel

Top comments (0)