사이드 프로젝트를 진행하면서 OpenAI의 ChatGPT를 사용해보려고 했는데, 유료라서 뭔가 아깝다고 생각이 들었습니다. 그래서 대신 Facebook에서 만든 LLAMA3를 써보기로 했습니다.
LLAMA3는 오픈 소스 프로젝트라서 무료로 사용할 수 있고, 다양한 파인 튜닝등 여러가지를 공부하고 재미있는 사이드 프로젝트를 하기 위해 설치를 결심했습니다! MAC에 용량이 128GB라 아주 소중한 용량인데 말이죠! 이번 포스팅에서는 LLAMA3를 Mac M1에 설치하는 방법과 API로 LLAMA3를 호출하는 방법에 대해 간단하게 설명해보겠습니다.
LLAMA3는 Facebook에서 개발한 최신 언어 모델로, GPT-3 같은 대규모 언어 모델이에요. LLAMA3는 자연어 처리의 다양한 문제를 해결할 수 있는 강력한 성능을 자랑합니다. 대화형 AI, 텍스트 생성, 번역, 요약 등 다양한 용도로 사용할 수 있습니다.
LLAMA3는 다양한 분야에서 활용될 수 있습니다. 다음은 몇 가지 예시입니다:
LLAMA3를 설치하려면 다음이 필요해요:
Ollama는 다양한 언어 모델을 관리할 수 있는 도구입니다. Homebrew로 Ollama를 설치해보세요:
brew install ollama
터미널에서 Ollama를 사용해 LLAMA3를 설치 합니다.
ollama install llama3
설치가 완료되면 LLAMA3를 사용할 준비가 끝났습니다!
먼저, LLAMA3로 텍스트를 생성하는 간단한 예제부터 시작해볼게요:
oollama run llama3:8b
이 명령어로 LLAMA3의 텍스트 생성 기능을 쉽게 사용할 수 있어요.
LLAMA3는 API를 통해서도 사용할 수 있습니다. 다음은 LLAMA3 API를 호출하는 예제입니다:
const axios = require('axios');
const fs = require('fs');
const {PassThrough} = require('stream');
require('dotenv').config();
const model = 'llama3:8b';
const askPath = `${process.env.LLAMA3_8B_URL}/api/generate`;
const send = async (prompt) => {
try {
return await axios.post(askPath, {
model: model,
prompt: prompt,
stream: false
});
} catch (error) {
console.error('Error occurred:', error.message);
}
};
const sendStream = async (prompt) => {
try {
const response = await axios({
method: 'post',
url: askPath,
data: {
model: model,
prompt: prompt,
stream: true
},
responseType: 'stream'
});
const passThrough = new PassThrough();
response.data.pipe(passThrough);
// Optionally, write the stream to a file
const writeStream = fs.createWriteStream('output.txt');
passThrough.pipe(writeStream);
// Also log each chunk to the console
passThrough.on('data', (chunk) => {
console.log('Received chunk:', chunk.toString());
});
passThrough.on('end', () => {
console.log('Stream ended.');
});
passThrough.on('error', (error) => {
console.error('Error in stream:', error);
});
} catch (error) {
console.error('Error occurred:', error.message);
}
};
module.exports = {send, sendStream};
이 코드를 apiCall.js
파일로 저장하고 실행하면 통신 되는것을 확인할 수 있다.
node apiCall.js
andrewlim@Andrews-Mini ~ % curl http://localhost:11434/api/generate -d '{
"model": "llama3:8b",
"prompt": "Why is the sky blue?",
"stream": false
}'
위 stream을 true
로 할 경우에는 RestAPI가 아닌 StreamAPI를 사용해서 호출 됩니다. Chat GPT에서 채팅하는걸 라이브로 보여지는것 처럼 말이죠!
이렇게 너무 간단합니다! 설치 하는데 10분이 안걸렸던것 같네요. LLAMA3는 강력한 기능을 제공하는 최신의 대규모 언어 모델입니다. Mac M1에 Ollama를 사용해 설치하고, 다양한 사이드 프로젝트에 활용할 수 있습니다. API를 통해 쉽게 통합할 수도 있습니다.
이제 비로서 제 컴퓨터도 저랑 대화를 하게 되었습니다!
Happy Coding! 🚀
이 포스팅이 LLAMA3를 이해하고 사용하는 데 도움이 되길 바랍니다. 언제나 그렇듯, 새로운 기술을 탐구하는 과정에서 즐거움을 찾으시길 바랍니다! 😄