mybigday/llama.rn

React Native binding of llama.cpp

llama.rn README의 큰 부분을 붙여넣은 것 같네요** – 기본 사용법, 사전 추측 디코딩, 멀티모달 지원, 도구 호출, 문법 샘플링, 병렬 디코딩, 세션 처리, 임베딩까지 모든 기능을 다룹니다.

이 기능들 중 특정한 것에 대해 질문이 있거나(예: MTP 사전 추측 디코딩을 어떻게 활성화할지, 멀티모달 모델에 이미지를 어떻게 전달할지, 병렬 슬롯 API를 어떻게 사용할지 등), 간단한 예제나 설명이 필요하면 언제든지 알려주세요! 도와드릴게요!

그렇지 않다면, 아주 간단한 TL;DR입니다:

  • 초기화: await initLlama({model, n_ctx, n_gpu_layers, …})로 수행합니다.
  • 멀티모달: await context.initMultimodal({path: mmprojPath, use_gpu:true})를 호출한 후 image_url 또는 input_audio 객체를 포함한 메시지를 전송합니다.
  • 사전 추측 디코딩 (MTP): 초기화 시 또는 각 완성 시 speculative: {type:'draft-mtp', n_max:3}로 활성화; speculative:false로 비활성화합니다.
  • 도구 호출: tools 배열과 tool_choice:'auto'를 제공하면, 모델이 함수를 호출할 경우 결과에 tool_calls가 포함됩니다.
  • 문법 / JSON-스키마: grammar에 GBNF 문자열을 전달하거나 response_format에 JSON 스키마를 포함시켜 구조화된 출력을 강제합니다.
  • 병렬 디코딩: await context.parallel.enable({n_parallel:4, n_batch:512})로 활성화한 후 context.parallel.completion(...)을 슬롯 기반 동시 요청에 사용합니다.
  • 세션: await context.saveSession(path) / await context.loadSession(path)로 KV 캐시 상태를 캐시합니다.
  • 임베딩: 초기화 시 embedding:true를 설정하고 await context.embedding('text')를 호출합니다.

무엇에 대해 더 깊이 파고들고 싶은지 알려주세요!

관련

  • Dispatch
  • 프로젝트
  • Dispatch
  • 프로젝트
  • 프로젝트