RAGSearchUnity
v1.0.1
Ragsearchunity允許在Unity引擎內實現語義搜索。
這是一個檢索增強發電(RAG)系統,可通過可用的最佳開源檢索模型授權。
ragsearchunity建立在令人敬畏的尖銳轉換器和usearch庫的頂部。
在Unity上測試:2021 LTS,2022 LTS,2023
Window > Package Manager+按鈕,然後Add package from git URLhttps://github.com/undreamai/RAGSearchUnity.git ,然後單擊Add Ragsearchunity通過檢索功能(RAG)系統實現超快速的相似性搜索功能。
這是如下所作的。
構建您提供文本輸入的數據(短語,段落,文檔)以添加到數據中
每個輸入分為句子(可選),並用深度學習模型編碼為嵌入。
搜索您可以搜索查詢文本輸入。
再次對輸入進行編碼,並檢索數據中最相似的文本輸入或句子。
使用搜索:
Add Component ,然後選擇“ Embedding腳本”)。在您的腳本中,您可以按以下方式使用它?:
using RAGSearchUnity ;
public class MyScript : MonoBehaviour
{
public Embedding embedding ;
SearchEngine search ;
void Game ( ) {
.. .
string [ ] inputs = new string [ ] {
" Hi! I'm a search system. " , " the weather is nice. I like it. " , " I'm a RAG system "
} ;
// build the embedding
EmbeddingModel model = embedding . GetModel ( ) ;
search = new SearchEngine ( model ) ;
foreach ( string input in inputs ) search . Add ( input ) ;
// get the 2 most similar phrases
string [ ] similar = search . Search ( " hello! " , 2 ) ;
// or get the 2 most similar sentences
string [ ] similarSentences = search . SearchSentences ( " hello! " , 2 ) ;
.. .
}
}您可以將數據與嵌入一起保存:
search . Save ( " Embeddings.zip " ) ;並從磁盤加載它們:
SearchEngine search = SearchEngine . Load ( model , " Embeddings.zip " ) ;您還可以指定要使用或不拆分的定係數:
// use ".", "!", "?" as delimiters
search = new SearchEngine ( model , " .!? " ) ;
// don't split sentences
search = new SearchEngine ( model , null ) ;如果要管理多個獨立搜索,Ragsearchunity提供了MultiSearchEngine類別,以易於使用:
MultiSearchEngine multisearch = new MultiSearchEngine ( model ) ;
// add a text for a specific search
multisearch . Add ( " hi I'm Luke " , " search1 " ) ;
multisearch . Add ( " Searching, searching, searching... " , " search1 " ) ;
multisearch . Add ( " hi I'm Jane " , " search2 " ) ;
// search for similar text in all searches
string [ ] similar = multisearch . Search ( " hello! " , 2 ) ;
// search for similar texts within a specific search
string [ ] similar = multisearch . Search ( " hi there! " , 1 , " search1 " ) ;就這樣 !
Hamletsearch示例包含一個示例搜索系統,用於hamlet播放?安裝樣本:
Window > Package ManagerRAGSearchUnity軟件包。從Samples選項卡中,單擊示例旁邊的Import 。可以使用Scene.unity運行樣本。其文件夾中包含的獨立場景。
在場景中,選擇Embedding遊戲對象並下載其中一種模型( Download model )。
保存場景,跑步並享受!
Ragsearchunity的許可是MIT(許可證),並使用帶有MIT和Apache許可證的第三方軟件和模型(第三方Notices.md)。