Erstellen eines Assistenten für den Einrichtungsstil mithilfe der Lyzr Agent-API

王林
Freigeben: 2024-08-21 06:06:10
Original
1031 Leute haben es durchsucht

Die Erstellung eines personalisierten Assistenten für den Einrichtungsstil kann Benutzern dabei helfen, den perfekten Stil, die perfekten Produkte und budgetfreundlichen Lösungen für ihre Räume zu finden. In diesem Blogbeitrag gehen wir Schritt für Schritt durch den Aufbau eines Home Décor Style Assistant mit Lyzr und Streamlit. Mit dieser Anwendung können Benutzer ihre Stilpräferenzen, Zimmertypen, ihr Budget und andere Besonderheiten eingeben, um maßgeschneiderte Dekorationsvorschläge zu erhalten.

Building a Home Décor Style Assistant using Lyzr Agent-API

Voraussetzungen

Bevor Sie eintauchen, stellen Sie sicher, dass Sie Folgendes haben:

-Python 3.8 oder höher installiert.
-Lyzr SDK installiert.
-Streamlit installiert.
-Eine .env-Datei, die Ihren OPENAI_API_KEY und LYZR_API_KEY enthält.

lyzr_agent.py: Interaktion mit der Lyzr-API

Die Datei lyzr_agent.py definiert die LyzrAgent-Klasse, die als Schnittstelle für die Interaktion mit der Lyzr-API dient. Diese Klasse bietet Methoden zum Erstellen von Umgebungen und Agenten sowie zum Verwalten der Kommunikation mit der Lyzr-Plattform.

Hier ist eine Aufschlüsselung der Schlüsselkomponenten:

import requests
import json
class LyzrAgent:
    def __init__(self, api_key, llm_api_key):
        self.url = "https://agent.api.lyzr.app/v2/"
        self.headers = {
            "accept": "application/json",
            "x-api-key": api_key
        }
        self.llm_api_key = llm_api_key
Nach dem Login kopieren

Initialisierung: Der Konstruktor (init) initialisiert die API-Endpunkt-URL, die Header für API-Anfragen (einschließlich des Lyzr-API-Schlüssels) und speichert die OpenAI-API-Schlüssel zur späteren Verwendung.
Eine Umgebung schaffen

def create_environment(self, name, features, tools):
    payload = json.dumps({
        "name": name,
        "features": features,
        "tools": tools,
        "llm_api_key": self.llm_api_key
    })
url = self.url + "environment"
    response = requests.post(url, headers=self.headers, data=payload)
    if response.status_code == 200:
        return response.json()
    else:
        print(f"Error: {response.status_code} - {response.text}")
        return None
Nach dem Login kopieren

create_environment: Diese Methode erstellt eine neue Umgebung innerhalb der Lyzr-Plattform. Es erfordert einen Namen, eine Liste von Funktionen und Tools. Die Umgebung ist wichtig für die Einrichtung eines Agenten, der bestimmte Aufgaben übernimmt, wie z. B. die Durchführung von Suchen oder die Bereitstellung von Antworten.
Agenten erstellen

def create_agent(self, env_id, system_prompt, name):
    payload = json.dumps({
        "env_id": env_id,
        "system_prompt": system_prompt,
        "name": name,
        "agent_persona": "",
        "agent_instructions": "",
        "agent_description": ""
    })
url = self.url + "agent"
    response = requests.post(url, headers=self.headers, data=payload)
    if response.status_code == 200:
        return response.json()
    else:
        print(f"Error: {response.status_code} - {response.text}")
        return None
Nach dem Login kopieren

create_agent: Nachdem wir eine Umgebung erstellt haben, benötigen wir einen Agenten, der Aufgaben innerhalb dieser Umgebung ausführt. Diese Methode richtet einen Agenten mit einer bestimmten Eingabeaufforderung und einem bestimmten Namen ein, der bestimmt, wie er mit Benutzereingaben interagiert.

Senden einer Nachricht an den Agenten

def send_message(self, agent_id, user_id, session_id, message):
    payload = json.dumps({
        "user_id": user_id,
        "agent_id": agent_id,
        "session_id": session_id,
        "message": message
    })
url = self.url + "chat/"
    response = requests.post(url, headers=self.headers, data=payload)
    if response.status_code == 200:
        return response.json()
    else:
        print(f"Error: {response.status_code} - {response.text}")
        return None
Nach dem Login kopieren

send_message: Mit dieser Methode können wir eine Nachricht an den Agenten senden, der die Eingaben des Benutzers verarbeitet und eine Antwort zurückgibt. Die Antwort wird verwendet, um die personalisierten Dekorvorschläge zu generieren.
Eine Aufgabe erstellen

def create_task(self, agent_id, session_id, input_message):
    payload = json.dumps({
        "agent_id": agent_id,
        "session_id": session_id,
        "input": input_message
    })
