| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -8,27 +8,34 @@ import com.alibaba.fastjson.JSONObject; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import com.google.common.collect.Lists; | 
					 | 
					 | 
					 | 
					import com.google.common.collect.Lists; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import com.hnac.hzims.bigmodel.configuration.BigModelInvokeApi; | 
					 | 
					 | 
					 | 
					import com.hnac.hzims.bigmodel.configuration.BigModelInvokeApi; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import com.hnac.hzinfo.exception.HzServiceException; | 
					 | 
					 | 
					 | 
					import com.hnac.hzinfo.exception.HzServiceException; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import io.weaviate.client.Config; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import io.weaviate.client.WeaviateAuthClient; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.weaviate.client.WeaviateClient; | 
					 | 
					 | 
					 | 
					import io.weaviate.client.WeaviateClient; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.weaviate.client.base.Result; | 
					 | 
					 | 
					 | 
					import io.weaviate.client.base.Result; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.auth.exception.AuthException; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.api.ObjectCreator; | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.api.ObjectCreator; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.api.ObjectDeleter; | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.api.ObjectDeleter; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.api.ObjectUpdater; | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.api.ObjectUpdater; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.api.ObjectsGetter; | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.api.ObjectsGetter; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.model.WeaviateObject; | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.data.model.WeaviateObject; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.graphql.model.GraphQLResponse; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.graphql.query.Get; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import io.weaviate.client.v1.graphql.query.fields.Field; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import lombok.RequiredArgsConstructor; | 
					 | 
					 | 
					 | 
					import lombok.RequiredArgsConstructor; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import lombok.extern.slf4j.Slf4j; | 
					 | 
					 | 
					 | 
					import lombok.extern.slf4j.Slf4j; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import org.springblade.core.tool.api.ResultCode; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springblade.core.tool.utils.BeanUtil; | 
					 | 
					 | 
					 | 
					import org.springblade.core.tool.utils.BeanUtil; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springblade.core.tool.utils.Func; | 
					 | 
					 | 
					 | 
					import org.springblade.core.tool.utils.Func; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Value; | 
					 | 
					 | 
					 | 
					import org.springframework.beans.factory.annotation.Value; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import org.springframework.stereotype.Service; | 
					 | 
					 | 
					 | 
					import org.springframework.stereotype.Service; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.lang.reflect.Field; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.nio.ByteBuffer; | 
					 | 
					 | 
					 | 
					import java.nio.ByteBuffer; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.nio.ByteOrder; | 
					 | 
					 | 
					 | 
					import java.nio.ByteOrder; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.*; | 
					 | 
					 | 
					 | 
					import java.util.*; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.concurrent.atomic.AtomicInteger; | 
					 | 
					 | 
					 | 
					import java.util.concurrent.atomic.AtomicInteger; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.stream.Collectors; | 
					 | 
					 | 
					 | 
					import java.util.stream.Collectors; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					import java.util.stream.IntStream; | 
					 | 
					 | 
					 | 
					import java.util.stream.IntStream; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					import java.util.stream.Stream; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					/** | 
					 | 
					 | 
					 | 
					/** | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 * @Author: huangxing | 
					 | 
					 | 
					 | 
					 * @Author: huangxing | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -122,16 +129,22 @@ public class WeaviateService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @param className 表名 | 
					 | 
					 | 
					 | 
					     * @param className 表名 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     * @return 删除结果 | 
					 | 
					 | 
					 | 
					     * @return 删除结果 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					     */ | 
					 | 
					 | 
					 | 
					     */ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public Boolean delete(String id,String className) { | 
					 | 
					 | 
					 | 
					    public Boolean delete(String ids,String className) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ObjectDeleter deleter = weaviateClient.data().deleter(); | 
					 | 
					 | 
					 | 
					        ObjectDeleter deleter = weaviateClient.data().deleter(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(Func.isNotEmpty(id)) { | 
					 | 
					 | 
					 | 
					        deleter.withClassName(className); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            deleter.withID(id); | 
					 | 
					 | 
					 | 
					        if(Func.isEmpty(ids)) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					            Result<List<WeaviateObject>> allObject = weaviateClient.data().objectsGetter().withClassName(className).withLimit(10000).run(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(Func.isNotEmpty(className)) { | 
					 | 
					 | 
					 | 
					            if(!allObject.hasErrors()) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            deleter.withClassName(className); | 
					 | 
					 | 
					 | 
					                ids = allObject.getResult().stream().map(WeaviateObject::getId).collect(Collectors.joining(",")); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Result<Boolean> result = deleter.run(); | 
					 | 
					 | 
					 | 
					        Func.toStrList(",",ids).forEach(id -> { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return !result.hasErrors(); | 
					 | 
					 | 
					 | 
					            Result<Boolean> result = deleter.withID(id).run(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if(result.hasErrors()) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                throw new HzServiceException(ResultCode.FAILURE,id + "记录删除失败!"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        }); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        return true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    /** | 
					 | 
					 | 
					 | 
					    /** | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -157,7 +170,7 @@ public class WeaviateService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return !result.hasErrors(); | 
					 | 
					 | 
					 | 
					        return !result.hasErrors(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public List<WeaviateObject> list(String id,String className) { | 
					 | 
					 | 
					 | 
					    public List<WeaviateObject> list(String id,String className,Integer current,Integer pageSize) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        ObjectsGetter objectsGetter = weaviateClient.data().objectsGetter(); | 
					 | 
					 | 
					 | 
					        ObjectsGetter objectsGetter = weaviateClient.data().objectsGetter(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(Func.isNotEmpty(id)) { | 
					 | 
					 | 
					 | 
					        if(Func.isNotEmpty(id)) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            objectsGetter.withID(id); | 
					 | 
					 | 
					 | 
					            objectsGetter.withID(id); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -165,7 +178,7 @@ public class WeaviateService { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(Func.isNotEmpty(className)) { | 
					 | 
					 | 
					 | 
					        if(Func.isNotEmpty(className)) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            objectsGetter.withClassName(className); | 
					 | 
					 | 
					 | 
					            objectsGetter.withClassName(className); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        Result<List<WeaviateObject>> result = objectsGetter.run(); | 
					 | 
					 | 
					 | 
					        Result<List<WeaviateObject>> result = objectsGetter.withLimit(pageSize).withOffset((current-1) * pageSize).run(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if(result.hasErrors()) { | 
					 | 
					 | 
					 | 
					        if(result.hasErrors()) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            throw new HzServiceException("查询失败!"); | 
					 | 
					 | 
					 | 
					            throw new HzServiceException("查询失败!"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |