Skip to content
This page has been auto-translated and may contain errors.View in English

오픈소스 모델 프로젝트를 로컬에서 실행하기

이 페이지를 사용하여 추출한 오픈소스 모델 프로젝트 중 하나를 실행할 수 있습니다. 하나는 브라우저에 Transformers.js 모델을 로드하고, 다른 하나는 컴퓨터의 Ollama를 호출하는 Express 서버를 실행합니다. 어떤 프로젝트가 있는지 확인한 다음, 해당 설정만 따르세요.

먼저 필요한 것들

지원되는 LTS 버전의 Node.js를 설치하세요. Node 24를 권장하며 npm이 포함되어 있습니다. Node와 npm이 처음이라면 코드를 로컬에서 실행하기에서 설치 및 확인 방법을 안내합니다.

Transformers.js 프로젝트는 현재 버전의 브라우저, 첫 라이브러리와 모델 다운로드를 위한 인터넷 연결, 모델을 위한 충분한 브라우저 저장소와 메모리가 필요합니다. API 키는 필요하지 않습니다.

Ollama 프로젝트는 Ollamamistral 모델을 위한 충분한 디스크 공간 및 메모리, 그리고 실행 중인 로컬 Ollama 서비스가 필요합니다. 제공자 계정이나 API 키는 필요하지 않습니다.

Juno먼저 필요한 것들 Node.js LTS를 먼저 설치한 다음 두 가지 중 선택하세요. Transformers.js는 현재 브라우저와 인터넷 연결이 필요하고, Ollama 강의는 실행 중인 Ollama 앱이 필요합니다. 둘 다 API 키를 요구하지 않는데, 처음 설정했을 때는 정말 그럴 리가 없다고 생각했습니다. 하지만 진짜 필요 없습니다!
Juno먼저 필요한 것들 두 프로젝트 모두 자신의 하드웨어에서 모델을 실행하므로 제공자 키를 설정할 필요가 없습니다. Transformers.js는 모델을 브라우저 탭으로 가져오고, Ollama 강의는 서버가 Ollama에 접근하기 전에 별도의 Ollama 서비스를 설치하고 실행해야 합니다. npm이 두 설정을 모두 처리하므로 어느 쪽이든 Node LTS를 설치하세요.
Juno먼저 필요한 것들 두 가지 로컬 컴퓨팅 경로, 두 가지 리소스 예산입니다. 브라우저 경로는 원격 라이브러리 및 모델 자산과 브라우저 캐시, 저장소, 메모리를 활용하고, Ollama 경로는 네이티브 서비스, 다운로드된 가중치, 추론을 위한 충분한 머신 여유 공간이 필요합니다. 강의 전에 하드웨어를 확인하세요. 이것은 모델을 보관할 수 없는 노트북에 로드한 후 배운 습관입니다.

추출한 프로젝트 확인하기

package.json이 있는 추출한 폴더에서 터미널을 열세요:

bash
$ cd path-to-your-downloaded-project

폴더 이름이 어떤 강의를 추출했는지 말해주지 않으면 index.js를 여세요. express import는 아래의 패키지 수정이 필요한 Ollama 강의를 의미하고, Transformers.js import는 그대로 실행되는 브라우저 앱을 의미합니다.

Juno추출한 프로젝트 확인하기package.json 옆에서 터미널을 열세요. 요리를 시작하기 전에 주방에 서 있는 것처럼요. 브라우저 모델 프로젝트는 Transformers.js 섹션을 따르고, Express 서버는 Ollama 섹션을 따릅니다. 저는 한 번 전체 설정을 한 폴더 위에서 실행했던 적이 있으니 먼저 어디에 있는지 확인하세요.
Juno추출한 프로젝트 확인하기 두 다운로드는 외형상 비슷하지만 실행 방식이 다릅니다. 브라우저 모델 프로젝트는 Vite로 시작하고, Ollama 프로젝트는 별도의 Ollama 서비스도 필요한 Node 서버입니다. 자신에게 맞는 섹션을 선택하고 그것만 따르세요. 설정 단계는 섞이지 않습니다.
Juno추출한 프로젝트 확인하기 폴더 이름이 아닌 증거로 프로젝트를 식별하세요. index.js를 열어 보면 됩니다. express import는 Ollama 강의와 아래의 패키지 수정을 의미하고, Transformers.js import는 Vite 브라우저 앱이 그대로 실행됨을 의미합니다. 저는 정확히 한 번 그 확인을 건너뛰었는데, 한 번이면 충분했습니다.

Transformers.js 프로젝트 실행하기

Transformers.js를 사용한 브라우저 기반 AI 모델 강의에 이 지침을 사용하세요. 이 프로젝트는 Vite를 위해 Node와 npm이 필요합니다.