url = self.url + "task"
    response = requests.post(url, headers=self.headers, data=payload)
    if response.status_code == 200:
        return response.json()
    else:
        print(f"Error: {response.status_code} - {response.text}")
        return None
Nach dem Login kopieren

create_task: Mit dieser Methode können spezifische Aufgaben für den Agenten erstellt werden, z. B. die Durchführung einer detaillierten Analyse oder die Durchführung einer komplexen Operation basierend auf Benutzereingaben.

app.py: Aufbau der Streamlit-Schnittstelle
In der Datei app.py geschieht die Magie. Hier erstellen wir eine Benutzeroberfläche mit Streamlit, erfassen Benutzereingaben und interagieren mit dem LyzrAgent, um personalisierte Vorschläge für die Inneneinrichtung zu generieren und anzuzeigen.

Einrichten der Streamlit-Seite

import os
from lyzr_agent import LyzrAgent
import streamlit as st
from dotenv import load_dotenv

load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
LYZR_API_KEY = os.getenv("LYZR_API_KEY")
st.set_page_config(
    page_title="Lyzr Home Décor Style",
    layout="centered",  # or "wide"
    initial_sidebar_state="auto",
    page_icon="lyzr-logo-cut.png",
)
st.title("Home Décor Style Assistant?")
st.markdown("### Welcome to the Home Décor Style Assistant!")
Nach dem Login kopieren

Streamlit-Setup: Wir beginnen mit dem Importieren der erforderlichen Bibliotheken, dem Laden von Umgebungsvariablen und der Konfiguration der Streamlit-Seite mit Titel, Layout und Symbol. Dies schafft die Voraussetzungen für unsere benutzerfreundliche Oberfläche.
Initialisierung des LyzrAgent

Agent = LyzrAgent(
    api_key=LYZR_API_KEY,
    llm_api_key=OPENAI_API_KEY
)
Nach dem Login kopieren

LyzrAgent-Initialisierung: Wir erstellen eine Instanz der LyzrAgent-Klasse und übergeben unsere API-Schlüssel. Dieser Agent kümmert sich um alle Backend-Interaktionen mit der Lyzr-Plattform.
Erstellen des Agenten

@st.cache_resource
def create_agent():
    env_id = Agent.create_environment(
        name="Post_home",
        features=[{
            "type": "TOOL_CALLING",
            "config": {"max_tries": 3},
            "priority": 0
        }],
        tools=["perplexity_search"]
    )
    print(env_id)
prompt = """
[prompts here]
    """
    agent_id = Agent.create_agent(
        env_id=env_id['env_id'],
        system_prompt=prompt,
        name="home"
    )
    print(agent_id)
    return agent_id
Nach dem Login kopieren

create_agent-Funktion: Diese Funktion richtet die Umgebung und den Agenten mit spezifischen Anweisungen zum Umgang mit Benutzereingaben ein. Das system_prompt leitet den Agenten bei seinen Interaktionen und stellt sicher, dass er relevante und genaue Vorschläge für die Inneneinrichtung liefert.
Umgang mit Benutzereingaben

query = st.text_area("Give your style preference, room type, budget, space dimensions, and other specifics like brand preference etc.")
if st.button("Assist!"):
    agent = create_agent()
    print(agent)
    chat = Agent.send_message(
        agent_id=agent['agent_id'],
        user_id="default_user",
        session_id="akshay@lyzr.ai",
        message=query
    )
    st.markdown(chat['response'])
Nach dem Login kopieren

Benutzerinteraktion: Wir verwenden Streamlits text_area, um die Dekorvorlieben und Besonderheiten des Benutzers zu erfassen. Wenn die Meldung „Assist!“ erscheint. Wenn Sie auf die Schaltfläche klicken, wird die Eingabe vom Agenten verarbeitet und der resultierende Ratschlag wird auf der Seite angezeigt.

Durch die Kombination der Leistungsfähigkeit von Lyzr und Streamlit haben wir einen reaktionsschnellen und intelligenten Home Décor Style Assistant geschaffen. Dieses Tool vereinfacht nicht nur den Prozess des Home-Stylings, sondern liefert auch personalisierte, datengesteuerte Vorschläge, die auf individuelle Vorlieben eingehen.

App-Link: https://homestyle-lyzr.streamlit.app/

Quellcode: https://github.com/isakshay007/home_style

Bei Fragen oder Unterstützung können Sie sich gerne an Lyzr wenden. Über die folgenden Links können Sie mehr über Lyzr und seine Angebote erfahren:

Website: Lyzr.ai
Demo buchen: Demo buchen
Discord: Treten Sie unserer Discord-Community bei
Slack: Treten Sie unserem Slack-Kanal bei

Das obige ist der detaillierte Inhalt vonErstellen eines Assistenten für den Einrichtungsstil mithilfe der Lyzr Agent-API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!