맞춤형 홈 데코 스타일 어시스턴트를 만들면 사용자가 자신의 공간에 딱 맞는 스타일, 제품, 예산 친화적인 솔루션을 찾는 데 도움이 될 수 있습니다. 이 블로그 게시물에서는 Lyzr 및 Streamlit을 사용하여 홈 데코 스타일 도우미를 구축하는 과정을 안내합니다. 이 애플리케이션을 통해 사용자는 선호하는 스타일, 객실 유형, 예산 및 기타 세부 사항을 입력하여 맞춤형 장식 제안을 받을 수 있습니다.
전제조건
들어가기 전에 다음 사항을 확인하세요.
-Python 3.8 이상이 설치되어 있습니다.
-Lyzr SDK가 설치되었습니다.
-스트림라이트가 설치되었습니다.
-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
초기화: 생성자(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: 간소화된 인터페이스 구축
app.py 파일은 마법이 일어나는 곳입니다. 여기에서는 Streamlit을 사용하여 사용자 인터페이스를 만들고, 사용자 입력을 캡처하고, LyzrAgent와 상호 작용하여 맞춤형 홈 데코 제안을 생성 및 표시합니다.
스트림라이트 페이지 설정
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 초기화: API 키를 전달하여 LyzrAgent 클래스의 인스턴스를 생성합니다. 이 에이전트는 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의 강력한 기능을 결합하여 응답성이 뛰어나고 지능적인 Home Décor Style Assistant를 만들었습니다. 이 도구는 홈 스타일링 과정을 단순화할 뿐만 아니라 개인의 선호도에 맞는 개인화된 데이터 기반 제안을 제공합니다.
앱 링크: https://homestyle-lyzr.streamlit.app/
소스코드: https://github.com/isakshay007/home_style
문의나 지원이 필요하신 경우 Lyzr로 연락주세요. 다음 링크를 통해 Lyzr 및 해당 제품에 대해 자세히 알아볼 수 있습니다.
웹사이트: Lyzr.ai
데모 예약: 데모 예약
Discord: Discord 커뮤니티에 참여하세요
Slack: Slack 채널에 참여하세요
위 내용은 Lyzr Agent-API를 사용하여 홈 데코 스타일 도우미 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!