项目pom.xml
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 <modelVersion>4.0.0</modelVersion> 6 <groupId>springAI</groupId> 7 <artifactId>spai</artifactId> 8 <version>1.0.0</version> 9 10 <properties> 11 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 12 <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 13 <maven.compiler.source>17</maven.compiler.source> 14 <maven.compiler.target>17</maven.compiler.target> 15 <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version> 16 <maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version> 17 18 <!-- Spring Boot --> 19 <spring-boot.version>3.4.2</spring-boot.version> 20 <!-- Spring AI --> 21 <!-- <spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>--> 22 <spring-ai.version>1.0.0-M5</spring-ai.version> 23 24 <spring-ai-alibaba.version>1.0.0-M5.1</spring-ai-alibaba.version> 25 26 <!-- utils --> 27 <commons-lang3.version>3.14.0</commons-lang3.version> 28 29 <!-- 测试工具类--> 30 <jupiter.version>5.11.4</jupiter.version> 31 <lombok.version>1.18.24</lombok.version> 32 </properties> 33 <dependencies> 34 <dependency> 35 <groupId>org.springframework.boot</groupId> 36 <artifactId>spring-boot-starter-web</artifactId> 37 </dependency> 38 <dependency> 39 <groupId>com.alibaba.cloud.ai</groupId> 40 <artifactId>spring-ai-alibaba-starter</artifactId> 41 <version>${spring-ai-alibaba.version}</version> 42 </dependency> 43 <!-- <dependency>--> 44 <!-- <groupId>org.springframework.ai</groupId>--> 45 <!-- <artifactId>spring-ai-openai-spring-boot-starter</artifactId>--> 46 <!-- </dependency>--> 47 <!-- <dependency>--> 48 <!-- <groupId>org.springframework.ai</groupId>--> 49 <!-- <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>--> 50 <!-- </dependency>--> 51 <dependency> 52 <groupId>org.springframework.ai</groupId> 53 <artifactId>spring-ai-pdf-document-reader</artifactId> 54 <version>${spring-ai.version}</version> 55 </dependency> 56 <dependency> 57 <groupId>org.springframework.ai</groupId> 58 <artifactId>spring-ai-elasticsearch-store-spring-boot-starter</artifactId> 59 <version>${spring-ai.version}</version> 60 </dependency> 61 <dependency> 62 <groupId>javax.annotation</groupId> 63 <artifactId>javax.annotation-api</artifactId> 64 <version>1.3.2</version> 65 </dependency> 66 <dependency> 67 <groupId>org.apache.commons</groupId> 68 <artifactId>commons-lang3</artifactId> 69 </dependency> 70 <dependency> 71 <groupId>org.projectlombok</groupId> 72 <artifactId>lombok</artifactId> 73 <scope>provided</scope> 74 </dependency> 75 <!-- 测试和开发依赖 --> 76 <dependency> 77 <groupId>org.springframework.boot</groupId> 78 <artifactId>spring-boot-starter-test</artifactId> 79 <scope>test</scope> 80 </dependency> 81 <!-- JUnit Jupiter API --> 82 <dependency> 83 <groupId>org.junit.jupiter</groupId> 84 <artifactId>junit-jupiter-api</artifactId> 85 <version>${jupiter.version}</version> 86 <scope>test</scope> 87 </dependency> 88 </dependencies> 89 <dependencyManagement> 90 <dependencies> 91 <dependency> 92 <groupId>org.springframework.boot</groupId> 93 <artifactId>spring-boot-dependencies</artifactId> 94 <version>${spring-boot.version}</version> 95 <type>pom</type> 96 <scope>import</scope> 97 </dependency> 98 <dependency> 99 <groupId>org.springframework.ai</groupId> 100 <artifactId>spring-ai-bom</artifactId> 101 <version>${spring-ai.version}</version> 102 <type>pom</type> 103 <scope>import</scope> 104 </dependency> 105 <dependency> 106 <groupId>com.alibaba.cloud.ai</groupId> 107 <artifactId>spring-ai-alibaba-starter</artifactId> 108 <version>${spring-ai-alibaba.version}</version> 109 </dependency> 110 </dependencies> 111 </dependencyManagement> 112 <build> 113 <plugins> 114 <plugin> 115 <groupId>org.springframework.boot</groupId> 116 <artifactId>spring-boot-maven-plugin</artifactId> 117 <version>${spring-boot.version}</version> 118 <executions> 119 <execution> 120 <goals> 121 <goal>repackage</goal> 122 </goals> 123 </execution> 124 </executions> 125 <configuration> 126 <mainClass>au.spai.SpaiAPP</mainClass> <!-- 指定主类 --> 127 </configuration> 128 </plugin> 129 <!-- 显式配置编译器插件 --> 130 <plugin> 131 <groupId>org.apache.maven.plugins</groupId> 132 <artifactId>maven-compiler-plugin</artifactId> 133 <version>${maven-compiler-plugin.version}</version> 134 <configuration> 135 <source>17</source> <!-- 直接写死版本,避免属性未解析 --> 136 <target>17</target> 137 <encoding>${project.build.sourceEncoding}</encoding> 138 <!-- 若使用 Lombok,添加注解处理器路径 --> 139 <annotationProcessorPaths> 140 <path> 141 <groupId>org.projectlombok</groupId> 142 <artifactId>lombok</artifactId> 143 <version>${lombok.version}</version> 144 </path> 145 </annotationProcessorPaths> 146 </configuration> 147 </plugin> 148 <!-- <plugin>--> 149 <!-- <groupId>org.apache.maven.plugins</groupId>--> 150 <!-- <artifactId>maven-deploy-plugin</artifactId>--> 151 <!-- <version>${maven-deploy-plugin.version}</version>--> 152 <!-- <configuration>--> 153 <!-- <skip>true</skip>--> 154 <!-- </configuration>--> 155 <!-- </plugin>--> 156 </plugins> 157 </build> 158 <repositories> 159 <repository> 160 <id>spring-milestones</id> 161 <name>Spring Milestones</name> 162 <url>https://repo.spring.io/milestone</url> 163 <snapshots> 164 <enabled>false</enabled> 165 </snapshots> 166 </repository> 167 <repository> 168 <id>spring-snapshots</id> 169 <name>Spring Snapshots</name> 170 <url>https://repo.spring.io/snapshot</url> 171 <releases> 172 <enabled>false</enabled> 173 </releases> 174 </repository> 175 <repository> 176 <id>aliyunmaven</id> 177 <name>aliyun</name> 178 <url>https://maven.aliyun.com/repository/public</url> 179 </repository> 180 <repository> 181 <id>snapshots-repo</id> 182 <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 183 </repository> 184 </repositories> 185 </project>
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>springAI</groupId><artifactId>spai</artifactId><version>1.0.0</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version><maven-deploy-plugin.version>3.1.1</maven-deploy-plugin.version><!-- Spring Boot --><spring-boot.version>3.4.2</spring-boot.version><!-- Spring AI --> <!-- <spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version>--><spring-ai.version>1.0.0-M5</spring-ai.version><spring-ai-alibaba.version>1.0.0-M5.1</spring-ai-alibaba.version><!-- utils --><commons-lang3.version>3.14.0</commons-lang3.version><!-- 测试工具类--><jupiter.version>5.11.4</jupiter.version><lombok.version>1.18.24</lombok.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter</artifactId><version>${spring-ai-alibaba.version}</version></dependency> <!-- <dependency>--> <!-- <groupId>org.springframework.ai</groupId>--> <!-- <artifactId>spring-ai-openai-spring-boot-starter</artifactId>--> <!-- </dependency>--> <!-- <dependency>--> <!-- <groupId>org.springframework.ai</groupId>--> <!-- <artifactId>spring-ai-ollama-spring-boot-starter</artifactId>--> <!-- </dependency>--><dependency><groupId>javax.annotation</groupId><artifactId>javax.annotation-api</artifactId><version>1.3.2</version></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-pdf-document-reader</artifactId><version>${spring-ai.version}</version></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-elasticsearch-store-spring-boot-starter</artifactId><version>${spring-ai.version}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><scope>provided</scope></dependency><!-- 测试和开发依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><!-- JUnit Jupiter API --><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>${jupiter.version}</version><scope>test</scope></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring-boot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>org.springframework.ai</groupId><artifactId>spring-ai-bom</artifactId><version>${spring-ai.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud.ai</groupId><artifactId>spring-ai-alibaba-starter</artifactId><version>${spring-ai-alibaba.version}</version></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>${spring-boot.version}</version><executions><execution><goals><goal>repackage</goal></goals></execution></executions><configuration><mainClass>au.spai.SpaiAPP</mainClass> <!-- 指定主类 --></configuration></plugin><!-- 显式配置编译器插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><source>17</source> <!-- 直接写死版本,避免属性未解析 --><target>17</target><encoding>${project.build.sourceEncoding}</encoding><!-- 若使用 Lombok,添加注解处理器路径 --><annotationProcessorPaths><path><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></path></annotationProcessorPaths></configuration></plugin> <!-- <plugin>--> <!-- <groupId>org.apache.maven.plugins</groupId>--> <!-- <artifactId>maven-deploy-plugin</artifactId>--> <!-- <version>${maven-deploy-plugin.version}</version>--> <!-- <configuration>--> <!-- <skip>true</skip>--> <!-- </configuration>--> <!-- </plugin>--></plugins></build><repositories><repository><id>spring-milestones</id><name>Spring Milestones</name><url>https://repo.spring.io/milestone</url><snapshots><enabled>false</enabled></snapshots></repository><repository><id>spring-snapshots</id><name>Spring Snapshots</name><url>https://repo.spring.io/snapshot</url><releases><enabled>false</enabled></releases></repository><repository><id>aliyunmaven</id><name>aliyun</name><url>https://maven.aliyun.com/repository/public</url></repository><repository><id>snapshots-repo</id><url>https://oss.sonatype.org/content/repositories/snapshots/</url></repository></repositories> </project>
项目application.yml
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
spring:application:name: prompt-exampleelasticsearch:uris: http://localhost:9200ai:dashscope:api-key: sk-你的apikeyvectorstore:elasticsearch:index-name: spring-ai-alibaba-indexsimilarity: cosinedimensions: 1536