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)。