2019.01.29

“머신러닝으로 파이썬 코드 완성” 카이트, 전체 함수 호출로 기능 확대

Serdar Yegulalp | InfoWorld
파이썬 개발자를 위한 새로운 프로그래밍 보조 툴 개발사가 머신러닝 기술을 새로운 개발 툴을 만드는 데 적용했다. 카이트(Kite)는 “파이썬 프로그래머를 위한 AI 코파일럿”이란 설명이 붙은 코드 자동 완성 시스템으로, 많은 IDE에 사용되는 전통적인 자동 완성 추천 알고리즘의 한계를 극복하고자 한다. 
 
ⓒ Getty Images Bank

카이트는 아톰(Atom), 파이참/인텔리제이(PyCharm/IntelliJ), 서브라임 텍스트(Sublime Text), 마이크로소프트 비주얼 스튜디오 코드, 빔(Vim) 등 주요 코드 편집기와 통합할 수 있다. 현재는 파이썬만 지원하지만, 카이트 개발팀은 다른 개발언어도 지원할 계획이다.

카이트의 코드 자동 완성 기능은 깃허브 상에 공개된 파이썬 코드를 탐색해 만든 머신러닝 모델을 이용한다. 이 모델은 코드 텍스트 상에서 훈련을 받지는 않았지만, 코드로부터 얻은 추상 구문 트리(Abstract Syntax Tree)를 학습한다. 이를 통해 머신러닝 모델은 일부 코드의 의도와 맥락을 파악해 사용자와 다른 개발자가 과거에 코드를 작성한 방법을 기반으로 한 공통된 코드 패턴의 자동 완성 기능을 제공한다.

카이트의 최신 버전은 이런 코드 제안 기능을 확장해 선택할 수 있는 방안을 좀 더 잘 보여준다. 이전 버전의 카이트는 어느 시점에서건 변수 참조처럼 바로 다음에 적용할 수 있는 코드만을 제안했다. 최신 버전은 전체적인 함수 호출을 제안할 수 있으며, 모든 인수와 그 의미도 보여준다.

또한 카이트의 머신러닝 모델을 원격 서버뿐만 아니라 자체 서버에도 배치할 수 있다. 이 기능은 머신러닝 분야에서는 의미가 큰데, 머신러닝 모델을 좀 더 작고 배치하기 쉽게 만들어 적절한 스토리지와 CPU의 하드웨어에 설치할 수 있도록 해준다. editor@itworld.co.kr


2019.01.29

“머신러닝으로 파이썬 코드 완성” 카이트, 전체 함수 호출로 기능 확대

Serdar Yegulalp | InfoWorld
파이썬 개발자를 위한 새로운 프로그래밍 보조 툴 개발사가 머신러닝 기술을 새로운 개발 툴을 만드는 데 적용했다. 카이트(Kite)는 “파이썬 프로그래머를 위한 AI 코파일럿”이란 설명이 붙은 코드 자동 완성 시스템으로, 많은 IDE에 사용되는 전통적인 자동 완성 추천 알고리즘의 한계를 극복하고자 한다. 
 
ⓒ Getty Images Bank

카이트는 아톰(Atom), 파이참/인텔리제이(PyCharm/IntelliJ), 서브라임 텍스트(Sublime Text), 마이크로소프트 비주얼 스튜디오 코드, 빔(Vim) 등 주요 코드 편집기와 통합할 수 있다. 현재는 파이썬만 지원하지만, 카이트 개발팀은 다른 개발언어도 지원할 계획이다.

카이트의 코드 자동 완성 기능은 깃허브 상에 공개된 파이썬 코드를 탐색해 만든 머신러닝 모델을 이용한다. 이 모델은 코드 텍스트 상에서 훈련을 받지는 않았지만, 코드로부터 얻은 추상 구문 트리(Abstract Syntax Tree)를 학습한다. 이를 통해 머신러닝 모델은 일부 코드의 의도와 맥락을 파악해 사용자와 다른 개발자가 과거에 코드를 작성한 방법을 기반으로 한 공통된 코드 패턴의 자동 완성 기능을 제공한다.

카이트의 최신 버전은 이런 코드 제안 기능을 확장해 선택할 수 있는 방안을 좀 더 잘 보여준다. 이전 버전의 카이트는 어느 시점에서건 변수 참조처럼 바로 다음에 적용할 수 있는 코드만을 제안했다. 최신 버전은 전체적인 함수 호출을 제안할 수 있으며, 모든 인수와 그 의미도 보여준다.

또한 카이트의 머신러닝 모델을 원격 서버뿐만 아니라 자체 서버에도 배치할 수 있다. 이 기능은 머신러닝 분야에서는 의미가 큰데, 머신러닝 모델을 좀 더 작고 배치하기 쉽게 만들어 적절한 스토리지와 CPU의 하드웨어에 설치할 수 있도록 해준다. editor@itworld.co.kr


X