이번 회차는 MS의 Copilot 개발팀에서 일하고 계신 Hanna님이 진행해주셨습니다. ChatGPT의 프롬프트에 대해 알아보고, 실습 코드와 함께 ChatGPT API부터 LangChain까지 설명해주셨습니다.
프롬프트는 ChatGPT에서 지시 사항(Instruction), 모델이 참고할 수 있는 정보인 컨텍스트(Context), 지시 사항 수행을 위한 입력 데이터(Input Data), 그리고 출력 형식을 나타내는 출력 표시자(Output Indicator)로 구성됩니다.
프롬프트를 사용할 때는 한 번의 쿼리로만 답변을 받기보다는 꼬리 질문을 통해 답변을 더 구체화할 수 있습니다. 또한, 매번 지시 사항이나 출력 표시자를 지정하는 것이 어려울 때는 Template를 만들어 관리하는 것이 편리합니다.
ChatGPT가 지시 사항을 잊어버리는 경우가 있을 수 있습니다. 이때는 지시를 두 번 하는 것도 한 가지 방법입니다. 또한, JSON 형식의 출력을 받도록 지정하는 것도 유용합니다. JSON을 사용하면 다른 플랫폼에서 쉽게 입력으로 활용할 수 있으며, 답변을 저장하거나 분석 및 디버깅에 활용할 수 있습니다. 단, JSON 유효성 검사도 필요할 수 있습니다.
Copilot에 대해서도 간략히 소개해주셨는데, 유닛 테스트, 테스트 데이터 생성, 코드 문서화, 코딩 학습 보조 등 다양한 방법으로 활용할 수 있다고 합니다.
먼저 ChatGPT API의 사용법을 보여주셨습니다. API 키를 등록하고 모델과 파라미터를 선택한 뒤, 입력 쿼리를 전달하면 됩니다.
LangChain은 LLM 사용을 쉽게하기 위한 프레임워크로, 프롬프트 템플릿을 관리하고 적용하기 용이합니다. 또한, DataFrame Agent를 사용하여 정형 데이터인 pandas 데이터프레임을 분석할 수 있습니다. 특히, YouTube 동영상의 내용을 임베딩하고 데이터베이스로 저장하여 동영상에 대해 쿼리가 가능하다는 점이 개인적으로 많이 사용할 것 같은 기능이었습니다.
강사님이 한글과 영어를 함께 쓰셔서... 듣기엔 조금 어려웠지만, 재밋는 정보들이 많이 있어서 좋았습니다. 특히 LangChain에 대해서 설명해주시고, 실습 코드까지 제공해주신 점이 너무 좋았습니다. 아마... 꼭 다음에 개인적으로 실습을 할 수 있기를