Show HN: Jupyter Notebook에 Mistral Codestral 및 GPT-4o 추가하기
요약
Pretzel은 Jupyter Notebook의 기능을 확장한 오픈 소스 포크 버전으로, AI 기반의 코드 생성, 인라인 탭 완성, 사이드바 채팅 및 오류 수정 기능을 제공합니다. 기존 Jupyter의 설정과 확장 프로그램을 그대로 사용할 수 있으며, OpenAI, Anthropic, Ollama 등 다양한 AI 모델을 연결하여 사용할 수 있습니다.
핵심 포인트
- Jupyter의 기존 설정, 키 바인딩, 확장 프로그램을 즉시 그대로 사용 가능
- 인라인 탭 완성, Cmd+K 프롬프트 입력, AI 사이드바 채팅 등 강력한 AI 기능 탑재
- OpenAI, Anthropic, Ollama, Groq 등 사용자 정의 AI 모델 지원
- 실시간 협업, SQL 지원, 시각적 분석 빌더 등 향후 로드맵 기능 포함
- pip 설치 또는 Docker 컨테이너를 통한 간편한 환경 구축 지원
현대적인 오픈 소스 (open-source) Jupyter 대안.
여기에서 체험해 보세요 »
Discord
·
Website
·
Issues
·
Contact
Pretzel.AI.Overview.with.Subtitles.mp4
Pretzel은 Jupyter의 기능을 향상시키는 것을 목표로 하는 Jupyter의 포크 (fork) 버전입니다. 현재 우리는 Jupyter에 AI 코드 생성 및 편집, 인라인 탭 완성 (inline tab completion), 사이드바 채팅 및 오류 수정 기능을 추가했으며, 앞으로 더 많은 기능이 추가될 예정입니다.
Jupyter에서 Pretzel로 전환하는 것은 단순히 개선된 버전의 Jupyter이기 때문에 매우 쉽습니다. 모든 Jupyter 설정 (config), 세팅, 키 바인딩 (keybindings), 그리고 확장 프로그램 (extensions)이 즉시 작동합니다.
- 설치:
pip install pretzelai
그 다음 pretzel lab을 실행하여
웹 인터페이스를 엽니다. 또는, 우리의 무료 호스팅 버전을 사용하세요: pretzelai.app - 설치 중 오류가 발생하면 이 부분을 확인하세요.
- 셀에 타이핑을 시작하기만 하면 인라인 탭 완성 (inline tab completions)을 사용할 수 있습니다.
- 어떤 Jupyter 셀에서든 “Ask AI”를 클릭하거나 Cmd+K (Mac) / Ctrl+K (Linux/Windows)를 눌러 AI에게 프롬프트 (prompt)를 입력하세요. - Ctrl+Cmd+B (Mac) 또는 Ctrl+Alt+B (Linux/Windows)를 사용하여 **AI 사이드바 (AI Sidebar)**를 통해 AI와 채팅하고, 코드를 생성하며, 질문을 하세요. -
@를 입력하여 함수 및 변수 이름으로 자동 완성 (auto-complete)을 트리거하세요. - 본인의 모델 (OpenAI, Anthropic/Claude, Ollama 또는 Groq)을 사용하려면 설정 (Configuration) 섹션을 참조하세요.
우리의 로드맵에는 다음과 같은 기능 구축이 포함되어 있습니다:
- Cursor와 유사한 네이티브 AI 코드 생성 및 이해 기능
- 마찰 없는 실시간 협업: 페어 프로그래밍 (pair-programming), 댓글, 버전 기록 등
- SQL 지원 (코드 셀 및 독립형 SQL IDE 모두 지원)
- 시각적 분석 빌더 (Visual analysis builder) (자세한 내용은 여기를 참조하세요)
- Monaco를 사용한 VSCode와 같은 코드 작성 경험
- Jupyter Notebook에서 1클릭 대시보드 생성 및 공유
pip로 Pretzel 설치하기
pip install pretzelai
conda의 경우, 먼저 conda install pip로 pip를 설치한
다음 pip install pretzelai를 실행하세요.
그 다음, 다음 명령어로 Pretzel을 시작하세요:
pretzel lab
제공된 URL을 통해 Pretzel 인터페이스에 접속할 수 있습니다.
본인의 AI 모델을 사용하려면 설정 (Configuration) 섹션을 참조하세요.
Pretzel 설치에 어려움이 있는 경우 (예: Windows 환경), Docker 컨테이너에서 실행할 수 있습니다.
- Dockerfile 생성:
FROM python:3.9-slim
RUN apt-get update && apt-get install -y \
build-essential \
...
- Dockerfile이 있는 동일한 폴더에서 다음을 실행하세요:
docker build -t pretzel .
- pretzel을 실행하려면 다음을 실행할 수 있습니다:
docker run --name pretzel -p 8888:8888 pretzel
컨테이너가 실행되면 http://localhost:8888/lab에서 접속할 수 있습니다. 컨테이너를 중지하려면 Ctrl + C를 누른 후 docker stop pretzel을 입력하세요.
Pretzel에서 로컬 폴더에 접근하고 싶다면 다음을 실행하세요: docker run --rm -p 8888:8888 -v $(pwd):/root/pretzel pretzel
- 이렇게 하면 현재 디렉토리가 Docker 컨테이너의
/root/pretzel폴더로 매핑됩니다. Docker가 현재 디렉토리에 접근할 수 있는지 확인하세요.
Pretzel을 최신 버전으로 업데이트하려면 --no-cache 플래그를 사용하여 Docker 이미지를 다시 빌드하기만 하면 됩니다: docker build --no-cache -t pretzel .
이제 3단계와 같이 Docker를 실행할 수 있습니다.
이 Dockerfile을 사용하여 최첨단 (bleeding edge) 버전을 빌드하고 실행할 수 있습니다. 'Running within a docker container' 섹션의 단계(2단계부터 시작)를 따르세요.
설치 중에 다음과 같은 오류가 발생하는 경우:
Failed to build installable wheels for some pyproject.toml based projects (pystemmer)
이는 의존성 라이브러리인 PyStemmer 설치에 실패했음을 의미합니다. 이는 대개 적절한 빌드 도구 (build tools)가 설치되어 있지 않기 때문에 발생합니다. 이를 해결하려면 다음과 같이 하세요:
Windows의 경우: 여기에서 Microsoft 빌드 도구를 설치하세요. Download Build Tools 버튼을 클릭하여 설치를 진행하세요.
Ubuntu (및 Debian 계열 시스템)의 경우: 터미널에서 다음 명령어를 실행하여 필요한 빌드 도구를 설치하세요: sudo apt-get update && sudo apt-get install build-essential python3-dev
macOS의 경우: brew install gcc를 실행하세요. 만약 작동하지 않는다면 xcode-select --install을 실행해야 할 수도 있습니다.
이 작업이 완료되면 pip install pretzelai를 실행할 수 있습니다.
Pretzel을 설치하기 위해서입니다.
- 셀(cell)에 타이핑을 시작하면 인라인 탭 완성(inline tab completions) 기능이 작동합니다.
- 완성을 트리거하려면 1초 동안 기다리세요. 셀 내의 파란색 'Ask AI' 버튼 바로 직전에 작은 스피너(spinner)가 나타납니다.
기본 Pretzel AI 서버는 Mistral의 Codestral을 사용하지만, Pretzel AI 설정(Settings)에서 인라인 완성 모델을 변경할 수 있습니다. 구성(configuration) 섹션을 참조하세요.
-
셀에서
Cmd+K(Mac) 또는Ctrl+K(Windows/Linux)를 누르고 'Ask AI'를 클릭하여 AI 프롬프트 텍스트 박스를 열고 코드 생성/편집 명령을 작성하세요. -
@를 입력하면 현재 세션에서 사용 가능한 변수 목록이 드롭다운으로 나타납니다. 프롬프트에@variable을 추가하면 해당 변수의 값이 AI로 전송됩니다. -
현재 노트북의 관련 코드를 컨텍스트(context)로 AI에 자동으로 전송합니다.
-
입력하세요
-
셀에 기존 코드가 있는 경우, 프롬프트는 기존 코드를 편집합니다.
-
셀에서 특정 코드를 선택하거나 하이라이트(highlight)하면, 선택된 코드만 편집됩니다.
-
응답을 수락(accept)하거나 거절(reject)할 수 있으며, 수정을 거쳐 다시 제출하고 싶다면 프롬프트를 편집할 수 있습니다.
-
↑/↓키를 사용하여 프롬프트 히스토리(history)를 순환할 수 있습니다. -
Ctrl+Cmd+B(Mac) 또는Ctrl+Alt+B(Linux/Windows)를 사용하거나 우측 사이드바의 Pretzel 아이콘을 사용하여 AI 사이드바(AI Sidebar)를 활성화하세요. -
질문을 하거나, 코드를 생성하거나, 기존 코드를 검색할 수 있습니다.
-
AI는 항상 활성 셀(active cell)의 코드를 컨텍스트로 사용합니다. 활성 셀에서 코드를 하이라이트하면 하이라이트된 코드만 컨텍스트로 사용됩니다.
-
현재 노트북의 관련 코드를 컨텍스트로 AI에 자동으로 전송합니다.
-
노트북 셀과 유사하게
@구문을 사용하여 메모리 내의 변수 및 데이터프레임(dataframe)을 참조할 수 있습니다.
AI 사이드바 사용 예시:
- "
my_function함수를 더 효율적으로 수정해줘" ← 이 명령은my_function함수를 찾아냅니다.
전체 노트북에서 해당 코드를 찾아 수정해줘
- 특정 AI 서비스 활성화 또는 비활성화 (예: Azure 및 Ollama는 기본적으로 비활성화되어 있지만 활성화할 수 있습니다)
- 각 서비스에 필요한 API 키 또는 URL 입력
변경 사항을 적용한 후에는 반드시 설정을 저장해야 합니다. Pretzel은 모든 설정이 올바르게 구성되었는지 확인하기 위해 구성을 검증(validate)합니다.
참고 사항: 저희는 아직 Azure Enterprise OpenAI 모델을 테스트하지 않았습니다. 버그를 발견하시면 GitHub 이슈(issues)에 보고해 주세요. 최대한 빨리 수정하겠습니다.
- 버그 보고는 여기에서 해주세요: https://github.com/pretzelai/pretzelai/issues
- 피드백이나 불만 사항이 있으신가요? 피드백을 환영합니다: founders@withpretzel.com
원본 Jupyter 문서는 [여기]에서 확인할 수 있으며, Jupyterlab README는 [여기]에서 확인할 수 있습니다.
저희는 개인 정보를 수집하지 않습니다. 저희는 저희가 구축한 AI 기능에 대해서만 기본적인 텔레메트리 (telemetry)를 사용합니다. 예를 들어, 사용자가
저희가 호스팅하는 서버는 무료로 사용할 수 있습니다. 하지만 마지막 로그인으로부터 30일이 지나면 귀하의 데이터와 계정을 삭제합니다. 계정을 더 빨리 삭제하고 싶으시다면, 이메일 제목을 "Account Deletion"으로 하여 founders@withpretzel.com으로 메일을 보내주세요. 즉시 계정을 삭제해 드리겠습니다.
Q. 기존 버전의 Pretzel AI — 브라우저 내 시각적 데이터 조작 도구는 어떻게 되었나요?
A. 여기 pretzelai_visual 폴더에서 확인하실 수 있습니다. 더 자세한 정보는 이 PR (Pull Request)을 참조해 주세요.
Q. Pretzel은 어떤 AI 모델을 사용하나요?
A. Pretzel은 다양한 작업에 대해 서로 다른 AI 모델을 사용합니다:
기본 모델: GPT-4o
-
속도와 품질 사이의 좋은 균형을 제공합니다.
-
본인의 API 키를 사용하는 경우 Pretzel 설정 (Settings)에서 변경할 수 있습니다.
인라인 완성 (Inline completions): Mistral의 Codestral 모델
-
코드 완성에 탁월합니다.
-
매우 빠른 성능을 제공합니다 (22B 파라미터 모델).
폴백 (Fallback) 옵션:
- Mistral API 키를 제공하지 않고 본인의 API 키만 사용하는 경우, Pretzel은 인라인 완성에도 GPT-4o를 사용합니다.
저희는 계속해서 모델을 실험하고 있으며, 로컬 모델 (local models) 지원도 검토 중입니다. Anthropic의 Claude가 저희의 우선순위 최상단에 있습니다.
Q. 기능 X는 어떻게 되나요?
A. 구축하고 싶은 기능이 정말 많습니다. 이슈 (issue)를 생성하여 저희가 무엇을 만들어주길 원하는지 알려주세요!
Q. 로드맵 (roadmap)은 어디에 있나요?
A. 이 README 상단에 대략적인 로드맵이 있습니다. 만들고 싶은 기능은 많지만, 저희는 단 두 명뿐입니다. 그래서 무엇이 가장 도움이 될지에 대한 피드백을 수집하고 있습니다. 이슈를 생성하거나 피드백을 이메일로 보내주세요! 확인된 내용을 바탕으로 로드맵의 우선순위를 정하겠습니다.
Q. 왜 AGPL 라이선스를 사용하시나요? 혹은 왜 MIT/BSD3 라이선스를 사용하지 않나요?
A. Pretzel을 구축하는 우리의 목표는 개인과 기업 모두가 무료로 사용할 수 있는 놀라운 데이터 도구를 만드는 것입니다. 그렇긴 하지만, 우리는 2인 규모의 스타트업입니다. 그리고 어떤 제3자가 커뮤니티에 아무런 기여도 하지 않은 채 우리의 코드를 가져가서 호스팅 버전(hosted version)으로 판매하는 것을 원치 않습니다. Jupyter 코드는 BSD-3 라이선스로 라이선스가 부여되어 있으며, 만약 우리의 새로운 코드를 BSD-3 라이선스로 유지한다면 제3자가 이러한 행위를 하는 것을 막을 방법이 없을 것입니다. 결과적으로, 우리는 모든 새로운 코드에 대해 AGPLv3 라이선스를 선택했습니다. 이는 만약 다른 누군가가 우리의 코드를 가져가서 판매(SaaS 또는 기타 방식)하고자 한다면, 그들도 자신들의 모든 수정 사항을 AGPLv3 하에 오픈 소스(open-source)로 공개해야 함을 보장합니다.
Q. 왜 Jupyter의 포크(fork)인가요? 왜 Jupyter에 직접 기여(contribute)하지 않나요?
AI 자동 생성 콘텐츠
본 콘텐츠는 HN AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기