Unity용 LLM을 사용하면 Unity 엔진 내에서 LLM(대형 언어 모델)을 원활하게 통합할 수 있습니다.
이를 통해 플레이어가 몰입형 경험을 위해 상호 작용할 수 있는 지능형 캐릭터를 만들 수 있습니다.
또한 이 패키지에는 데이터 전체에 걸쳐 의미론적 검색을 수행할 수 있는 RAG(검색 증강 생성) 시스템이 포함되어 있으며, 이를 통해 캐릭터의 지식을 향상시킬 수 있습니다. Unity용 LLM은 멋진 llama.cpp 라이브러리를 기반으로 구축되었습니다.
개요 • 지원 방법 • Unity용 LLM을 사용한 게임 • 설정 • 사용 방법 • RAG • LLM 모델 관리 • 예제 • 옵션 • 라이센스
크로스 플랫폼! 윈도우, 리눅스, macOS, 안드로이드
? 인터넷 접속 없이 로컬로 실행됩니다. 데이터가 게임을 떠나지 않습니다!
⚡ CPU 및 GPU(Nvidia, AMD, Apple Metal)에 대한 매우 빠른 추론
? 모든 주요 LLM 모델 지원
? 간편한 설정, 한 줄의 코드로 호출
? 개인적, 상업적 목적 모두 무료로 사용 가능
? Unity에서 테스트됨: 2021 LTS, 2022 LTS, 2023
? 다가오는 릴리스
저장소에 별표를 표시하고 리뷰를 남기고 프로젝트에 대한 소문을 퍼뜨려보세요!
Discord에 참여하여 인사해 보세요.
기능 요청, 버그 또는 자신의 PR을 제출하여 기여하세요.
이 작업을 통해 더욱 멋진 기능을 사용할 수 있습니다!
구두 평결
나, 챗봇: AISYLUM
이름없는 공허의 영혼들
통로 4에서의 살인
까다로운 음식 배달 AI
AI 감성 여자친구
케이스가 종료됨
프로젝트를 추가하려면 저희에게 연락하세요!
방법 1: 에셋 스토어를 사용하여 설치
Unity용 LLM 자산 페이지를 열고 Add to My Assets
클릭하세요.
Unity에서 패키지 관리자를 엽니다: Window > Package Manager
드롭다운에서 Packages: My Assets
옵션을 선택하세요.
LLM for Unity
패키지를 선택하고 Download
클릭한 다음 Import
클릭하세요.
방법 2: GitHub 저장소를 사용하여 설치:
Unity에서 패키지 관리자를 엽니다: Window > Package Manager
+
버튼을 클릭하고 Add package from git URL
선택합니다.
저장소 URL https://github.com/undreamai/LLMUnity.git
을 사용하고 Add
클릭하세요.
먼저 게임에 대한 LLM을 설정하겠습니다.
빈 GameObject를 만듭니다.
GameObject Inspector에서 Add Component
클릭하고 LLM 스크립트를 선택합니다.
Download Model
버튼(~GB)을 사용하여 기본 모델 중 하나를 다운로드합니다.
또는 Load model
버튼을 사용하여 자신의 .gguf 모델을 로드하세요(LLM 모델 관리 참조).
그러면 각 캐릭터를 다음과 같이 설정할 수 있습니다.♀️:
캐릭터에 대한 빈 GameObject를 만듭니다.
GameObject Inspector에서 Add Component
클릭하고 LLMCharacter 스크립트를 선택합니다.
Prompt
에서 AI의 역할을 정의하세요. AI의 이름( AI Name
)과 플레이어( Player Name
)를 정의할 수 있습니다.
(선택 사항) LLM GameObject가 두 개 이상인 경우 LLM
필드에서 위에 구성된 LLM을 선택합니다.
원하는 대로 LLM 및 문자 설정을 조정할 수도 있습니다(옵션 참조).
스크립트에서 다음과 같이 사용할 수 있습니다.
LLMUnity 사용;공개 클래스 MyScript { 공개 LLMCharacter llmCharacter; void HandleReply(string reply){// modelDebug.Log(reply)의 응답으로 작업을 수행합니다. } void Game(){// 게임 기능...string message = "Hello bot!";_ = llmCharacter.Chat(message, HandleReply);... }}
모델 응답이 완료되면 호출할 함수를 지정할 수도 있습니다.
이는 모델의 연속 출력에 대해 Stream
옵션이 활성화된 경우 유용합니다(기본 동작).
void ReplyCompleted(){// 모델의 응답이 완료되면 작업을 수행합니다.Debug.Log("AI가 응답했습니다"); } void Game(){// 게임 기능...string message = "Hello bot!";_ = llmCharacter.Chat(message, HandleReply, ReplyCompleted);... }
완료될 때까지 기다리지 않고 채팅을 중지하려면 다음을 사용할 수 있습니다.
llmCharacter.CancelRequests();
마지막으로 스크립트의 GameObject Inspector에서 위에서 생성한 LLMCharacter GameObject를 llmCharacter 속성으로 선택합니다.
그게 다야 ✨!
다음을 수행할 수도 있습니다.
Android 앱을 빌드하려면 플레이어 설정에서 IL2CPP
스크립팅 백엔드와 ARM64
대상 아키텍처로 지정해야 합니다.
이러한 설정은 Player > Other Settings
섹션의 Edit > Project Settings
메뉴에서 액세스할 수 있습니다.
앱 크기를 작게 유지하려면 LLM GameObject에서 Download on Build
옵션을 활성화하여 실행 시 모델을 다운로드하는 것도 좋은 생각입니다.
채팅 기록을 자동으로 저장/로드하려면 LLMCharacter의 Save
매개변수를 선택한 파일 이름(또는 상대 경로)에 지정하면 됩니다. 파일은 Unity의 persistDataPath 폴더에 저장됩니다. 이는 또한 LLM의 상태를 저장하므로 이전에 캐시된 프롬프트를 다시 계산할 필요가 없습니다.
채팅 기록을 수동으로 저장하려면 다음을 사용하세요.
llmCharacter.Save("파일명");
기록을 로드하려면 다음을 수행하세요.
llmCharacter.Load("파일명");
여기서 filename은 선택한 파일 이름 또는 상대 경로입니다.
void WarmupCompleted(){// 준비가 완료되면 작업을 수행합니다.Debug.Log("AI는 훌륭하고 준비되어 있습니다."); } void Game(){// 게임 기능..._ = llmCharacter.Warmup(WarmupCompleted);... }
Chat
함수의 마지막 인수는 기록에 메시지를 추가할지 여부를 지정하는 부울입니다(기본값: true).
void Game(){// 게임 기능...string message = "Hello bot!";_ = llmCharacter.Chat(message, HandleReply, ReplyCompleted, false);... }
void Game(){// 게임 기능...string message = "고양이가 사라졌습니다";_ = llmCharacter.Complete(message, HandleReply, ReplyCompleted);... }
이를 위해 async
/ await
기능을 사용할 수 있습니다:
async void Game(){// 게임 기능...string message = "Hello bot!";string reply = wait llmCharacter.Chat(message, HandleReply, ReplyCompleted);Debug.Log(reply);... }
UnityEngine 사용; LLMUnity 사용; public class MyScript : MonoBehaviour{LLM llm;LLMCharacter llmCharacter;async void Start(){// theAwake가 즉시 호출되지 않도록 gameObject를 비활성화gameObject.SetActive(false);// LLM 객체 추가llm = gameObject. AddComponent<LLM>();// 모델의 파일명을 사용하여 모델을 설정합니다.// LLM 모델에 모델을 추가해야 합니다. 관리자(LLM 모델 관리 참조)를 로드하거나 다운로드합니다.// 그렇지 않으면 모델 파일을 StreamingAssets 폴더 내부에 직접 복사할 수 있습니다.llm.SetModel("Phi-3-mini-4k-instruct-q4.gguf");/ / 선택 사항: 비슷한 방식으로 loras를 설정하고 가중치를 설정할 수도 있습니다. 필요)llm.AddLora("my-lora.gguf");llm.SetLoraWeight(0.5f);// 선택 사항: 모델이 올바르게 식별되지 않은 경우 모델의 채팅 템플릿을 설정할 수 있습니다.// 목록을 찾을 수 있습니다 ChatTemplate.templates.Keysllm.SetTemplate("phi-3")의 채팅 템플릿;// 선택 사항: 스레드 수 설정llm.numThreads = -1;// 선택 사항: 설정을 통해 GPU 활성화 itllm.numGPULayers = 10;// LLMCharacter 객체 추가llmCharacter = gameObject.AddComponent<LLMCharacter>();// 모델을 처리하는 LLM 객체 설정llmCharacter.llm = llm;// 캐릭터 설정 PrompllmCharacter.SetPrompt("호기심 많은 인간과 인공지능 비서의 대화.");// AI 및 플레이어 이름 설정llmCharacter.AIName = "AI";llmCharacter.playerName = "Human";// 선택 사항: 스트리밍을 false로 설정하면 한 번에 전체 결과를 얻을 수 있습니다.// llmCharacter.stream = true;// 선택 사항: 저장 경로 설정// llmCharacter.save = "AICharacter1";// 선택 사항: 저장 파일을 로드할 때 재계산을 방지하기 위해 저장 캐시를 활성화합니다(~100MB 필요)// llmCharacter.saveCache = true;// 선택 사항: a를 설정합니다. 문법// llmCharacter.SetGrammar("json.gbnf")를 기다립니다.// gameObjectgameObject.SetActive(true)를 다시 활성화합니다.}}
원격 서버를 사용하여 처리를 수행하고 서버와 상호 작용하는 캐릭터를 구현할 수 있습니다.
서버 만들기
서버를 생성하려면:
위에서 설명한 대로 LLM
스크립트를 사용하여 GameObject로 프로젝트를 만듭니다.
LLM
의 Remote
옵션을 활성화하고 선택적으로 서버 매개변수(포트, API 키, SSL 인증서, SSL 키)를 구성합니다.
빌드 및 실행하여 서버 시작
또는 보다 쉬운 배포를 위해 서버 바이너리를 사용할 수 있습니다.
편집기에서 위 장면을 실행하고 디버그 메시지에서 명령을 복사합니다("서버 명령:"으로 시작).
서버 바이너리 및 DLL을 다운로드하고 동일한 폴더에 추출합니다.
위의 폴더에서 관심 있는 아키텍처를 찾으세요. 예를 들어 Windows 및 CUDA의 경우 windows-cuda-cu12.2.0
을 사용하세요.
디버그 메시지("아키텍처 사용"으로 시작)에서 시스템에 작동하는 아키텍처를 확인할 수도 있습니다.
명령줄에서 선택한 아키텍처 폴더로 디렉터리를 변경하고 위에서 복사한 명령을 실행하여 서버를 시작합니다.
캐릭터 만들기
위에서 설명한 대로 LLMCharacter
스크립트를 사용하여 게임 캐릭터로 두 번째 프로젝트를 만듭니다. Remote
옵션을 활성화하고 서버의 IP 주소("http://"로 시작)와 포트로 호스트를 구성합니다.
Embeddings
함수를 사용하여 구문의 삽입을 얻을 수 있습니다.
List<float> embeddings = wait llmCharacter.Embeddings("안녕하세요, 잘 지내세요?");
기능 수준에 대한 자세한 문서는 여기에서 찾을 수 있습니다.
Unity용 LLM은 RAG(Retrieval-Augmented Generation) 시스템을 통해 초고속 유사성 검색 기능을 구현합니다.
이는 LLM 기능과 usearch 라이브러리의 ANN(Approximate Nearest Neighbors) 검색을 기반으로 합니다.
의미 검색은 다음과 같이 작동합니다.
데이터 구축 데이터에 추가할 텍스트 입력(구, 단락, 문서)을 제공합니다.
각 입력은 청크로 분할되고(선택 사항) LLM을 사용하여 임베딩으로 인코딩됩니다.
검색 그런 다음 쿼리 텍스트 입력을 검색할 수 있습니다.
입력이 다시 인코딩되고 데이터에서 가장 유사한 텍스트 입력 또는 청크가 검색됩니다.
의미 검색을 사용하려면:
위에서 설명한 대로 LLM용 GameObject를 생성합니다. 제공된 RAG 모델 중 하나를 다운로드하거나 직접 로드하세요(MTEB 리더보드에서 좋은 옵션을 찾을 수 있습니다).
빈 GameObject를 만듭니다. GameObject Inspector에서 Add Component
클릭하고 RAG
스크립트를 선택합니다.
RAG의 검색 유형 드롭다운에서 원하는 검색 방법을 선택합니다. SimpleSearch
간단한 무차별 검색인 반면, DBSearch
는 대부분의 경우 선호되는 빠른 ANN 방법입니다.
RAG의 청킹 유형 드롭다운에서 입력을 청크로 분할하는 방법을 선택할 수 있습니다. 이는 각 데이터 부분 내에서 보다 일관된 의미를 갖는 데 유용합니다. 토큰, 단어, 문장별로 분할하는 청킹 방법을 제공합니다.
또는 코드에서 RAG를 생성할 수 있습니다(여기서 llm은 LLM임).
RAG rag = gameObject.AddComponent<RAG>(); rag.Init(SearchMethods.DBSearch, ChunkingMethods.SentenceSplitter, llm);
스크립트에서 다음과 같이 사용할 수 있습니다.
LLMUnity 사용;공개 클래스 MyScript: MonoBehaviour{ RAG 걸레; async void Game(){...string[] inputs = new string[]{ "안녕하세요! 저는 검색 시스템입니다.", "날씨가 좋네요. 좋아요.", "저는 RAG 시스템입니다. "};// RAGforeach에 입력 추가(입력의 문자열 입력) wait rag.Add(input);// 가장 유사한 입력 2개와 검색어와의 거리(비유사성) 가져오기(string[] 결과, 부동 소수점) [] distances) = wait rag.Search("hello!", 2);// 가장 유사한 텍스트 부분(chnuks)을 얻으려면 returnChunks 옵션을 활성화할 수 있습니다rag.ReturnChunks(true);(results, distances) = wait rag.Search ("안녕하세요!", 2);... }}
RAG 상태( Assets/StreamingAssets
폴더에 저장됨)를 저장할 수 있습니다.
rag.Save("rag.zip");
디스크에서 로드합니다.
rag.Load("rag.zip")을 기다립니다.
RAG를 사용하여 사용자 메시지를 기반으로 LLM에 관련 데이터를 공급할 수 있습니다.
string message = "날씨는 어때요?"; (string[]likePhrases, float[] distances) = rag.Search(message, 3)를 기다립니다. string 프롬프트 = "제공된 data.nn을 기반으로 사용자 쿼리에 응답합니다."; 프롬프트 += $"사용자 쿼리: {message}nn"; 프롬프트 += $"데이터:n"; foreach(similarPhrases의 문자열 유사한Phrase) 프롬프트 += $"n- {similarPhrase}"; _ = llmCharacter.Chat(prompt, HandleReply, ReplyCompleted);
RAG
샘플에는 RAG 구현 예시와 RAG-LLM 통합 예시가 포함되어 있습니다.
그게 다야 ✨!
Unity용 LLM은 LLM을 로드하거나 다운로드하여 게임에 직접 제공할 수 있는 모델 관리자를 사용합니다.
모델 관리자는 LLM GameObject의 일부로 찾을 수 있습니다.
Download model
버튼을 통해 모델을 다운로드할 수 있습니다.
Unity용 LLM에는 Q4_K_M 방법으로 양자화된 다양한 모델 크기에 내장된 다양한 최첨단 모델이 포함되어 있습니다.
대체 모델은 HuggingFace에서 .gguf 형식으로 다운로드할 수 있습니다.
모델을 로컬로 다운로드하고 Load model
버튼을 사용하여 로드하거나, Download model > Custom URL
필드에서 URL을 복사하여 직접 다운로드할 수 있습니다.
HuggingFace 모델이 gguf 파일을 제공하지 않는 경우 이 온라인 변환기를 사용하여 gguf로 변환할 수 있습니다.
프롬프트를 구성하는 데 사용되는 채팅 템플릿은 모델(관련 항목이 있는 경우) 또는 모델 이름에서 자동으로 결정됩니다.
잘못 식별된 경우 채팅 템플릿 드롭다운에서 다른 템플릿을 선택할 수 있습니다.
모델 관리자에 추가된 모델은 구축 과정에서 게임에 복사됩니다.
"빌드" 확인란을 선택 취소하여 모델 내장을 생략할 수 있습니다.
모델을 제거하려면(디스크에서는 삭제하지 않고) bin 버튼을 클릭하면 됩니다.
추가된 각 모델의 경로와 URL(다운로드한 경우)은 >>
버튼을 사용하여 모델 관리자 액세스의 확장된 보기에 표시됩니다.
Download on Build
옵션을 선택하여 더 가벼운 빌드를 만들 수 있습니다.
이 옵션을 사용하면 모델이 빌드에 복사되는 대신 게임이 처음 시작될 때 다운로드됩니다.
모델을 로컬로 로드한 경우 확장된 보기를 통해 해당 URL을 설정해야 합니다. 그렇지 않으면 빌드에 복사됩니다.
❕ 모델을 사용하기 전에 라이선스를 확인 하세요 ❕
Samples~ 폴더에는 상호 작용의 몇 가지 예가 포함되어 있습니다.
SimpleInteraction: AI 캐릭터와의 간단한 상호작용을 보여줍니다.
MultipleCharacters: 여러 AI 캐릭터를 사용하여 간단한 상호 작용을 보여줍니다.
RAG: RAG 샘플. RAG를 사용하여 LLM에 정보를 제공하는 예가 포함되어 있습니다.
ChatBot: 메시징 앱과 유사한 UI를 사용하여 플레이어와 AI 간의 상호 작용을 보여줍니다(아래 이미지 참조).
KnowledgeBaseGame: google/mysteryof threebots를 기반으로 LLM에 정보를 제공하기 위해 지식 기반을 사용하는 간단한 탐정 게임
AndroidDemo: 모델 다운로드 진행 상황이 표시된 초기 화면이 포함된 Android 앱 예시
샘플을 설치하려면 다음 안내를 따르세요.
패키지 관리자를 엽니다: Window > Package Manager
LLM for Unity
을 선택하세요. Samples
탭에서 설치하려는 샘플 옆에 있는 Import
클릭하십시오.
샘플은 폴더 내에 포함된 Scene.unity
장면으로 실행할 수 있습니다.
장면에서 LLM
GameObject를 선택하고 Download Model
버튼을 클릭하여 기본 모델을 다운로드하거나 Load model
자체 모델을 로드합니다(LLM 모델 관리 참조).
장면을 저장하고 달리며 즐겨보세요!
Show/Hide Advanced Options
아래에서 고급 옵션을 표시/숨기려면 전환하세요.
Log Level
로그 메시지의 상세 정도를 선택합니다.
추가 기능 설치 및 사용을 허용하려면 Use extras
선택(플래시 주의 및 IQ 퀀트)
LLM에 대한 원격 액세스를 제공하려면 Remote
선택
LLM 서버를 실행하기 위한 Port
( Remote
설정된 경우)
Num Threads
사용할 스레드 수(기본값: -1 = 모두)
Num GPU Layers
GPU로 오프로드할 모델 레이어 수입니다. 0으로 설정하면 GPU가 사용되지 않습니다. GPU를 최대한 활용하려면 30보다 큰 숫자를 사용하십시오. 컨텍스트 크기 값이 높을수록 더 많은 VRAM이 사용됩니다. 사용자의 GPU가 지원되지 않으면 LLM이 CPU로 대체됩니다.
Unity 편집기에서 모델의 출력을 기록하기 위한 Debug
선택
예를 들어 모든 LLMCharacter 개체에 대해 Parallel Prompts
1과 슬롯 0으로 설정하면 전체 컨텍스트를 사용하지만 LLMCharacter 개체가 채팅에 사용될 때마다 전체 프롬프트를 계산해야 합니다(캐싱 없음).
Dont Destroy On Load
선택하면 새 장면을 로드할 때 LLM GameObject를 파괴하지 않습니다.
Parallel Prompts
병렬로 발생할 수 있는 프롬프트/슬롯 수를 나타냅니다(기본값: -1 = LLMCharacter 개체 수). 컨텍스트 크기는 슬롯별로 나누어져 있습니다. API key
LLMCharacter 개체의 요청에 대한 액세스를 허용하는 데 사용하는 API 키( Remote
설정된 경우)
Load SSL certificate
요청의 종단 간 암호화를 위한 SSL 인증서를 로드할 수 있습니다( Remote
이 설정된 경우). SSL 키도 필요합니다.
Load SSL key
하면 요청의 종단 간 암호화를 위한 SSL 키를 로드할 수 있습니다( Remote
이 설정된 경우). SSL 인증서도 필요합니다.
SSL certificate path
요청의 종단 간 암호화에 사용되는 SSL 인증서입니다( Remote
이 설정된 경우).
SSL key path
요청의 종단 간 암호화에 사용되는 SSL 키입니다( Remote
이 설정된 경우).
Download model
클릭하면 기본 모델 중 하나를 다운로드할 수 있습니다.
Load model
클릭하면 .gguf 형식으로 자신의 모델을 로드할 수 있습니다.
Download on Start
다운로드)를 활성화하면 게임을 처음 시작할 때 LLM 모델을 다운로드할 수 있습니다. 또는 LLM 모델이 빌드에 직접 복사됩니다.
Context Size
프롬프트 컨텍스트의 크기(0 = 모델의 컨텍스트 크기) Download lora
.gguf 형식의 LoRA 모델을 다운로드하려면 클릭하세요.
Load lora
로드 클릭하여 LoRA 모델을 .gguf 형식으로 로드합니다.
Batch Size
프롬프트 처리를 위한 배치 크기(기본값: 512)
사용 중인 모델의 경로를 Model
(Assets/StreamingAssets 폴더 기준).
Chat Template
LLM에 사용되는 채팅 템플릿입니다.
Lora
사용 중인 LoRA의 경로(Assets/StreamingAssets 폴더 기준)
Lora Weights
.
Flash Attention
모델에서 플래시 주의를 사용하려면 클릭합니다( Use extras
이 활성화된 경우).
Base Prompt
LLM을 사용하는 모든 LLMCharacter 객체에 걸쳐 사용할 공통 기본 프롬프트입니다.
Show/Hide Advanced Options
아래에서 고급 옵션을 표시/숨기려면 전환하세요.
Log Level
로그 메시지의 상세 정도를 선택합니다.
추가 기능 설치 및 사용을 허용하려면 Use extras
선택(플래시 주의 및 IQ 퀀트)
Remote
사용된 LLM이 원격인지 로컬인지 여부
LLM
GameObject LLM( Remote
설정되지 않은 경우)
LLM 서버의 Hort
IP( Remote
이 설정된 경우)
LLM 서버의 Port
( Remote
이 설정된 경우)
Num Retries
LLM 서버에서 HTTP 요청 재시도 횟수( Remote
이 설정된 경우)
API key
LLM 서버의 API 키( Remote
이 설정된 경우)
Save
Save Cache
을 선택하면 채팅 기록과 함께 LLM 상태를 저장합니다. LLM 상태는 일반적으로 약 100MB 이상입니다.
Debug Prompt
Unity 편집기에서 생성된 프롬프트를 기록하려면 선택합니다.
Player Name
플레이어의 이름
AI Name
.
AI 역할에 대한 Prompt
설명
모델이 제작되는 대로 응답을 받으려면 Stream
선택을 선택하세요(권장!).
선택하지 않은 경우 모델의 전체 답변을 한 번에 받습니다.
Num Predict
(기본값: 256, -1 = 무한대, -2 = 컨텍스트가 채워질 때까지) Load grammar
.
Grammar
사용되는 문법 경로(Assets/StreamingAssets 폴더 기준)
Cache Prompt
채팅에서 진행 중인 프롬프트를 저장합니다. (기본값: true) 계산에 사용할 서버의 Slot
슬롯입니다. 값은 0에서 Parallel Prompts
-1까지 설정할 수 있습니다(기본값: -1 = 각 캐릭터에 대한 새 슬롯)
재현성을 위한 Seed
시드입니다. 매번 무작위 결과를 얻으려면 -1을 사용하세요.
Temperature
LLM 온도, 값이 낮을수록 더 결정적인 답변을 제공합니다(기본값: 0.2).Top K
상위 k 샘플링(기본값: 40, 0 = 비활성화됨)Top P
top-p 샘플링(기본값: 0.9, 1.0 = 비활성화됨)Min P
최소 확률 (기본값: 0.05)Repeat Penalty
생성된 텍스트에서 토큰 시퀀스의 반복을 제어합니다(기본값: 1.1).Presence Penalty
반복된 토큰 존재 페널티(기본값: 0.0, 0.0 = 비활성화됨)Frequency Penalty
반복된 토큰 빈도 페널티(기본값: 0.0, 0.0 = 비활성화됨) Tfs_z
: 매개변수 z를 사용하여 테일 프리 샘플링을 활성화합니다(기본값: 1.0, 1.0 = 비활성화됨).
Typical P
: 매개변수 p를 사용하여 로컬 일반 샘플링을 활성화합니다(기본값: 1.0, 1.0 = 비활성화됨).
Repeat Last N
: 반복에 대한 처벌을 고려할 마지막 N 토큰(기본값: 64, 0 = 비활성화됨, -1 = ctx-size).
Penalize Nl
: 반복 페널티를 적용할 때 개행 토큰에 페널티를 적용합니다(기본값: true).
Penalty Prompt
: 페널티 평가 목적에 대한 프롬프트입니다. null
, 문자열 또는 토큰을 나타내는 숫자 배열일 수 있습니다(기본값: null
= 원래 prompt
사용).
Mirostat
: Mirostat 샘플링을 활성화하여 텍스트 생성 중 혼란을 제어합니다(기본값: 0, 0 = 비활성화, 1 = Mirostat, 2 = Mirostat 2.0).
Mirostat Tau
: Mirostat 목표 엔트로피, 매개변수 tau를 설정합니다(기본값: 5.0).
Mirostat Eta
: Mirostat 학습률, 매개변수 eta(기본값: 0.1)를 설정합니다.
N Probs
: 0보다 큰 경우 응답에는 생성된 각 토큰에 대한 상위 N 토큰의 확률도 포함됩니다(기본값: 0).
Ignore Eos
: 스트림 토큰의 끝을 무시하고 생성을 계속하도록 활성화합니다(기본값: false).
Unity용 LLM 라이선스는 MIT(LICENSE.md)이며 MIT 및 Apache 라이선스와 함께 타사 소프트웨어를 사용합니다. 자산에 포함된 일부 모델은 자체 라이센스 조건을 정의하므로 각 모델을 사용하기 전에 이를 검토하십시오. 타사 라이센스는 (Third Party Notices.md)에서 확인할 수 있습니다.