개요
프로젝트를 진행하던 도중 대량의 리뷰 정보에서 유용한 정보를 추출하는 작업을 진행해야 했습니다.
처음에는 OpenAI API를 활용했는데 리뷰 정보가 굉장히 많다 보니 생각보다 많은 비용이 발생했습니다.
프롬프트가 복잡하다보니 하나의 리뷰를 처리하는데 1,000 토큰이 소요되었고 하나의 식당에 1,000개의 리뷰가 달려있어 한 식당의 리뷰를 분석하는데만 1,000,000 토큰이 필요했습니다.
가장 API 비용이 저렴한 gpt-40-mini의 1,000,000 토큰에 대한 비용은 0.15달러로 대략 200원 정도가 소모됩니다.

저희가 분석할 식당은 대략 200개, 각 식당마다 리뷰가 1,000개씩 달려있다고 가정하면 약 4만원 정도의 비용이 발생합니다.
프로덕션 환경에 올리기 전 로컬에서 테스트하기 위해 4만원 정도의 비용이 약간 부담이 되었고 다른 방법을 생각해보다가 집에 RTX 3050 TI 내장 그래픽 카드가 장착된 게이밍 노트북 하나가 놀고 있는 것을 발견했습니다.

메모리도 16GB 정도를 가지고 있었기 때문에 작은 사이즈의 로컬 LLM 정도는 실행할 수 있을 것이라고 생각했습니다.
그래서 이 노트북에 로컬 LLM인 Ollama를 설치하고 API 서버를 열고 리뷰 분석을 시켜 비용을 절약해보려고 합니다.
- 로컬 LLM API 서버 실행
- 같은 와이파이에 연결된 다른 기기에서 접근 허용
Windows에 Ollama 설치하기
ollama.com/download에서 Windows 버전을 다운로드합니다.
명령어를 통해 ollama가 잘 설치되었는지 확인합니다.
ollama --version
ollama version is 0.9.5
설치가 되었다면 사용할 모델을 설치합니다.
터미널을 열고 Ollama 서버를 실행할 PC의 하드웨어 스펙을 고려해서 설치합니다.
저는 llama3:8b 모델을 설치했습니다.
ollama pull llama3:8b
Ollama 서버 실행하기
터미널을 열고 아래 명령어를 입력합니다.
ollama serve
만약 아래와 같은 오류가 발생한다면:
Error: listen tcp 127.0.0.1:11434: bind: Only one usage of each socket address
(protocol/network address/port) is normally permitted.
이미 Ollama가 11434 포트에서 백그라운드로 실행 중이라는 뜻입니다.
처음에 Ollama를 설치하고 실행을 했다면 이러한 에러가 발생할 수 있습니다.
우선 Ollama를 종료해야 합니다.
- 작업 관리자에서 종료
- Ctrl + Shift + Esc로 작업 관리자 실행
- "세부 정보" 탭에서 ollama.exe 프로세스 찾기
- 우클릭 → "작업 끝내기"
- 시스템 트레이 확인
- 우측 하단 시스템 트레이에서 Ollama 아이콘 우클릭
- "Quit Ollama" 선택

외부 접속을 위한 OLLAMA_HOST 설정
기본적으로 Ollama는 127.0.0.1 (localhost)에서만 접속 가능합니다.
즉, 노트북에서 Ollama를 실행했다면 노트북에서만 접근이 가능합니다.
하지만 저는 같은 와이파이에 연결된 PC에서 노트북의 Ollama 서버에 접근할 수 있어야 합니다.
우선 127.0.0.1이 아닌 모든 ip 주소에서 접근할 수 있도록 환경 변수를 설정합니다.
방법 1: 임시 설정 (PowerShell)
# 환경변수 설정
$env:OLLAMA_HOST="0.0.0.0"
# Ollama 서버 실행
ollama serve
방법 2: 시스템 환경변수 설정 (영구 적용)
- Windows 키 + R → sysdm.cpl 입력
- "고급" 탭 → "환경 변수" 클릭
- "시스템 변수"에서 "새로 만들기" 클릭
- 변수 이름: OLLAMA_HOST
- 변수 값: 0.0.0.0
- 확인 → 확인
설정 후 PowerShell을 새로 열어서
# 환경변수 확인
echo $env:OLLAMA_HOST
# Ollama 실행
ollama serve
Windows 방화벽 설정
외부에서 접속하려면 11434 포트를 방화벽에서 허용해야 합니다.
방화벽을 검색해서 Windows Defender 방화벽을 엽니다.

인바운드 규칙 -> 새 규칙을 클릭합니다.

포트를 선택합니다.

TCP를 선택하고 ollama의 default 포트인 11434 포트를 열어줍니다.


연결 허용을 선택합니다.

개인을 선택합니다.

