이 가이드에서는 로컬 컴퓨터에서 LLM(대형 언어 모델)을 실행하고 자신만의 LLM을 만드는 방법을 알아봅니다. 또한 Node.js의 ollama-js 라이브러리를 사용하여 사용자 정의 모델용 API를 생성하는 방법도 다룰 것입니다.
Ollama는 단순성과 GPU를 많이 사용하지 않는 시스템과의 호환성으로 인해 로컬에서 LLM을 실행하는 데 이상적인 선택입니다. 공식 웹사이트에서 Ollama를 설치하여 시작하세요:
올라마 공식 사이트
Ollama를 설치한 후 사용 가능한 다양한 LLM 모델 중에서 선택할 수 있습니다. GitHub 저장소에서 사용 가능한 모델 목록을 찾을 수 있습니다.
Ollama GitHub 저장소
모델을 로컬에서 실행하려면 터미널에서 다음 명령을 사용하세요. Ollama가 모델을 로컬로 다운로드하고 저장하므로 첫 번째 실행은 더 오래 걸릴 수 있습니다. 모델이 로컬에서 액세스되므로 후속 실행이 더 빨라집니다.
ollama run {model_name}
맞춤형 LLM을 만들려면 모델 파일을 만들어야 합니다. 다음은 모델을 정의하는 방법의 예입니다.
FROM <name_of_your_downloaded_model> # Define your parameters here PARAMETER temperature 0.5 SYSTEM """ You are an English teaching assistant named Mr. Kamal Kishor. You help with note-making, solving English grammar assignments, and reading comprehensions. """
모델 파일로 저장하세요. 이 파일에서 모델을 생성하려면 터미널에서 다음 명령을 실행하세요.
ollama create mrkamalkishor -f ./modelfile
모델을 생성한 후 다음을 사용하여 로컬에서 상호 작용할 수 있습니다.
ollama run mrkamalkishor
이 단계에서는 ollama-js 라이브러리를 사용하여 Node.js에서 API를 생성하겠습니다.
npm install ollama
import express from 'express'; import ollama from 'ollama'; const app = express(); const router = express.Router(); app.use(express.json()); router.post('/ask-query', async (req, res) => { const { query } = req.body; try { const response = await ollama.chat({ model: 'mrkamalkishor', messages: [{ role: 'user', content: query }], }); res.json({ reply: response.message.content }); } catch (error) { res.status(500).send({ error: 'Error interacting with the model' }); } }); app.use('/api', router); const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`Server is running on port ${PORT}`); });
이 코드는 사용자 정의 모델과 상호 작용할 엔드포인트가 있는 Express.js 서버를 설정합니다. 사용자 쿼리가 포함된 JSON 본문을 사용하여 /ask-query에 대한 POST 요청이 이루어지면 서버는 모델의 출력으로 응답합니다.
이 단계에 따라 Ollama를 설치하고, 로컬에서 LLM을 선택 및 실행하고, 사용자 정의 LLM을 생성하고, 상호 작용할 Node.js API를 설정할 수 있습니다. 이 설정을 사용하면 GPU 집약적인 하드웨어 없이도 로컬 컴퓨터에서 강력한 언어 모델을 활용할 수 있습니다.
위 내용은 Ollama를 사용하여 Node.js API를 사용하여 로컬에서 자체 LLM 실행 및 생성의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!