LLAMA-CPP 서버를 사용한 오픈 LLM 배포: 단계별 가이드
오픈 LLM을 LLAMA-CPP 서버로 배포하기: 단계별 가이드. LLAMA-CPP 서버를 설치하고 구성하여 오픈 소스 대규모 언어 모델을 제공하는 방법을 알아보세요. cURL, OpenAI 클라이언트, Python의 requests 패키지를 통해 요청을 보내는 방법을 익히세요. 로컬 및 원격 배포를 위한 최적화 방법을 알아보세요.
2025년 2월 17일

오픈 소스 대규모 언어 모델(LLM)의 힘을 발견하세요. LLAMA-CPP 서버 배포에 대한 종합 가이드를 통해 단일 LLM으로 여러 사용자를 효율적으로 서비스하고, AI 기반 애플리케이션의 성능과 접근성을 최적화하는 방법을 알아보세요.
LLAMA-CPP 설치하기
LLAMA-CPP 서버 시작하기
LLAMA-CPP 서버에 요청 보내기
LLAMA-CPP 서버 사용자 정의하기
다양한 방법으로 LLAMA-CPP 서버와 상호 작용하기
결론
LLAMA-CPP 설치하기
LLAMA-CPP 설치하기
홈브루 패키지 관리자를 사용하여 LLAMA-CPP를 설치하는 것이 가장 쉬운 방법입니다. 이는 macOS와 Linux 기계에서 네이티브로 작동합니다. Windows 기계에서 LLAMA-CPP를 설치하려면 Windows 하위 시스템 for Linux(WSL)를 사용해야 합니다.
홈브루를 사용하여 LLAMA-CPP를 설치하려면 터미널에서 다음 명령을 실행하십시오:
brew install llama-cpp
이 명령은 LLAMA-CPP 패키지를 다운로드하고 시스템에 설치합니다. 설치가 완료되면 llama-server
명령을 사용하여 LLM 모델을 제공할 수 있습니다.
LLAMA-CPP 서버 시작하기
LLAMA-CPP 서버 시작하기
LLAMA-CPP 서버를 시작하려면 다음 단계를 따르십시오:
-
홈브루 패키지 관리자를 사용하여 LLAMA-CPP를 설치합니다:
brew install llama.cpp
이 명령은 Mac 또는 Linux 기계에 LLAMA-CPP를 설치합니다. Windows 사용자의 경우 WSL(Windows 하위 시스템 for Linux)을 사용하여 LLAMA-CPP를 설치해야 합니다.
-
다음 명령을 실행하여 LLAMA-CPP 서버를 시작합니다:
llama-server --model <hugging-face-repo-id> --model-file <quantization-file>
<hugging-face-repo-id>
를 제공하려는 모델의 Hugging Face 리포지토리 ID로 바꾸고,<quantization-file>
을 사용하려는 특정 양자화 파일로 바꾸십시오(예: GGML 형식의 4비트 양자화된 버전). -
LLAMA-CPP 서버는 기본적으로
localhost:8080
에서 수신 요청을 수신하기 시작합니다.--host
및--port
와 같은 사용 가능한 옵션을 사용하여 호스트 주소와 포트를 사용자 지정할 수 있습니다. -
서버는 최대 컨텍스트 창, 배치 크기 등 다양한 구성 옵션을 지원합니다.
llama-server --help
를 실행하여 이러한 옵션을 탐색할 수 있습니다. -
서버가 실행되면 cURL, OpenAI 클라이언트 또는 Python
requests
패키지와 같은 다양한 방법을 사용하여 상호 작용할 수 있습니다.
LLAMA-CPP 서버에 요청 보내기
LLAMA-CPP 서버에 요청 보내기
LLAMA-CPP 서버와 상호 작용하고 서비스된 모델에 요청을 보내는 여러 가지 방법이 있습니다:
-
cURL 명령 사용:
curl -X POST -H "Content-Type: application/json" -d '{"prompt": "Hello, how are you?", "max_tokens": 50}' http://localhost:8080/v1/chat/completions
이렇게 하면 로컬 호스트의 포트 8080에서 실행 중인 채팅 완성 엔드포인트에 POST 요청이 전송됩니다.
-
OpenAI 클라이언트 사용:
import openai openai.api_base = "http://localhost:8080/v1" openai.Model.list() response = openai.ChatCompletion.create( model="chat-gpt-3.5", messages=[ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "Hello, how are you?"} ] ) print(response.choices[0].message.content)
이는 OpenAI 클라이언트를 사용하여 LLAMA-CPP 서버와 상호 작용하며, OpenAI API와 호환됩니다.
-
Python Requests 패키지 사용:
import requests url = "http://localhost:8080/v1/chat/completions" headers = {"Content-Type": "application/json"} data = { "prompt": "Hello, how are you?", "max_tokens": 50 } response = requests.post(url, headers=headers, json=data) print(response.json())
이는 Python Requests 패키지를 사용하여 채팅 완성 엔드포인트에 POST 요청을 보냅니다.
LLAMA-CPP 서버 사용자 정의하기
LLAMA-CPP 서버 사용자 정의하기
LLAMA-CPP는 LLM 배포의 동작을 미세 조정할 수 있는 highly customizable 서버를 제공합니다. 다음은 구성할 수 있는 주요 옵션입니다:
-
최대 컨텍스트 창: LLM의 최대 컨텍스트 창 크기를 정의할 수 있습니다. 이는 모델이 처리할 수 있는 입력 시퀀스의 최대 길이를 결정합니다.
-
배치 크기: LLAMA-CPP는 프롬프트 배치를 지원하여 동시에 여러 입력을 처리할 수 있습니다. 성능을 최적화하기 위해 배치 크기를 구성할 수 있습니다.
-
호스트 주소: 기본적으로 LLAMA-CPP 서버는
localhost
에서 수신 대기하지만, 다른 기계에서 접근할 수 있도록 호스트 주소를 변경할 수 있습니다. -
포트: 서버는 기본적으로 포트
8080
에서 수신 대기하지만, 필요에 따라 다른 포트를 지정할 수 있습니다. -
모델 경로: LLAMA-CPP를 사용하면 LLM 모델 파일을 로드하는 경로를 사용자 지정할 수 있어 모델 자산을 구성하는 방식에 유연성을 제공합니다.
-
임베딩 모델: 언어 모델 외에도 LLAMA-CPP는 임베딩 모델을 제공할 수 있어 텍스트 생성과 텍스트 인코딩 기능을 모두 애플리케이션에 통합할 수 있습니다.
-
메트릭 추적: LLAMA-CPP 서버는 요청 대기 시간 및 처리량과 같은 다양한 메트릭을 추적할 수 있어 배포 성능을 모니터링하고 최적화할 수 있습니다.
다양한 방법으로 LLAMA-CPP 서버와 상호 작용하기
다양한 방법으로 LLAMA-CPP 서버와 상호 작용하기
LLAMA-CPP 서버와 상호 작용하는 다양한 방법:
-
cURL 명령 사용:
localhost
에서 실행 중인채팅 완성
엔드포인트에 POST 요청을 보냅니다.- 필요한 헤더와 프롬프트 및 생성할 토큰 수를 포함하는 데이터 객체를 제공합니다.
- 응답에는 생성된 텍스트와 온도, top-P, top-K, 예상 초당 토큰 등 생성 프로세스에 대한 정보가 포함됩니다.
-
OpenAI 클라이언트 사용:
- LLAMA-CPP 서버의 URL을 기반으로 OpenAI 클라이언트를 생성합니다.
- 채팅 완성 엔드포인트 클라이언트를 사용하고 모델 이름(예:
chat-gpt-3.5
)을 제공합니다. - 시스템 프롬프트와 사용자 프롬프트를 설정한 다음 서버에 요청을 보냅니다.
- 응답은 OpenAI API와 동일한 형식으로 반환됩니다.
-
Requests 패키지(Python) 사용:
- POST 요청에 대한 URL과 헤더를 정의합니다.
- 여러 다른 메시지를 서버에 전달하고 서버가 요청을 동시에 처리하는 방식을 관찰합니다.
- 서버는 요청을 대기열에 넣고 하나씩 처리하므로 과부하되지 않습니다.
결론
결론
이 비디오에서는 오픈 소스 대규모 언어 모델을 제공하는 강력한 오픈 소스 프로젝트인 LlamaCPP의 설치 및 사용을 탐구했습니다. 로컬 머신에 LlamaCPP를 설치하고 서버를 시작하며 cURL, OpenAI 클라이언트, Python requests 패키지 등 다양한 방법으로 상호 작용하는 방법을 배웠습니다.
또한 최대 컨텍스트 창, 배치 크기, 호스트 주소 등 LlamaCPP에서 사용할 수 있는 다양한 구성 옵션에 대해 논의했습니다. 또한 메트릭 추적 기능을 통해 LlamaCPP가 프로덕션 환경에 적합한 선택이 될 수 있음을 확인했습니다.
마지막으로 Rasa 프레임워크와 같은 LlamaCPP의 실용적인 응용 프로그램에 대해 언급했으며, 관련 코스에 대한 링크를 비디오 설명에 제공했습니다.
전반적으로 이 비디오는 LlamaCPP와 그 기능에 대한 포괄적인 소개를 제공하여 로컬 머신 또는 프로덕션 환경에서 오픈 소스 대규모 언어 모델을 제공하기 시작할 수 있는 지식을 갖추게 해줍니다.
자주하는 질문
자주하는 질문