人工智能AI系列
目录:http://aias.top/
问答系统问答系统(QuestionAnsweringSystem,QA)是信息检索系统的一种高级形式,它能用准确、简洁的自然语言回答用户用自然语言提出的问题。其研究兴起的主要原因是人们对快速、准确地获取信息的需求。问答系统是人工智能和自然语言处理领域中一个倍受关注并具有广泛发展前景的研究方向。
文本搜索引擎本例子基于文本搜索引擎,支持上传csv文件,使用句向量模型提取特征,并基于milvus向量引擎进行后续检索。
主要特性底层使用特征向量相似度搜索单台服务器十亿级数据的毫秒级搜索近实时搜索,支持分布式部署随时对数据进行插入、删除、搜索、更新等操作句向量模型【支持15种语言】句向量是指将语句映射至固定维度的实数向量。将不定长的句子用定长的向量表示,为NLP下游任务提供服务。支持15种语言:Arabic,Chinese,Dutch,English,French,German,Italian,Korean,Polish,Portuguese,Russian,Spanish,Turkish.
句向量句向量应用:
语义搜索/问答系统,通过句向量相似性,检索语料库中与query最匹配的文本文本聚类,文本转为定长向量,通过聚类模型可无监督聚集相似文本文本分类,表示成句向量,直接用简单分类器即训练文本分类器1.前端部署1.1安装运行:#安装依赖包npminstall#运行npmrundev1.2构建dist安装包:npmrunbuild:prod1.3nginx部署运行(mac环境为例):cd/usr/local/etc/nginx/vi/usr/local/etc/nginx/nginx.conf#编辑nginx.confserver{listen8080;server_namelocalhost;location/{root/Users/calvin/Documents/qa_system/dist/;indexindex.htmlindex.htm;}......#重新加载配置:sudonginx-sreload#部署应用后,重启:cd/usr/local/Cellar/nginx/1.19.6/bin#快速停止sudonginx-sstop#启动sudonginx2.后端jar部署2.1环境要求:系统JDK1.8+application.yml#文件存储路径file:mac:path:~/file/linux:path:/home/aias/file/windows:path:D:/aias/file/#文件大小/MmaxSize:3000...2.2运行程序:#运行程序java-jarqa-system-0.1.0.jar3.后端向量引擎部署(docker)3.1环境要求:需要安装docker运行环境,Mac环境可以使用DockerDesktop3.2拉取Milvus向量引擎镜像(用于计算特征值向量相似度)安装文档
最新版本请参考官网Milvus向量引擎参考链接Milvus向量引擎官网Milvus向量引擎Githubsudodockerpullmilvusdb/milvus:0.10.0-cpu-d061620-5f3c003.3下载配置文件vector_engine.zip
3.4启动Docker容器/Users/calvin/vector_engine为主机路径,根据需要修改。conf下为引擎所需的配置文件。
dockerrun-d--namemilvus_cpu_0.10.0-p19530:19530-p19121:19121-p9091:9091-v/Users/calvin/vector_engine/db:/var/lib/milvus/db-v/Users/calvin/vector_engine/conf:/var/lib/milvus/conf-v/Users/calvin/vector_engine/logs:/var/lib/milvus/logs-v/Users/calvin/vector_engine/wal:/var/lib/milvus/walmilvusdb/milvus:0.10.0-cpu-d061620-5f3c003.5编辑向量引擎连接配置信息application.yml根据需要编辑向量引擎连接ip地址127.0.0.1为容器所在的主机ip#####################向量引擎###############################search:host:127.0.0.1port:19530indexFileSize:1024#maximumsize(inMB)ofeachindexfilenprobe:256nlist:16384faceDimension:512#dimensionofeachvectorfaceCollectionName:questions#collectionnamecommDimension:512#dimensionofeachvectorcommCollectionName:comm#collectionname4.打开浏览器输入地址:http://localhost:8090上传CSV数据文件1).点击上传按钮上传CSV文件.测试数据2).点击特征提取按钮.等待CSV文件解析,特征提取,特征存入向量引擎。通过console可以看到进度信息。
文本搜索输入文字,点击查询,可以看到返回的清单,根据相似度排序。5.帮助信息swagger接口文档:http://localhost:8089/swagger-ui.html初始化向量引擎(清空数据):me.aias.tools.MilvusInit.javaStringhost="127.0.0.1";intport=19530;finalStringcollectionName="questions";//collectionnameMilvusClientclient=newMilvusGrpcClient();//ConnecttoMilvusserverConnectParamconnectParam=newConnectParam.Builder().withHost(host).withPort(port).build();try{ResponseconnectResponse=client.connect(connectParam);}catch(ConnectFailedExceptione){e.printStackTrace();}//检查collection是否存在HasCollectionResponsehasCollection=hasCollection(client,collectionName);if(hasCollection.hasCollection()){dropIndex(client,collectionName);dropCollection(client,collectionName);}...官网:官网链接
Git地址:Github链接Gitee链接