Second State에서 개발한 스크립트 run-llm.sh
는 CLI 및 OpenAI 호환 API 서버를 사용하여 로컬 장치에서 오픈 소스 LLM(대형 언어 모델)을 빠르게 실행할 수 있는 명령줄 도구입니다. 이 명령줄 애플리케이션은 추론을 위해 WasmEdge 런타임, 모델 파일 및 휴대용 Wasm 애플리케이션을 자동으로 다운로드하고 설치합니다. 사용자는 명령줄 프롬프트를 따르고 원하는 옵션을 선택하기만 하면 됩니다.
run-llm.sh 실행
bash <(curl -sSfL 'https://code.flows.network/webhook/iwYN1SdN3AmPgR5ao5Gt/run-llm.sh')
메시지에 따라 WasmEdge Runtime을 설치하고 원하는 오픈 소스 대형 모델을 다운로드하세요. 그런 다음 명령줄 인터페이스 또는 웹 인터페이스를 통해 모델과 통신할지 묻는 메시지가 표시됩니다.
-
명령줄 인터페이스: 터미널에 머물기만 하면 됩니다. 프롬프트 가 표시되면
[USER]
질문을 할 수 있습니다! -
웹 UI: 로컬 웹 애플리케이션과 로컬 웹 서버(Rust로 작성되고 WasmEdge에서 실행)를 설치한 후 브라우저에서 http://127.0.0.1:8080을 열라는 메시지가 표시됩니다 .
웹 UI 동영상을 보려면 클릭하세요.
그게 다야.
배후의 메커니즘
run-llm.sh
이 스크립트는 휴대용 Wasm 애플리케이션을 사용하여 WasmEdge Runtime에서 대규모 언어 모델을 실행합니다. 이러한 애플리케이션은 이식 가능하므로 wasm 바이너리를 다른 CPU나 GPU가 있는 다른 장치에 복사하기만 하면 완벽하게 정상적으로 실행됩니다. CLI 및 웹 기반 채팅 사용자 인터페이스에는 다양한 wasm 애플리케이션이 사용됩니다.
명령줄 인터페이스
llama-chat.wasm
이 애플리케이션은 대규모 언어 모델을 위한 명령줄 기반 채팅 인터페이스를 제공합니다. 이는 간단한 Rust로 작성되었으며 여기에서 소스 코드를 찾을 수 있습니다 . 어떤 기기를 사용하든 Wasm 앱을 다운로드하는 방법은 다음과 같습니다.
curl -LO https://github.com/second-state/llama-utils/raw/main/chat/llama-chat.wasm
스크립트는 다음 명령을 사용하여 Wasm 애플리케이션을 실행합니다. -p
매개변수는 채팅 메시지 형식을 지정하는 데 사용되는 모델에 필요한 채팅 템플릿을 나타냅니다. 여기에서 모델 목록과 해당 채팅 템플릿 이름을 찾을 수 있습니다 .
wasmedge --dir .:. --nn-preload default:GGML:AUTO:llama-2-7b-chat.Q5_K_M.gguf llama-chat.wasm -p llama-2-chat
웹 UI
llama-api-server.wasm
애플리케이션은 대규모 언어 모델을 위한 API 기반 또는 웹 기반 채팅 인터페이스를 지원하는 웹 서버를 생성합니다. 이는 간단한 Rust로 작성되었으며 여기에서 소스 코드를 찾을 수 있습니다 . 어떤 기기를 사용하든 Wasm 앱을 다운로드하는 방법은 다음과 같습니다.
curl -LO https://github.com/second-state/llama-utils/raw/main/api-server/llama-api-server.wasm
스크립트는 다음 명령을 사용하여 Wasm 애플리케이션을 실행합니다. -p
매개변수는 채팅 메시지를 특정 형식으로 변환하기 위해 모델에 필요한 채팅 템플릿을 나타냅니다. 모델 목록과 해당 채팅 템플릿 이름은 여기에서 확인할 수 있습니다 .
wasmedge --dir .:. --nn-preload default:GGML:AUTO:llama-2-7b-chat.Q5_K_M.gguf llama-api-server.wasm -p llama-2-chat
기술 스택
보시다시피, run-llm.sh
애플리케이션은 Rust로 작성되고 Wasm으로 컴파일되어 크로스 플랫폼 배포가 가능합니다. Python 기반 AI 추론에 대한 강력한 대안을 제공합니다. 이렇게 하면 복잡한 Python 패키지나 C++ 도구 체인을 설치할 필요가 없습니다.
Rust 프로그램은 사용자 입력을 관리하고, 대화 기록을 추적하고, 텍스트를 LLM 관련 채팅 템플릿으로 변환하고, WASI NN API 를 사용하여 추론 작업을 실행합니다 . Rust는 AGI의 언어 입니다 . Rust + WasmEdge 스택은 IoT 장치부터 엣지 클라우드, 온프레미스 서버, 퍼블릭 클라우드까지 통합된 클라우드 컴퓨팅 인프라를 제공합니다. 주요 이점은 다음과 같습니다.
- 경량. 총 런타임 크기는 Python의 4GB 및 Ollama의 350MB와 비교하여 30MB입니다.
- 빠른. GPU에서 최대 기본 속도를 달성하세요.
- 가지고 다닐 수 있는. 다양한 CPU, GPU 및 운영 체제의 단일 크로스 플랫폼 바이너리.
- 안전. 신뢰할 수 없는 장치에서 샌드박스를 실행하고 실행을 격리합니다.
- 컨테이너에 쉽게 접근할 수 있습니다. Docker, Containerd, Podman 및 Kubernetes에서 지원됩니다.
- OpenAI와 호환됩니다. langchain, Llamaindex 및 flows.network 와 같은 OpenAI 도구 생태계에 원활하게 통합됩니다 .
귀하가 개발자, 연구원 또는 AI 애호가인지 여부에 관계없이 run-llm.sh
당사는 귀하의 장치에서 최첨단 언어 모델의 기능을 활용할 수 있는 효율적이고 접근 가능한 방법을 제공합니다. 와서 한번 시도해 보세요!