LLM과 애플리케이션 사이에 Type 놓기
MS가 “사용자의 프롬프트를 분석해서 적절한 JSON 응답 포맷을 만들어 프롬프트에 포함시키는 라이브러리”인 TypeChat을 만들어서 오픈소스로 공개했습니다. TypeChat은 사용자의 자연어 프롬프트를 분석해서 이를 애플리케이션이 이해할 수 있는 구조화된 데이터 형식, 즉 JSON으로 변환하는 라이브러리입니다. TypeScript의 타입 정의를 제공하면 LLM의 응답이 특정 타입에 맞는지 검증하고, 필요한 경우 수정하는 기능도 제공합니다 개발자는 AI가 반환하는 응답이 애플리케이션이 요구 사항을 정확하게 충족하는지 확인할 수 있습니다. 예를 들어, TypeChat을 사용하여 음식 주문 앱을 개발하는 경우를 상상해봅시다. 사용자가 "페퍼로니 피자 두 개와 콜라 한 병을 주세요"라는 자연어 명령을 입력했다고 가정합니다. 1. 프롬프트 분석: TypeChat은 사용자의 프롬프트를 분석합니다. 이 과정은 사용자가 주문하려는 항목의 이름("페퍼로니 피자", "콜라"), 수량("두 개", "한 병") 등의 정보를 파악하는 단계를 포함합니다. 2. LLM에게 프롬프트와 JSON 응답 포맷 전송: TypeChat은 사용자의 프롬프트와 함께 원하는 JSON 응답 포맷을 LLM(Large Language Model)에게 전송합니다. 응답 포맷을 아래와 같이 TypeScript 타입 정의로 표현할 수도 있습니다. ``` interface Response { data: Array; } ``` 3. JSON 응답 수신: LLM은 사용자의 프롬프트를 처리하고, 원하는 형태의 JSON 응답을 생성하여 TypeChat에게 반환합니다. 이 JSON 응답은 주문 항목의 이름, 수량 정보를 포함합니다. ``` { "orders": [ { "item": "페퍼로니 피자", "quantity": 2 }, { "item": "콜라", "quantity": 1 } ] } ``` 4. 애플리케이션 작업: 마지막으로, 애플리케이션은 이 JSON 응답을 사용하여 주문을 처리합니다. 이는 주문 항목을 데이터베이스에서 찾고, 주문 수량을 확인하고, 주문을 완료하는 등의 작업을 포함할 수 있습니다 이러한 방식으로, TypeChat을 이용해 프롬프트, LLM, 애플리케이션 사이를 더 자연스럽고 견고하게 연결할 수 있습니다.