DEV Community

Cover image for Transform Your Text with Lyzr.ai: A Step-by-Step Guide
Prajjwal Sule
Prajjwal Sule

Posted on

Transform Your Text with Lyzr.ai: A Step-by-Step Guide

Writing is an essential part of our daily lives. Whether it's drafting emails, creating documents, or telling stories, we aim for clarity and accuracy. Yet, correcting errors with spell checkers can be challenging.

Enter AI proofreading, a fantastic tool designed to polish your text. Today, we'll explore simple code that uses AI to improve your writing, correcting grammar, spelling, punctuation, and formatting.

Problem Statement

Creating grammatically correct text is crucial but often difficult. Manual proofreading is time-consuming and can miss errors. This code uses Lyzr.ai to check and edit text, enhancing writing effectiveness.

Prerequisites

Before starting, you should understand Python programming and have access to the OpenAI API with an API key. Familiarity with installing and importing Python libraries and Lyzr.ai’s framework will also help.

Installing the Lyzr Automata Framework

pip install lyzr-automata

# For Google Colab or notebook
!pip install lyzr-automata
Enter fullscreen mode Exit fullscreen mode

Code and Explanation

Let's break down the code step-by-step.

from lyzr_automata.ai_models.openai import OpenAIModel
from lyzr_automata import Agent, Task
from lyzr_automata.tasks.task_literals import InputType, OutputType
from lyzr_automata.pipelines.linear_sync_pipeline import LinearSyncPipeline
from lyzr_automata import Logger

API_KEY = input('Enter OpenAI API Key')
text = input('Enter the Text Here: ')
Enter fullscreen mode Exit fullscreen mode

We start by importing necessary tools from the Lyzr.ai library and prompt the user for their OpenAI API key and text to proofread.

open_ai_model_text = OpenAIModel(
    api_key=API_KEY,
    parameters={
        "model": "gpt-4-turbo-preview",
        "temperature": 0.5,
        "max_tokens": 1500,
    },
)
Enter fullscreen mode Exit fullscreen mode

We set up the AI model with the API key and parameters, controlling the AI’s behavior and response length.

def ai_proofreader(text):
    ProofReader = Agent(
        prompt_persona="""You are an expert proofreader who can find grammatical errors, and you excel at checking for grammar, spelling, punctuation, and formatting errors.""",
        role="AI Proofreader",
    )

    rephrase_text = Task(
        name="Rephrasing Text",
        agent=ProofReader,
        output_type=OutputType.TEXT,
        input_type=InputType.TEXT,
        model=open_ai_model_text,
        instructions=f"Check the entire text: '{text}' and rephrase it according to grammar, spelling, punctuation, and formatting errors. [Important] Avoid introduction and conclusion in the response.",
        log_output=True,
        enhance_prompt=False,
        default_input=text
    )

    remarks = Task(
        name="Remarks",
        agent=ProofReader,
        output_type=OutputType.TEXT,
        input_type=InputType.TEXT,
        model=open_ai_model_text,
        instructions=f"Check the entire text: '{text}' and provide remarks in bullet points according to grammar, spelling, punctuation, and formatting errors. [Important] Avoid introduction and conclusion in the response.",
        log_output=True,
        enhance_prompt=False,
        default_input=text
    )

    logger = Logger()

    main_output = LinearSyncPipeline(
        logger=logger,
        name="AI ProofReader",
        completion_message="App Generated all things!",
        tasks=[
            rephrase_text,
            remarks,
        ],
    ).run()

    return main_output
Enter fullscreen mode Exit fullscreen mode

We define a function called ai_proofreader. Inside, we create an agent named ProofReader, acting as an expert proofreader. Two tasks are created: one for rephrasing text and another for providing remarks. Both tasks use the ProofReader agent and the AI model.

A logger monitors the process. We then establish a pipeline that sequentially executes the tasks, yielding corrected text and remarks.

generated_output = ai_proofreader(text=text)
rephrased_text = generated_output[0]['task_output']
remarks = generated_output[1]['task_output']
Enter fullscreen mode Exit fullscreen mode

We call the function with the user’s text and get the rephrased text and remarks as outputs.

Sample Input

text = """ I Rajesh have 2+ years of experience in python developer, 
I know to create backend applications, 
I am seeking a new role for new learnings """
Enter fullscreen mode Exit fullscreen mode

Output

""" 
My name is Rajesh, and I possess over two years of experience as a Python developer. 
I am skilled in creating backend applications and am currently seeking a new role to further my learning 

- The phrase "I Rajesh have 2+ years of experience in python developer" should be corrected to "I, Rajesh, have over two years of experience as a Python developer." This correction addresses a punctuation issue (adding commas around "Rajesh"), a numerical expression ("2+" to "over two"), and clarifies the role ("in python developer" to "as a Python developer").
- "python" should be capitalized to "Python" to properly denote the programming language.
- The phrase "I know to create backend applications" could be more fluidly expressed as "I know how to create backend applications" or "I am skilled in creating backend applications" for clarity and grammatical correctness.
- The phrase "I am seeking a new role for new learnings" could be improved for clarity and professionalism. A better alternative might be "I am seeking a new role to further my learning" or "I am seeking a new role to continue my professional development."
- The entire passage could benefit from better punctuation and formatting for clarity and flow. For instance, using semicolons or periods to separate independent clauses can improve readability: "My name is Rajesh, and I possess over two years of experience as a Python developer; I am skilled in creating backend applications and am currently seeking a new role to further my learning."
- Consistency in tense and style would improve the professional tone of the passage.
"""
Enter fullscreen mode Exit fullscreen mode

About Lyzr.ai

Lyzr.ai offers a low-code agent development kit for creating GenAI applications quickly. With this simple agent framework, you can build secure and reliable generative AI applications for various uses, including proofreading and writing.

References

For more information, visit Lyzr’s website, book a demo, or join the community channels on Discord and Slack.

AI Proofreader: GitHub

Top comments (0)