인바운드 규칙 이름을 설정합니다.
나중에 알아보기 쉽게 "ollama server"라고 작성했습니다.
이렇게 열어둔 포트가 보안 상 문제가 발생할 수 있기 때문에 Ollma API server를 더이상 쓰지 않는다면 삭제하는 것을 추천드립니다!
다른 기기에서 API 테스트
1단계: 서버 PC의 IP 주소 확인
Windows PowerShell에서 ipconfig 명령어로 ip 주소를 확인해줍니다.
ipconfig
저는 Wi-Fi를 사용하기 때문에 무선 LAN 어댑터 Wi-Fi 항목의 IPv4 주소를 확인합니다.
무선 LAN 어댑터 Wi-Fi:
연결별 DNS 접미사. . . . :
링크-로컬 IPv6 주소 . . . . : fe80::c173:da0b:4604:eb1d%16
IPv4 주소 . . . . . . . . . : 192.168.219.109
서브넷 마스크 . . . . . . . : 255.255.255.0
기본 게이트웨이 . . . . . . : 192.168.219.1
저의 경우 192.168.219.109가 나오네요.
이는 개인 환경마다 다르기 때문에 직접 확인을 해보아야 합니다.
2단계: 다른 기기에서 연결 테스트
curl 명령어를 통해 다른 기기에서 API 테스트를 해봅시다.
# API 상태 확인
curl http://192.168.219.109:11434/api/tags
아래와 같이 ollama 정보가 반환된다면 성공적으로 연결이 되는 것입니다.
{
"models": [
{
"name": "llama3:8b",
"model": "llama3:8b",
"modified_at": "2025-07-06T14:17:32.5688692+09:00",
"size": 4661224676,
"digest": "365c0bd3c000a25d28ddbf732fe1c6add414de7275464c4e4d1c3b5fcb5d8ad1",
"details": {
"parent_model": "",
"format": "gguf",
"family": "llama",
"families": [
"llama"
],
"parameter_size": "8.0B",
"quantization_level": "Q4_0"
}
}
]
}
연결이 되었다면 POST 요청으로 자연어 응답이 잘 생성되는지 확인합니다.
curl -X POST http://192.168.219.109:11434/api/generate \
-H "Content-Type: application/json" \
-d '{
"model": "llama3:8b",
"prompt": "Ollma에 대해 간단하게 설명해주세요.",
"stream": false
}'
굉장히 긴 JSON 형식의 응답을 볼 수 있을 텐데 그 중 response가 Ollama가 생성한 자연어 응답입니다!
😊
올마(Ollma)는 스위스 공학 기업으로, 2018년에 설립되었습니다. 올마는 3D 프린팅 기술을 활용하여 다양한 산업에 적용할 수 있는 로봇과 드론 등을 개발하고 있습니다.
올마의 주요 특징은 다음과 같습니다.
*3D 프린팅 기반의 로봇 개발: 올마는 3D 프린팅 기술을 사용하여 강화 플라스틱, 메탈, 카본 등 다양한 소재를 사용할 수 있는 로봇을 개발하고 있습니다.
* 인공지능(AI)와机器학습(Machine Learning)을 적용: 올마는 AI와 Machine Learning 기술을 적용하여 로봇이 인간과 같은 의사소통을 하게 만들고 있습니다.
* 드론 개발: 올마는 3D 프린팅 기술을 사용하여 강화 드론을 개발하고 있습니다.
올마의 목표는 세계를 변화시키는 새로운 가능성을 찾는 것입니다. 이를 위해 올마는 다양한 산업에 적용할 수 있는 로봇과 드론 등을 개발하고 있습니다.
잘 생성된다면 이제 노트북에서 실행 중인 Ollama API 서버에 접근할 수 있습니다!
저는 이제 리뷰 데이터를 바탕으로 식당에 대한 유용한 정보를 JSON 형태로 뽑아달라는 프롬프트를 작성해보았습니다.
아쉽지만 llama3:8b 모델의 응답 성능이 OpenAI API에 비해서는 크게 좋지는 않은 것 같습니다. 😢
- 분위기: 좋고 쾌적
- 서비스: 없음
- 음식: 깔끔하고 맛있
- 공간: 없음
- 동행자: 없음
- 모임목적: 없음
- 분위기: 너무 좋구
- 서비스: 친절한
- 음식: 양도 어마어마하고 맛도 너무 좋아서
- 공간: 없음
- 동행자: 친구
- 모임목적: 없음
- 분위기: 없음
- 서비스: 없음
- 음식: 신선하고 크기도 커요, 맛있는
- 공간: 없음
- 동행자: 없음
- 모임목적: 회도
마무리
이렇게 오늘은 Ollama API 서버를 띄우고 외부 기기가 접속할 수 있도록 설정을 해보았습니다.
하드웨어 스펙이 좋으신 분들은 더 좋은 모델을 설치해서 응답의 질을 높일 수 있을 것 같네요.
로컬 LLM API 서버를 띄우고 싶어하시는 분들께 도움이 되었으면 좋겠습니다!
긴 글 읽어주셔서 감사합니다!