이 글은 Amazon Bedrock을 이용해 RAG, Fine tuning 없이 자동 고객 응대 서비스 구축하기 을 보고 정리한 글입니다.

 

 

LLM 을 어떻게 활용해서 어플리케이션을 개발할 것인가? Prompt engineering, Fine-tuning, RAG, ReAct 등

 

 

자동 고객 응대 서비스 아키텍처:

  • 긍정적인 리뷰의 경우 추천 제품을 권하고, 부정적인 리뷰의 경우 제품 언급 대신 정중한 사과를 하는 기능을 가진 서비스임

  • matchInfo : Amazon DynamoDB를 이용해 리뷰 작성자의 정보와 상품 판매 정보를 대조하여 작성자에 맞는 추천 상품을 가져옵니다.
  • generateReply : Amazon Bedrock의 Claude 모델을 이용하여 사용자 리뷰에 대한 사장님의 댓글을 작성함
  • sendAlert : Amazon SNS를 이용해 사용자의 리뷰가 부정적일 경우 추가 조치를 위해 상품 제공자(사장님)에 이메일을 보냄

 

이 기능을 하는 프롬포트:

  • 프롬프트에서는 1) 감정 분류 2) 추천 제품 반영 3) 상황에 맞는 답변 작성 4) Json 형식에 맞춰 답변을 예시와 함께 지시한다. Gen AI는 해당 프롬프트에 따라 감정을 분류하고, 추천 반영 여부를 판단하고, 상황에 맞는 적절한 답변을 json 형식으로 응답하게 됨
<information>은 사용자에게 추천할 제품의 정보이며, <user>는 상품 구매자의 정보를 담고 있습니다. 
<result>는 <review>를 분석한 감정인 Sentiment와, 사장님의 입장에서 작성한 답변인 “Generated”가 json 형식으로 나옵니다.

사용자의 Sentiment는 NEGATIVE, POSITIVE, MIXED로 표현됩니다. 
분석한 Sentiment가 POSITIVE일 경우에는 <Information>을 반영해 “Generated”를 작성하여 다른 제품을 추천하고, 
NEGATIVE일 경우에는 <Information>을 반영하지 않고 정중하게 사장님의 입장에서 사과문을 작성합니다. 

<example>
    <information>
    {{
    “age”: “20대”, #주 구매자
    “link” : “https://sample1.com”, #제품 사이트 링크
    “product” : “북유럽 디자인 수건” #추천 제품명
    }}
    </information>

    <user>
    {{
            “age”: "20대", #구매자 연령
            “sex”: "여", #구매자 성별
            “name”: "백조", #구매자 이름
            “purchased”: "3", #구매 횟수
            “product”: "폭신 구름 슬리퍼", #구매한 상품 이름
    }}
    </user>


    <review>
    쿠션감도 좋고 편하다는 평이 많아서 사봤는데 처음 시착 때는 몰랐다가 조금 서있어보니까 쿠션감이 슬슬 느껴지고 아치도 있어서 좋더라구요?! 
    다만 가격이 사악할 뿐..... 가격이 별점 깎아먹습니다!!! 
    일단 실내용으로 샀는데 실사용 해보고 여전히 만족스럽다면 슬리퍼 이걸로 정착하게 계속 팔아주세요~!
    </review>

    <result>
    {{“Sentiment”: “MIXED”,
    “Generated”: “백조님, 소중한 리뷰 감사드립니다. 제품 재구매도 벌써 세 번째이시네요. 
    계속해서 제품을 이용해주셔서 진심으로 고맙습니다. 이번에도 제품이 마음에 드셨다니 다행이고 기쁘게 생각합니다. 
    저희가 앞으로도 고객님의 취향에 맞는 제품을 개발할 수 있도록 최선을 다하겠습니다. 
    이 제품을 구매한 다른 고객님들이 많이 구매하신 폭신 구름 슬리퍼(https://sample1.com)도 한 번 이용해보세요. 
    고객님의 소중한 의견이 큰 도움이 됩니다. 항상 감사드립니다.”}}
    </result>

</example>

아래의 <review>와 <information>, <user>에 대해서 위의 <result>를 생성해주세요. 
응답은 반드시 {{}}안의 내용을 json 형식으로 주고, Generate 안의 내용에 줄바꿈 문자를 제거하고 출력합니다.

<information>

{info}

</information>

<user>
{user}
</user>

<review>
{input}
</review>

'Generative AI' 카테고리의 다른 글

Agent 의 동작 과정  (0) 2024.05.29
Generative AI with LLMs: Week 3  (0) 2024.05.29
LLM In Production (feat: Project Pluto)  (0) 2024.05.26
Generative AI with LLMs: Week 2  (0) 2024.05.23
Geneartive AI with LLMs: Week 1  (0) 2024.05.17

+ Recent posts