설치하고 시작하세요:

bash
$ npm install
$ npm start

Vite가 출력하는 Local URL을 열어 보세요. 보통 http://localhost:5173/입니다. 페이지는 먼저 jsDelivr에서 Transformers.js를 가져온 다음 Xenova/yolos-tiny 객체 감지 모델을 다운로드합니다. 상태가 **Loading model...**에서 Ready로 변할 때까지 기다렸다가 Detect Objects를 선택하세요.

첫 번째 로드는 인터넷 연결이 필요하고 일반 프론트엔드 페이지보다 오래 걸릴 수 있습니다. 이후 로드는 브라우저 캐시에서 가져옵니다. 상태가 Ready에 도달하지 않으면 DevTools Network 탭을 열어 보세요. 차단된 jsDelivr 요청은 CDN이나 콘텐츠 차단 문제를 나타내고, 천천히 커지는 모델 파일은 가중치 다운로드가 진행 중임을 의미합니다. Ctrl+C로 Vite를 중지하세요.

제공자 자격증명이 필요하지 않습니다

모델은 호스팅 추론 API를 통하지 않고 브라우저에서 실행됩니다. 이 강의에서 설정할 .env 파일이나 API 키가 없습니다.

JunoTransformers.js 프로젝트 실행하기npm install을 실행한 다음 npm start를 실행하고, Local URL을 열어 상태가 Ready에 도달할 때까지 기다린 후 무엇이든 선택하세요. 첫 번째 모델 다운로드는 이사하는 것과 같습니다. 한 번은 느리지만 끝입니다. 저는 항상 일찍 클릭하고 뭔가 깨뜨린 줄 알곤 했으니 시간을 가지세요.
JunoTransformers.js 프로젝트 실행하기 순서대로 세 가지가 로드됩니다. Vite가 페이지를 제공하고, jsDelivr가 라이브러리를 제공하고, 모델 가중치가 브라우저로 다운로드되어 거기서 실행됩니다. 첫 번째 로드는 네트워크에 의존하므로 느린 상태는 보통 버그가 아니라 진행 중인 다운로드를 의미합니다. Ready를 기다렸다가 감지하세요.
JunoTransformers.js 프로젝트 실행하기 첫 번째 로드는 네트워크에 의존하고, 그 이후의 모든 로드는 브라우저 캐시에서 나옵니다. Ready가 절대 나타나지 않으면 DevTools Network 탭이 문제를 해결합니다. 차단된 jsDelivr 요청은 CDN이나 콘텐츠 차단 문제이고, 천천히 진행되는 모델 파일은 가중치 정체입니다. 모델을 탓하기 전에 그 탭을 확인합니다. 한 번은 저를 한 시간을 낭비하게 했던 교훈입니다.

Ollama 프로젝트 수정 및 실행하기

컴퓨터에서 AI 모델 다운로드 및 실행(Ollama 사용) 강의에 이 지침을 사용하세요. 내보낸 ZIP에는 강의의 Node 코드가 포함되어 있지만, 생성된 package.json은 여전히 Vite 프로젝트를 설명합니다. 작은 패키지 수정 없이는 로컬에서 실행할 수 없습니다.

Ollama를 설치한 후 로컬 서비스가 실행 중인지 확인하세요. 강의 코드에서 지정한 모델을 다운로드하세요:

bash
$ ollama pull mistral
$ ollama ls

두 번째 명령은 mistral을 나열해야 합니다. 운영 체제에 따라 Ollama 애플리케이션을 열면 서비스가 자동으로 시작됩니다. 그렇지 않으면 별도의 터미널에서 ollama serve를 실행하고 실행 상태로 두세요.

추출한 프로젝트에서 package.json"type": "module"을 최상위 속성으로 추가하세요. "scripts"와 형제 관계입니다:

json
{
  "type": "module",
  "scripts": {
    "start": "vite"
  }
}

그 다음 시작 스크립트를 다음에서:

json
"start": "vite"

다음으로 변경하세요:

json
"start": "node index.js"

index.js에서 가져온 두 가지 의존성을 설치하세요:

bash
$ npm install express ollama
$ npm start

서버는 다음을 출력합니다:

text
Server is running on port 3000

모델을 호출하지 않고 라우트를 테스트하세요:

text
http://localhost:3000/

question 매개변수를 제공하라고 요청합니다. 그 다음 실제 로컬 모델 요청을 시도하세요:

text
http://localhost:3000/?question=Why%20is%20the%20sky%20blue%3F

Express 서버는 Ollama가 모델을 로드하고 회신을 생성할 때까지 대기합니다. 첫 번째 응답은 눈에 띄게 느릴 수 있습니다. Ctrl+C로 Express를 중지하세요. 더 이상 필요하지 않으면 Ctrl+C로 별도로 시작한 ollama serve 프로세스를 중지하세요.

