Ragsearchunity memungkinkan untuk menerapkan pencarian semantik di dalam mesin Unity.
Ini adalah sistem pengambilan augmented generasi (RAG) yang diberdayakan oleh model pengambilan open-source terbaik yang tersedia.
Ragsearchunity dibangun di atas transformer tajam dan perpustakaan USEARCH yang mengagumkan.
Diuji pada Unity: 2021 LTS, 2022 LTS, 2023
Window > Package Manager+ dan pilih Add package from git URLhttps://github.com/undreamai/RAGSearchUnity.git dan klik Add Ragsearchunity mengimplementasikan fungsi pencarian kesamaan yang sangat cepat dengan sistem generasi pengambilan (RAG).
Ini berfungsi sebagai berikut.
Membangun data yang Anda berikan input teks (frasa, paragraf, dokumen) untuk ditambahkan ke data
Setiap input dibagi menjadi kalimat (opsional) dan dikodekan menjadi embeddings dengan model pembelajaran yang mendalam.
Mencari Anda kemudian dapat mencari input teks kueri.
Input sekali lagi dikodekan dan input atau kalimat teks yang paling mirip dalam data diambil.
Untuk menggunakan pencarian:
Add Component dan pilih skrip Embedding ).Dalam skrip Anda, Anda kemudian dapat menggunakannya sebagai berikut?:
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 ) ;
.. .
}
}Anda dapat menyimpan data bersama dengan embeddings:
search . Save ( " Embeddings.zip " ) ;dan memuatnya dari disk:
SearchEngine search = SearchEngine . Load ( model , " Embeddings.zip " ) ;Anda juga dapat menentukan pembatas untuk digunakan atau tidak ada pemisahan:
// use ".", "!", "?" as delimiters
search = new SearchEngine ( model , " .!? " ) ;
// don't split sentences
search = new SearchEngine ( model , null ) ; Jika Anda ingin mengelola beberapa pencarian independen, RagSearchunity menyediakan kelas MultiSearchEngine untuk kemudahan penggunaan:
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 " ) ;Itu saja!
Sampel HamletSearch berisi contoh sistem pencarian untuk permainan dusun? Untuk menginstal sampel:
Window > Package ManagerRAGSearchUnity . Dari tab Samples , klik Import di sebelah sampel. Sampel dapat dijalankan dengan Scene.unity Adegan unik yang dikandung di dalam folder mereka.
Dalam adegan itu, pilih GameObject Embedding dan unduh salah satu model ( Download model ).
Simpan adegan, lari dan nikmati!
Lisensi ragsearchunity adalah MIT (lisensi.md) dan menggunakan perangkat lunak dan model pihak ketiga dengan lisensi MIT dan Apache (pemberitahuan pihak ketiga.md).