무료 AI 올라마를 옵시디언에서 효과적으로 활용하는 방법(feat. Text Generator, BMO Chatbot)
이전 글에서는 올라마(Ollama)에 대한 기본적인 소개를 하였습니다(참고: 로컬에서 무료로 사용할 수 있는 LLM 도구, Ollama 활용 가이드). 이번 글에서는 올라마(Ollama)를 옵시디언 노트앱에서 어떻게 활용할 수 있는지 상세히 안내하고자 합니다.
올라마와 윈도우OS 호환성 문제
올라마는 아직 윈도우OS를 지원하지 않습니다. 하지만 WSL2 또는 Docker를 이용하면 윈도우 환경에서도 올라마를 실행할 수 있습니다. 대안으로는, 윈도우를 지원하는 프로그램인 LM Studio를 사용하는 것도 좋은 선택입니다. 옵시디언에서 LM Studio를 사용하는 방법에 대해서는 [여기]에 자세히 설명되어 있습니다.
올라마 AI모델 설치 및 실행
올라마의 설치 및 모델 다운로드는 매우 간단합니다. 먼저 ollama.ai에서 올라마를 다운로드하여 설치합니다. 그리고 아래의 명령어를 통해 mistral
모델을 다운로드합니다.
ollama pull mistral
옵시디언에서 올라마를 사용하려면 Cross-Origin Resource Sharing(CORS) 문제를 해결해야 합니다. 방법은 환경변수를 사용하는 방법과 명령어를 사용하는 2가지 방법이 있습니다.
환경변수를 설정하여 올라마 서버 실행
만약 macOS를 사용 중이라면, launchctl setenv 명령어를 사용하여 다음과 같이 OLLAMA_ORIGINS 환경변수를 설정할 수 있습니다.
launchctl setenv OLLAMA_ORIGINS "*"
중요: OLLAMA_ORIGINS=* 옵션은 옵시디언에서 CORS 오류를 방지하기 위해 필수입니다.
환경변수를 설정한 후에는 Ollama를 종료하고 다시 실행해야 합니다.
명령어 사용하여 올라마 서버 실행
만약 올라마 앱을 사용하지 않고 CLI 명령어를 사용하여 올라마 서버를 시작하려면 다음 명령을 사용합니다:
OLLAMA_ORIGINS=* ollama serve
아래와 같이 "address already in use"라는 에러 메시지가 표시된다면, 이는 동일한 포트를 사용하고 있는 서버가 이미 실행 중이므로 실행 중인 Ollama 서버를 종료해야 합니다.
올라마 서버가 성공적으로 실행되었다면, 다음과 같이 API 호출을 할 수 있습니다.
curl http://localhost:11434/api/chat -d '{
"model": "mistral",
"messages": [
{ "role": "user", "content": "why is the sky blue?" }
]
}'
성공적인 API 호출 결과:
- OLLAMA_HOST 환경변수를 사용하면 올라마 서버 IP와 PORT 번호를 변경할 수 있습니다. (기본값은 127.0.0.1:11434 입니다.)
- 환경변수와 올라마 서버 설정에 대한 추가 정보는 올라마 FAQ 페이지에서 찾을 수 있습니다.
옵시디언에서 올라마를 활용하는 방법: Text Generator 플러그인
올라마 공식 홈페이지에서는 obsidian-ollama 플러그인을 소개하고 있습니다. 하지만 여기서는 제가 익숙한 Text Generator 플러그인을 사용해서 올라마를 활용하는 방법을 설명하겠습니다. 추후에 기회가 되면 obsidian-ollama 플러그인 사용법도 소개해드리겠습니다.
옵시디언 Text Generator 플러그인 설치 및 설정 방법
옵시디언에서 Text Generator 플러그인을 설치합니다. 그 후, Text Generator 플러그인 설정화면에서 아래와 같이 설정을 완료합니다.
- LLM Provider: Ollama
- Model: mistral
- Base Path:
http://localhost:11434
Text Generator를 사용한 문장 생성
옵시디언에서 노트를 작성하다가 ollama를 호출할 때는 /
를 입력해 명령어 창을 불러옵니다. 그리고, "Text Generator: Generate Text!"를 선택하면 됩니다. 또는 단축키 Cmd
+ J
를 사용할 수도 있습니다
조금 기다리면 자동으로 텍스트가 생성됩니다.
Text Generator에서 프롬프트 템플릿을 활용한 고급 사용
옵시디언에서 노트를 작성하다가 /
를 입력해 명령어 창을 불러오고, "Text Generator: Templates: Generate & Insert"를 선택한 후, 미리 정의한 프롬프트 템플릿을 사용합니다.
그리고 미리 정의한 프롬프트 템플릿을 선택합니다. 아래 화면에 보이는 "설명해주세요"는 제가 미리 정의한 프롬프트 템플릿입니다.
그리고 잠시 기다리면 정의된 템플릿에 따라 텍스트가 생성됩니다.
Text Generator 프롬프트 템플릿 예시:
---
promptId: explain
name: 👼설명해주세요
tags:
- thinking
- writing
version: 0.0.1
---
다음 내용에 대해 전문적으로 설명해주세요.
```
{{tg_selection}}
```
템플릿 문법에 대한 자세한 설명은 Text Generator 플러그인 문서에서 확인하실 수 있습니다.
올라마 한국어 답변 가능성
프롬프트 템플릿에서 한국어로 대답을 요청하면 한국어로 대답이 제공됩니다. 그러나, 한국어 답변의 퀄리티는 많이 부족합니다.
일단은 영어로 답변을 받고 구글 번역기나 DeepL과 같은 번역 서비스를 이용하는 것이 더 나을 수 있습니다.
옵시디언에서 올라마를 활용하는 방법, 2번째: BMO Chatbot 플러그인
옵시디언 BMO Chatbot 플러그인은 OpenAI, Ollama, LocalAI를 연동하여 LLM와 상호 작용이 가능합니다. 그리고 열려있는 노트를 참조하여 봇과 대화가 가능합니다. 채팅UI에서 /save
명령을 사용하면 대화 내용을 저장할 수 있습니다.
옵시디언 BMO Chatbot 플러그인 설치 및 설정 방법
옵시디언에서 BMO Chatbot 플러그인을 설치합니다. 그 후, BMO Chatbot 플러그인 설정화면에서 다음과 같이 설정을 완료합니다.
- OLLAMA REST API URL:
http://localhost:11434
BMO Chatbot 사용 방법
가장 간단한 사용하는 방법은 옵시디언에서 텍스트(프롬프트)를 선택하고, 명령어 창에서 "BMO Chatbot: Prompt Select Generate"를 선택하는 것입니다. 이렇게 하면 선택한 프롬프트가 실행되고, 그 결과가 자동으로 노트에 기록됩니다.
BMO Chatbot Chat UI 사용하기
옵시디언 명령어 창에서 "BMO Chatbot: Open BMO Chat"를 선택하면 채팅UI 화면이 나타납니다.
BMO 채팅UI에서는 AI와 대화를 할 수 있습니다.
이 채팅UI에서는 다양한 명령어을 사용할 수 있습니다. 이를 통해 사용자 정의 프롬프트를 설정하거나 채팅 내용을 저장하는 등의 작업이 가능합니다. 사용 가능한 명령어에 대한 자세한 정보는 [여기]를 참조하세요.
마치며
이 글은 옵시디언 사용자들이 효과적으로 Text Generator 플러그인을 활용하는 방법을 소개하기 위해 작성되었습니다. 옵시디언과 관련된 다른 유용한 플러그인이나 기능들에 대해서도 알아보시는 것을 추천드립니다.