パーソナライズされた室内装飾スタイル アシスタントを作成すると、ユーザーは自分のスペースに最適なスタイル、製品、予算に優しいソリューションを見つけることができます。このブログ投稿では、Lyzr と Streamlit を使用してホーム デコレーション スタイル アシスタントを構築する手順を説明します。このアプリケーションを使用すると、ユーザーはスタイルの好み、部屋のタイプ、予算、その他の詳細を入力して、カスタマイズされた装飾の提案を受け取ることができます。
前提条件
実際に始める前に、以下のものがあることを確認してください:
-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 サイトの他の関連記事を参照してください。