안녕하세요!!
2024.10.17 - [데이터&AI/LLM] - Gpt realtime Python으로 구현하기!!
지난 포스팅에서 swam 이 무엇인지 간단히 알아보았습니다!!
그런데, 프로그래밍 공부할떄는 언제나 그렇듯, 실제 상황을 코드로 바꿔보면서 해보아야 더 빠르게 이해가 되더라구요!
그래서 오늘은!! 대표적인 상황을 기준으로 swarm에 대하여 학습해보겠습니다!!
오늘의 상황을 쉽게 설명하면 다음과 같습니다!!
페스트 푸드 매장인데, 매장에는 보스 / 점원 / 청소부가 있습니다!
점원은 고객으로 부터 주문을 받고!
청소부는 매장의 자리를 청소하고!!
보스는 뒷자리에 않아있다가 고객이 사장불러와! 하면 보스가 나타납니다!!
이제! 이 환경을 swarm 기반으로 구축해봅니다!!
from swarm import Swarm, Agent
client = Swarm()
def call_boss():
return boss
def call_cleaner():
return cleaner
def cleaning():
print("cleansing 함수 작동!! 열심히 청소를 진행중 입니다!!")
alba = Agent(
name="알바생",
instructions="당신은 친절한, 한국말을 사용하는 agent입니다. 매장 알바생으로 단순 업무를 해요. 빅맥 햄버거 가격은 5천원이야",
functions=[call_boss, call_cleaner],
)
boss = Agent(
name="가게사장",
model='gpt-4',
instructions="너는 무슨질문이 들어오든 한국어로 '안녕하세요!! 일등박사 페스트푸드점 보스입니다' 라고해.",
)
cleaner = Agent(
name="청소원",
model='gpt-4o-mini',
instructions="고객님이 더러워하고 있어 '네! 지금 바로 청소하겠습니다!!' 라고 바로 대답해!!'",
functions=[cleaning],
)
코드를 쉽게 이해하면 아래 그립과 같습니다!!
점원은 빅맥가격은 5천원이며! 고객이 사장을 부르면 연결해줍니다!!
청소부는 가장 빠르고 가격이 저렴한 gpt-4o-mini를 사용, 필요시 자리를 청소합니다
보스는 가장 비싸고 정확한 gpt-4모델을 사용하고 고객으 호출하면 나타납니다!!
이제, 잘 작동하는지 보아요!!
고객이 빅맥 햄버거 가격을 물어보면!?
response = client.run(
agent=alba,
messages=[{"role": "user", "content": "빅맥 햄버거 얼마야?"}],
)
print(response.messages[-1]["content"])
response
잘 대답하죠!?
비슷하게!!
고객이 무슨 햄버거 있어? 라고 물으면?
response = client.run(
agent=alba,
messages=[{"role": "user", "content": "무슨 햄버거있어?"}],
)
print(response.messages[-1]["content"])
response
아주 좋아요!!
이번엔 자리가 지저분해요!!
고객이 다름과 같이 말합니다!!
"여기 자리가 너무 더러워요ㅠ 청소해주세요"
response = client.run(
agent=alba,
messages=[{"role": "user", "content": "여기 자리가 너무 더러워요ㅠ 청소해주세요"}],
)
print(response.messages[-1]["content"])
response.messages
그 결과!!
cleaner가 호출되고 cleansing 함수가 잘 작동함을 볼수 있습니다!!!!
마지막으로!!
긴급상황!!!!
진상고객이 나타나서 "서비스가 이게 뭐야! 사장 불러!!" 라고합니다!!
response = client.run(
agent=alba,
messages=[{"role": "user", "content": "서비스가 이게 뭐야! 사장 불러!!"}],
)
print(response.messages[-1]["content"])
response.messages
과련 어떻게될까요!?
call_boss 함수가 가동, 듬직하게 보스가 나타나서 답변하게됩니다!!
어떄요!! 이를 통해서 swarm의 활용 예시를 알아보았는데!!
이해가 되는데 도움이 되었으면 좋겠어요!^^
'데이터&AI > LLM' 카테고리의 다른 글
Grok-2 beta의 API 활용해보기 (feat. python) (5) | 2024.10.28 |
---|---|
[realtime GPT를 쓰기위한 사전학습]pyaudio이해하기① (마이크 음성을 데이터로 전환!!!) (1) | 2024.10.22 |
OpenAI의 멀티에이전트 framework SWARM 알아보기 (1) | 2024.10.20 |
Gpt realtime Python으로 구현하기!! (0) | 2024.10.19 |
오픈소스모델(qwen2-VL)로 동영상 분석하기!! (GPU야!!!) (3) | 2024.10.16 |
댓글