본문 바로가기
✨ Club|Project/카카오테크 부트캠프 | AI

🦜카부캠 앵무말(Parrotalk) : 랭체인 프롬프팅

by 정람지 2024. 10. 22.


망침

깔끔하게! 고민 없이! 복학~~-

아니 진짜 일대일 60분 기술면접 진짜냐 젠장 다대다라이트면접일줄알았다


🦜 우리 서비스!

https://451a-211-244-225-164.ngrok-free.app

통화 된다~

음질 굿

TTS STT 진행 중이시다


🦜 GPT api / Langchain

가상환경 설정, 패키지 설치

pip freeze > requirements.txt

 

프롬프트

recommend_system_message = '''### 지시 ###
주어지는 문장은 내 전화 상대방의 문장이다. 맥락에 따른 답변 추천 예시를 3개 생성하라.

### 출력 형식 ###
json 형식으로 출력하되 아래 형식으로 출력하라.
{{
    "recommend": [
        // 요약한 메시지 3개, 이는 겹치면 안 된다.
    ]
}}
### 출력 형식 ###
그들의 이전 대화 내용 :
'''

이전 대화 내용 저장 메모리

memory_store = {}

def get_user_memory(user_id):

    if user_id not in memory_store:
        memory_store[user_id] = ConversationSummaryMemory(llm=llm.AI_model)
        return "nothing"
    return memory_store[user_id]


def add_message(user_id,input,output):
    memory_store[user_id].save_context({"inputs": input}, {"outputs": output})

중심 코드

def recommend(user_id, message): # 유저 아이디 필요! 어케?
    history = context.get_user_memory(user_id)
    
    formatted_messages = recommend_prompt.make_recommend_prompt(message, history)
    response = llm.AI_model.invoke(formatted_messages)
        
    parser = StrOutputParser()
    parsed_output = parser.parse(response)

    context.add_message(user_id, message, parsed_output.content)
    
    return parsed_output.content

 

 

테스트

 

/Users/goldchae/Desktop/code/Parrotalk_AI/services/context.py:9: LangChainDeprecationWarning: Please see the migration guide at: https://python.langchain.com/docs/versions/migrating_memory/

이거 머임.

 https://python.langchain.com/docs/versions/migrating_memory/

안에 ConversationSummaryMemory 있는데.

일단도망쳐