본문 바로가기

OpenAI

LLM 애플리케이션을 위한 사내 프롬프트 관리 패키지 개발기 이번 글은 사내의 LLM 프롬프트를 관리하면서 겪은 문제와 해당 문제 개선을 위한 패키지를 개발한 과정에 대해 작성하였습니다. 제품 개발에서 프롬프트 엔지니어링의 어려움 1) 타 팀과 협업 프롬프트 엔지니어링에는 언어 모델을 원하는 출력으로 안내하는 고품질 프롬프트를 만드는 작업이 포함됩니다. 그러나 프로덕트를 위한 과정에서 신속한 엔지니어링은 단독으로 수행하는 경우가 드뭅니다. 종종 프롬프트를 형성하고 미세 조정하기 위해 전문 지식을 제공하는 다른 팀 구성원과의 협업이 필요합니다. 효과적인 협업 없이는 다양한 팀원의 집단적 지식과 통찰력을 활용하는 것이 어려워지고 신속한 엔지니어링 프로세스를 방해합니다. 협업 프롬프트 엔지니어링의 주요 과제 중 하나는 다양한 프롬프트 반복에서 일관성을 보장하는 것입니다.. 더보기
프롬프트 엔지니어링 툴: PromptLayer로 프롬프트 및 LLM 요청 관리하기 프롬프트 및 OpenAI API 요청의 로그를 관리 및 공유할 수 있는 플랫폼인 PromptLayer의 사용법에 대해 정리한 글입니다. Prompt Layer PromptLayer는 GPT 프롬프트 엔지니어링을 추적, 관리 및 공유할 수 있는 개발 도구입니다. 코드와 OpenAI의 파이썬 라이브러리 사이의 미들웨어 역할을 하며, 모든 API 요청을 기록하고 관련 메타데이터를 저장하여 PromptLayer 대시보드에서 쉽게 탐색하고 검색할 수 있도록 합니다. 프롬프트 레이어에서는 크게 두 가지를 관리하는 것을 돕습니다. prompt template LLM request UI상에서 프롬프트 템플릿은 Registry에서 관리가 되고, LLM에 대한 요청은 History 탭에 로그가 쌓이게 됩니다. Tag 템플.. 더보기
LLM을 앱에 연결해주는 microsoft의 Semantic Kernel Semantic Kernel 이란? 앱에 AI 기능을 추가하는 개발자에게 유연성을 제공하기 위한 microsoft의 오픈 소스 C#, Python 같은 기존 프로그래밍 언어와 LLM AI를 결합시켜주는 경량 SDK 오픈 소스 프레임워크로 예제 앱과 노트북이 함께 제공됨 시맨틱 커널 설계의 핵심은 Skill 과 Planner Planner 는 사용자의 요청을 받아 필요한 스킬, 메모리, 커넥터로 변환하여 복잡한 작업을 용이하게 함 Skill 은 어떤 기능을 하는 역할을 하는 함수나 모듈의 집합 OpenAI의 모델과 Azure OpenAI Service 지원 자주 사용되는 용어 Semantic Kernel (SK) 사용자의 ASK를 이행하는 오케스트레이터 Ask 사용자가 목표 달성을 위해 시맨틱 커널에 요청.. 더보기
[NLP] OpenAI GPT-3 에서 토큰을 선택하는 방식 (feat. 샘플링) 최근 대규모 언어 모델(LLM)을 사용하여 서비스를 내놓는 스타트업이 많아지고 있다. 우리 팀에서도 문장 생성을 위한 서비스를 준비하고 있고, 따라서 gpt-3와 hyperCLOVA로 퓨샷러닝, 프롬프트 튜닝을 진행하며 테스트를 수행하고 있다. 그 과정에서 내가 수행중인 태스크에 대해 최적의 결과를 내기 위해 프롬프트 튜닝 및 파라미터 조정을 진행하면서 공부한 것들에 대해 기록하고자 한다. GPT가 문장을 생성하는 과정 GPT 모델은 기본적으로 여러 트랜스포머 레이어를 통해 연산을 진행한다. 트랜스포머에서 인코더를 제외하고 디코더만 사용하며, 결과로 산출되는 벡터를 이용하면 다음 위치에 적합한 각 단어들이 지니는 확률 값을 추출해 낼 수 있게 된다. 확률값 추출 과정 마지막 레이어의 Hidden stat.. 더보기