sketch: AI 코드 작성 도구에 대한 소개
sketch는 pandas 사용자들을 위한 AI 코드 작성 도구입니다. 이 도구는 데이터의 컨텍스트를 이해하여 제안의 관련성을 크게 높여주며, 몇 초 안에 사용할 수 있고 IDE에 플러그인을 추가할 필요가 없습니다.
주요 특징
데이터 이해
sketch는 데이터의 컨텍스트를 이해합니다. 예를 들어, 데이터 카탈로깅, 메타데이터 생성, 데이터 엔지니어링, 데이터 분석 등 다양한 작업에서 데이터의 특성을 파악하여 관련된 코드 작성 제안을 제공합니다.
사용의 간편성
간단히 pip install sketch
를 실행하여 설치할 수 있습니다. 그리고 pandas 데이터프레임에 .sketch
확장자를 사용하여 다양한 기능을 활용할 수 있습니다.
다양한 기능
.sketch.ask
: 기본적인 질문-답변 시스템으로, 데이터의 요약 통계와 설명을 기반으로 텍스트로 답변을 반환합니다. 데이터에 대한 이해를加深시키고, 더 나은 열 이름을 구할 수 있으며, 가설적 질문을 할 수 있습니다..sketch.howto
: 기본적인 "코드 작성" 프롬프트로, 질문에 대한 코드 블록을 반환하여 시작점 또는 끝점으로 사용할 수 있습니다. 데이터를 정리, 정규화, 새로운 특징 생성, 그래프 그리기, 모델 구축 등에 사용할 수 있습니다..sketch.apply
: 더 고급된 프롬프트로, 데이터 생성에 더 유용합니다. 필드 파싱, 새로운 특징 생성 등에 사용할 수 있습니다. 이를 사용하기 위해서는 OpenAI에 무료 계정을 설정하고 API 키를 환경 변수로 설정해야 합니다.
사용 사례
데이터 분석 워크플로우
데이터 분석의 표준적인 워크플로우를 따를 때, sketch는 자연어 인터페이스를 통해 데이터 스택 환경에서의 여러 작업을 성공적으로 수행할 수 있습니다. 예를 들어, 데이터 카탈로깅에서 일반 태깅, 메타데이터 생성, 데이터 엔지니어링에서 데이터 정리와 마스킹, 데이터 분석에서 데이터 질문과 시각화 등의 작업을 수행할 수 있습니다.
실제 적용
다음과 같은 예시를 통해 실제로 어떻게 사용할 수 있는지 확인할 수 있습니다.
import sketch
# 데이터프레임에 확장자를 등록
any pandas dataframe you have will have an extension registered to it.
#.sketch.ask를 사용하여 질문하기
df.sketch.ask("Which columns are integer type?")
#.sketch.howto를 사용하여 코드 작성 프롬프트 받기
df.sketch.howto("Plot the sales versus time")
#.sketch.apply를 사용하여 데이터 생성
df['review_keywords'] = df.sketch.apply("Keywords for the review [{{ review_text }}] of product [{{ product_name }}] (comma separated):")
가격
sketch의 가격에 대한 정보는 현재 공개되어 있지 않습니다. 하지만 일반적으로 AI 도구들은 다양한 가격 계획을 제공하며, 사용자의 요구와 사용량에 따라 가격이 결정될 수 있습니다.
비교
다른 AI 코드 작성 도구와의 비교
sketch는 데이터의 컨텍스트를 이해하는 것이 특징입니다. 이는 다른 일부 AI 코드 작성 도구와는 차별화된 점입니다. 예를 들어, 일부 도구는 단순히 일반적인 코드 템플릿을 제공할 수 있지만, sketch는 데이터의 특성을 고려하여 더욱 관련성 높은 코드 제안을 제공합니다.
장점과 단점
- 장점: 데이터 컨텍스트 이해, 사용의 간편성, 다양한 기능 제공
- 단점: OpenAI API 키를 사용해야 하는 경우가 있음 (
.sketch.apply
사용 시), 가격 정보가 명확하지 않음
고급 팁
다른 모델 사용
sketch는 현재 prompts.approx.dev를 사용하여 최소한의 설정으로 실행되지만, 직접 몇 가지 미리 구축된 hugging face 모델 (현재 MPT-7B와 StarCoder)을 사용할 수도 있습니다. 이를 위해서는 환경 변수를 설정해야 합니다.
os.environ['LAMBDAPROMPT_BACKEND'] = 'StarCoder'
os.environ['SKETCH_USE_REMOTE_LAMBDAPROMPT'] = 'False'
os.environ['HF_ACCESS_TOKEN'] = 'your_hugging_face_token'
OpenAI 직접 호출
sketch를 사용하면서 OpenAI를 직접 호출할 수도 있습니다. 이를 위해서는 다음과 같은 환경 변수를 설정해야 합니다.
(1) SKETCH_USE_REMOTE_LAMBDAPROMPT=False
(2) OPENAI_API_KEY=YOUR_API_KEY
sketch는 pandas 사용자들을 위한 유용한 AI 코드 작성 도구로, 다양한 기능과 사용 사례를 통해 데이터와 관련된 코드 작성 작업을 더욱 쉽게 해결할 수 있습니다.