빠르게 진화하는 AI 개발 환경에서 익숙한 개발 환경에 강력한 언어 모델을 통합하는 것은 매우 중요해졌습니다. 이 글에서는 개발자들이 Emacs 기반 LLM 클라이언트인 gptel 내에서 Novita AI API를 활용하는 방법을 살펴봅니다. Novita AI의 고급 모델과 gptel의 원활한 Emacs 통합을 결합함으로써 개발자들은 선호하는 텍스트 편집기를 떠나지 않고도 AI 기반 워크플로우를 크게 향상시킬 수 있습니다.
gptel이란?
gptel은 Emacs 사용자를 위해 설계된 다목적 LLM 채팅 클라이언트입니다. 여러 모델과 백엔드를 지원하며, 모든 Emacs 버퍼에서 원활하게 작동합니다. 균일한 인터페이스와 인플레이스 사용 방식으로 gptel은 Emacs의 확장성과 접근성 철학을 구현합니다. 내부적으로 gptel은 사용 가능한 경우 Curl에 의존하여 강력한 HTTP 기능을 제공하지만, 외부 종속성이 없는 환경에서는 url-retrieve도 지원합니다. 이러한 이중 호환성 덕분에 gptel은 다양한 Emacs 설정에서 쉽게 구성할 수 있습니다.
gptel의 기능
https://www.youtube.com/watch?v=bsRnh\_brggM
gptel은 생산성을 극대화하도록 설계된 다양한 기능을 제공합니다:
- 비동기 및 빠른 작업: 응답을 Emacs에 직접 스트리밍합니다.
- 멀티 LLM 지원: Mythomax, Llama, Qwen 등 다양한 모델 중에서 선택할 수 있습니다.
- 사용자 정의 가능한 워크플로우: 간단한 API를 사용하여 gptel의 작동 방식을 수정할 수 있습니다.
- 컨텍스트 인식 상호작용: 지역, 버퍼 또는 파일을 쿼리에 동적으로 추가할 수 있습니다.
- Markdown/Org 마크업 지원: LLM 응답을 효과적으로 포맷팅합니다.
- 멀티모달 지원: 텍스트, 이미지, 문서 작업이 가능합니다.
- 대화 관리: 필요에 따라 대화를 저장, 재개 및 분기할 수 있습니다.
- 대화형 쿼리 조정: 전송하기 전에 프롬프트를 미리 보고 수정할 수 있습니다.
- 내부 검사 기능: 정확성과 관련성을 보장하기 위해 전송 전에 쿼리를 검사하고 수정할 수 있습니다.
- 편집 가능한 대화: 대화 중 이전 프롬프트나 LLM 응답으로 돌아가 편집할 수 있습니다. 이러한 편집은 모델에 다시 제공되어 동적 조정이 가능합니다.
gptel 다운로드 방법
gptel 설치는 간단합니다:
- Emacs 패키지 관리자 사용:
M-x package-install RET gptel RET실행.- 안정적인 버전을 원하면 패키지 소스에 MELPA-stable을 추가하세요.
- Straight:
- 설정에
(straight-use-package 'gptel)추가.
- 설정에
- 수동 설치:
- GitHub에서 저장소를 클론하세요.
- 저장소 디렉터리에서
M-x package-install-file RET실행.
- Doom Emacs 사용:
packages.el에(package! gptel)추가.config.el에(use-package! gptel :config (setq! gptel-api-key "your key"))추가.
"your key"는 API 키 자체이거나 (더 안전하게) 키를 반환하는 함수일 수 있습니다.gptel-api-key설정은 선택 사항이며, 찾을 수 없는 경우 키를 묻는 메시지가 표시됩니다.
- Spacemacs 사용:
.spacemacs파일의dotspacemacs-configuration-layers에llm-client추가.
(llm-client :variables llm-client-enable-gptel t)
gptel에서 Novita AI API에 접근하기

Novita AI의 API를 gptel과 통합하면 고급 LLM 기능을 활용할 수 있습니다:
- Novita AI의 LLM Playground에서 다양한 LLM을 무료로 테스트하세요.
- Novita AI의 키 관리 페이지로 이동하여 gptel에서 사용할 LLM API 키를 가져오세요.
- Novita AI를 백엔드로 등록하세요:
(gptel-make-openai "NovitaAI"
:host "api.novita.ai"
:endpoint "/v3/openai"
:key "your-api-key"
:stream t
:models '(
gryphe/mythomax-l2-13b
meta-llama/llama-3-70b-instruct
meta-llama/llama-3.1-70b-instruct))
"your-api-key"를 Novita AI API 키로 바꾸세요.- Novita AI를 기본 백엔드로 설정하세요:
(setq
gptel-model 'gryphe/mythomax-l2-13b
gptel-backend
(gptel-make-openai "NovitaAI"
:host "api.novita.ai"
:endpoint "/v3/openai"
:key "your-api-key"
:stream t
:models '(
mistralai/Mixtral-8x7B-Instruct-v0.1
meta-llama/llama-3-70b-instruct
meta-llama/llama-3.1-70b-instruct)))
gptel 사용 방법
gptel의 명령은 유연하고 직관적입니다:
- 일반 쿼리:
M-x gptel-send를 사용하여 커서까지의 텍스트를 보냅니다. 응답이 아래에 삽입되며, 대화를 원활하게 이어갈 수 있습니다. - 전용 채팅 버퍼:
M-x gptel을 사용하여 새 세션을 시작하거나 기존 세션으로 전환합니다.C-c RET을 사용하여 프롬프트를 대화형으로 보냅니다.- 채팅 세션을 쉽게 저장하고 복원하여 일관된 워크플로우를 유지합니다.
- 동적으로 동작 수정:
C-u M-x gptel-send를 실행하여 특정 작업에 대한 LLM 제공자, 백엔드 또는 시스템 메시지와 같은 채팅 매개변수를 조정합니다. - 향상된 Org 모드 기능:
- Org 제목을 사용하여 구조화된 상호작용을 위한 대화 분기.
- 특정 제목 아래에 채팅 설정을 선언하는
gptel-org-set-properties사용으로 재현 가능한 LLM 노트북 생성.
- 멀티모달 지원:
gptel-add-file또는 트랜지언트 메뉴를 통해 대화 컨텍스트에 텍스트, 이미지 또는 문서 파일을 추가합니다. 이를 통해 더 풍부하고 컨텍스트 인식 쿼리가 가능합니다.- 필요에 따라 지역, 버퍼 또는 파일을 포함하거나 제거하여 컨텍스트를 동적으로 관리합니다.
결론
gptel과 Novita AI API를 결합함으로써 개발자는 AI 개발을 위한 강력하고 유연한 도구에 접근할 수 있습니다. 워크플로우를 개선하든 새로운 모델 기능을 탐색하든, gptel과 Novita AI의 API는 프로세스를 원활하고 효율적으로 만듭니다. 시작할 준비가 되셨나요? 지금 LLM Playground를 살펴보세요!
자주 묻는 질문
비표준 워크플로우에도 gptel을 사용할 수 있나요?
네, gptel은 gptel-request 함수를 제공하여 gptel-send 외의 사용자 정의 워크플로우를 지원합니다.
자동 스크롤을 활성화하려면 어떻게 하나요?
구성에 다음을 추가하세요:
(add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)
프롬프트/응답 형식을 어떻게 변경할 수 있나요?
특정 모드에 대해 gptel-prompt-prefix-alist와 gptel-response-prefix-alist를 사용자 정의하세요.
gptel은 미디어를 지원하나요?
네, gptel은 텍스트, 이미지, 문서를 처리하기 위한 멀티모달 모델을 지원합니다.
채팅 버퍼별 옵션을 어떻게 구성하나요?
트랜지언트 메뉴를 사용하여 모델, 백엔드, 지시사항과 같은 채팅 매개변수를 버퍼별로 설정할 수 있습니다. C-u M-x gptel-send를 호출하여 대화형으로 이러한 설정에 접근하세요.
트랜지언트 메뉴란 무엇이며, 효과적으로 사용하려면 어떻게 해야 하나요?
트랜지언트 메뉴를 사용하면 컨텍스트, 입출력 리디렉션, 쿼리 기본 설정 등 gptel의 동작을 동적으로 조정할 수 있습니다. C-u gptel-send 또는 gptel-menu를 호출하여 접근하세요. 고급 사용법은 GitHub 저장소에서 예제와 문서를 참조하세요.
비표준 워크플로우에도 gptel을 사용할 수 있나요?
네, gptel은 gptel-request 함수를 제공하여 gptel-send 외의 사용자 정의 워크플로우를 지원합니다.
자동 스크롤을 활성화하려면 어떻게 하나요?
구성에 다음을 추가하세요:
(add-hook 'gptel-post-stream-hook 'gptel-auto-scroll)
프롬프트/응답 형식을 어떻게 변경할 수 있나요?
특정 모드에 대해 gptel-prompt-prefix-alist와 gptel-response-prefix-alist를 사용자 정의하세요.
gptel은 미디어를 지원하나요?
네, gptel은 텍스트, 이미지, 문서를 처리하기 위한 멀티모달 모델을 지원합니다.
Novita AI는 개발자들이 간단한 API를 사용하여 AI 모델을 쉽게 배포할 수 있도록 지원하는 AI 클라우드 플랫폼이며, 구축 및 확장을 위한 저렴하고 안정적인 GPU 클라우드도 제공합니다.
