DEV Community

Akshay Keerthi
Akshay Keerthi

Posted on

Building a Personalized Freelance Assistant using Lyzr SDK

Freelancing offers a world of opportunities and flexibility, but it also comes with its own set of challenges. The Personalized Freelance Assistant app aims to provide tailored tips and strategies to help freelancers succeed in their careers. Leveraging the Lyzr Automata SDK and OpenAI’s GPT-4 Turbo, this app creates customized plans based on user input.

Image description

Setting Up the Environment

First, we need to import the necessary libraries and set up our environment.

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

We need to set the OpenAI API key to access the GPT-4 Turbo model.

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

App Title and Introduction

Next, we set the title of our app and provide a brief introduction to guide users on how to use the Personalized Freelance Assistant.

st.title("Freelance Assistant")
st.markdown("Welcome to Freelance Assistant, your personalized freelancing guide. Enter your career details and goals for customized tips and strategies to enhance your freelance journey.")
st.markdown("1) Mention your field of expertise.")
st.markdown("2) Mention your experience level.")
st.markdown("3) Mention your income goals.")
st.markdown("4) Mention your preferred work-life balance.")
input = st.text_input("Please enter the above details:", placeholder="Type here")
Enter fullscreen mode Exit fullscreen mode

Setting Up the OpenAI Model

We initialize the OpenAI model with specific parameters to generate personalized freelancing advice 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 provides personalized freelancing advice based on the user’s input.

def generation(input):
    generator_agent = Agent(
        role="Expert FREELANCING CONSULTANT",
        prompt_persona=f"Your task is to OFFER personalized freelancing tips and strategic advice that aligns with the user's specific details.")
    prompt = f"""
[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 Freelancing Advice

We add a button that triggers the generation of personalized freelancing tips and strategies when clicked.

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

The Freelance Assistant app is designed to provide personalized tips and strategies to help freelancers enhance their careers. By leveraging the power of Lyzr Automata and OpenAI’s GPT-4 Turbo, users can receive expert advice tailored to their specific career details and goals. Explore the Freelance Assistant today and take your freelancing journey to the next level!

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

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

For any inquiries or support, feel free to 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)