두 프로젝트 모두에 제공자 API 키나 .env 파일이 필요하지 않습니다. 모델 가중치와 추론은 Ollama를 실행하는 머신에 남아 있습니다. 강의의 호스팅 모델 프로젝트는 다르게 작동합니다. 에이전트를 로컬에서 실행하기에서 필요한 키와 .env 설정을 보여줍니다.

JunoOllama 프로젝트 수정 및 실행하기mistral 모델을 가져오고, Ollama를 계속 실행하고, package.json을 수정하세요. 모듈 타입을 추가하고 시작 스크립트를 node index.js로 지정하세요. expressollama를 설치하고, 서버를 시작하고, 포트 3000에서 질문을 제기하세요. 느린 첫 번째 답변은 모델이 로드 중이라는 뜻이지, 뭔가 깨진 것이 아닙니다. 처음에 누군가 이렇게 말해 줬으면 좋았을 텐데요.
JunoOllama 프로젝트 수정 및 실행하기 두 프로세스가 여기서 협력합니다. Ollama는 모델을 제공하고 Express는 강의 라우트를 노출합니다. ZIP은 Vite 패키지 메타데이터를 가지고 배송되므로 모듈 타입을 추가하고 Node 진입점과 일치하도록 시작 스크립트를 다시 지정한 다음 두 개의 import를 설치하세요. 요청이 정지되면 두 프로세스 중 어느 것이 중지되었는지 확인하세요.
JunoOllama 프로젝트 수정 및 실행하기 export가 잘못된 종류의 앱을 설명하므로 패키지 수정은 광택이 아니라 수정입니다. ESM 모듈 타입과 Node 시작 스크립트입니다. 수정되었더라도 Express는 Ollama가 별도로 mistral을 이미 가져온 상태로 실행될 때만 응답합니다. 서버는 모델 서비스를 시작하지 않습니다. 가중치가 로드되는 동안 첫 번째 추론이 느릴 것으로 예상하세요.

문제 해결

Transformers.js 페이지가 Loading model...에 머물러 있습니다: 브라우저 콘솔과 네트워크 연결을 확인하세요. 콘텐츠 차단기나 제한된 네트워크가 jsDelivr 또는 모델 다운로드를 차단할 수 있습니다. 충분한 여유 저장소와 메모리가 있는 현재 브라우저를 시도해 보세요.

Ollama 프로젝트에서 Cannot find package 'express' 또는 'ollama'라고 말합니다: package.json이 있는 폴더에서 npm install express ollama를 실행하세요.

Node가 Cannot use import statement outside a module이라고 말합니다: package.json"type": "module"을 추가하세요.

npm start가 Vite를 시작하거나 누락된 index.html에 대해 불평합니다: 시작 스크립트를 node index.js로 변경하세요. Ollama 강의는 Vite 페이지가 아니라 Node 서버입니다.

라우트가 Ollama에 연결할 수 없습니다: Ollama 애플리케이션 또는 ollama serve가 실행 중인지 확인한 다음 ollama ls를 사용하여 mistral 모델이 설치되었는지 확인하세요.

포트 3000이 이미 사용 중입니다: 다른 프로세스를 중지하거나 index.jsport 상수를 변경하고, Express를 다시 시작한 다음 일치하는 URL을 열어 보세요.

Juno문제 해결 프로젝트에 맞게 수정을 맞추세요. Transformers.js의 경우 브라우저의 네트워크 활동과 콘솔을 살펴보고, Ollama의 경우 패키지 수정, 설치된 모델, 실행 중인 서비스, 포트를 확인하세요. 여기서 나오는 대부분의 오류는 깨진 컴퓨터가 아니라 한 가지 놓친 단계에서 비롯됩니다. 저는 한 번 오타로 인해 Node를 다시 설치했던 사람으로서 이 말씀을 드립니다.
Juno문제 해결 뭔가 변경하기 전에 어느 런타임이 실패했는지 파악하세요. Vite와 브라우저 자산은 Transformers.js 프로젝트에 속하고, Node, Express, Ollama 서비스는 다른 것에 속합니다. 어느 세계를 명시하는지 오류를 읽고 그 프로젝트의 체크리스트를 실행하세요. 잘못된 프로젝트에 적용된 수정은 대부분 새로운 오류를 만듭니다.
Juno문제 해결 Transformers.js의 경우 오류는 다운로드나 브라우저 메모리에 있습니다. Ollama의 경우 순서대로 체인을 따라가세요. Node는 모듈 구문을 허용하고, Express는 포트 3000을 소유하고, 서비스가 실행 중이고, mistralollama ls에 나타납니다. 나중 증상은 종종 초기 손상이 변장을 하고 있습니다.