【代码优化】AI:向量化的集成

This commit is contained in:
YunaiV 2024-08-09 00:09:19 +08:00
parent f8d1fa9b49
commit b453856864
5 changed files with 10 additions and 10 deletions

View File

@ -7,7 +7,6 @@ package cn.iocoder.yudao.module.ai.service.knowledge;
*/
public interface DocService {
/**
* 向量化文档
*/

View File

@ -21,24 +21,23 @@ import java.util.List;
public class DocServiceImpl implements DocService {
@Resource
RedisVectorStore vectorStore;
private RedisVectorStore vectorStore;
@Resource
TokenTextSplitter tokenTextSplitter;
private TokenTextSplitter tokenTextSplitter;
// TODO @xin 临时测试用后续删
@Value("classpath:/webapp/test/Fel.pdf")
private org.springframework.core.io.Resource data;
@Override
public void embeddingDoc() {
// 读取文件
org.springframework.core.io.Resource file = data;
TikaDocumentReader loader = new TikaDocumentReader(file);
TikaDocumentReader loader = new TikaDocumentReader(data);
List<Document> documents = loader.get();
// 文档分段
List<Document> segments = tokenTextSplitter.apply(documents);
// 向量化并存储
vectorStore.add(segments);
}
}

View File

@ -40,6 +40,7 @@
<version>${spring-ai.version}</version>
</dependency>
<!-- 向量化,基于 Redis 存储Tika 解析内容 -->
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-transformers-spring-boot-starter</artifactId>
@ -55,13 +56,14 @@
<artifactId>spring-ai-redis-store</artifactId>
<version>${spring-ai.version}</version>
</dependency>
<!-- TODO @xin引入我们项目的 starter -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>cn.iocoder.boot</groupId>
<artifactId>yudao-common</artifactId>

View File

@ -30,6 +30,8 @@ import redis.clients.jedis.JedisPooled;
/**
* TODO @xin 先拿 spring-ai 最新代码覆盖1.0.0-M1 redis 自动配置会冲突
*
* TODO 这个官方有说啥时候 fix
*
* @author Christian Tzolov
* @author Eddú Meléndez
*/
@ -39,8 +41,6 @@ import redis.clients.jedis.JedisPooled;
@EnableConfigurationProperties(RedisVectorStoreProperties.class)
public class RedisVectorStoreAutoConfiguration {
@Bean
@ConditionalOnMissingBean
public RedisVectorStore vectorStore(EmbeddingModel embeddingModel, RedisVectorStoreProperties properties,

View File

@ -153,7 +153,7 @@ spring:
spring:
ai:
vectorstore:
vectorstore: # 向量存储
redis:
index: default-index
prefix: "default:"