ホームページ > バックエンド開発 > Python チュートリアル > Lyzr Agent-API を使用したホーム デコレーション スタイル アシスタントの構築

Lyzr Agent-API を使用したホーム デコレーション スタイル アシスタントの構築

王林
リリース: 2024-08-21 06:06:10
オリジナル
1153 人が閲覧しました

パーソナライズされた室内装飾スタイル アシスタントを作成すると、ユーザーは自分のスペースに最適なスタイル、製品、予算に優しいソリューションを見つけることができます。このブログ投稿では、Lyzr と Streamlit を使用してホーム デコレーション スタイル アシスタントを構築する手順を説明します。このアプリケーションを使用すると、ユーザーはスタイルの好み、部屋のタイプ、予算、その他の詳細を入力して、カスタマイズされた装飾の提案を受け取ることができます。

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

前提条件

実際に始める前に、以下のものがあることを確認してください:

-Python 3.8 以降がインストールされている。
-Lyzr SDK がインストールされています。
-Streamlit がインストールされています。
- OPENAI_API_KEY と LYZR_API_KEY を含む .env ファイル。

lyzr_agent.py: Lyzr API との対話

lyzr_agent.py ファイルは、Lyzr API と対話するためのインターフェイスとして機能する LyzrAgent クラスを定義します。このクラスは、環境、エージェントを作成し、Lyzr プラットフォームとの通信を処理するためのメソッドを提供します。

主なコンポーネントの内訳は次のとおりです:

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
ログイン後にコピー

Initialization: コンストラクター (init) は、API エンドポイント URL、API リクエストのヘッダー (Lyzr API キーを含む) を初期化し、後で使用するための OpenAI API キー。
環境の作成

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
ログイン後にコピー

create_environment: このメソッドは、Lyzr プラットフォーム内に新しい環境を作成します。名前、機能のリスト、およびツールが必要です。この環境は、検索の実行や応答の提供など、特定のタスクを処理するエージェントを設定するために不可欠です。
エージェントの作成

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
ログイン後にコピー

create_agent: 環境を作成した後、その環境内でタスクを実行するエージェントが必要です。このメソッドは、特定のプロンプトと名前を使用してエージェントを設定し、エージェントがユーザー入力とどのように対話するかを決定します。

エージェントにメッセージを送信しています

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
ログイン後にコピー

send_message: このメソッドを使用すると、エージェントにメッセージを送信できます。エージェントはユーザーの入力を処理して応答を返します。応答は、パーソナライズされた装飾の提案を生成するために使用されます。
タスクの作成

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
ログイン後にコピー

create_task: このメソッドは、詳細な分析の実行やユーザー入力に基づく複雑な操作の実行など、エージェントの特定のタスクを作成するために使用できます。

app.py: Streamlit インターフェイスの構築
app.py ファイルは魔法が起こる場所です。ここでは、Streamlit を使用してユーザー インターフェイスを作成し、ユーザー入力をキャプチャし、LyzrAgent と対話して、パーソナライズされた室内装飾の提案を生成して表示します。

Streamlit ページのセットアップ

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!")
ログイン後にコピー

Streamlit セットアップ: まず、必要なライブラリをインポートし、環境変数をロードし、タイトル、レイアウト、アイコンを使用して Streamlit ページを構成します。これにより、ユーザーフレンドリーなインターフェイスの準備が整いました。
LyzrAgent の初期化

Agent = LyzrAgent(
    api_key=LYZR_API_KEY,
    llm_api_key=OPENAI_API_KEY
)
ログイン後にコピー

LyzrAgent の初期化: LyzrAgent クラスのインスタンスを作成し、API キーを渡します。このエージェントは、Lyzr プラットフォームとのすべてのバックエンド インタラクションを処理します。
エージェントの作成

@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
ログイン後にコピー

create_agent 関数: この関数は、ユーザー入力の処理方法に関する特定の指示を使用して環境とエージェントをセットアップします。 system_prompt はエージェントの対話をガイドし、適切かつ正確な室内装飾の提案を確実に提供します。
ユーザー入力の処理

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'])
ログイン後にコピー

ユーザー インタラクション: Streamlit の text_area を使用して、ユーザーの装飾の好みと詳細をキャプチャします。 「アシスト!」ボタンがクリックされると、入力がエージェントによって処理され、その結果のアドバイスがページに表示されます。

Lyzr と Streamlit の機能を組み合わせることで、応答性が高くインテリジェントな ホーム デコレーション スタイル アシスタント を作成しました。このツールは、ホーム スタイリングのプロセスを簡素化するだけでなく、個人の好みに応じたパーソナライズされたデータ主導の提案も提供します。

アプリリンク: https://homestyle-lyzr.streamlit.app/

ソースコード: https://github.com/isakshay007/home_style

お問い合わせやサポートが必要な場合は、お気軽に Lyzr までご連絡ください。 Lyzr とその製品について詳しくは、次のリンクをご覧ください:

ウェブサイト: Lyzr.ai
デモを予約する: デモを予約する
Discord: Discord コミュニティに参加してください
Slack: Slack チャンネルに参加してください

以上がLyzr Agent-API を使用したホーム デコレーション スタイル アシスタントの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート