.idea/compiler.xml
@@ -7,12 +7,13 @@ <sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> <outputRelativeToContentRoot value="true" /> <module name="ollama-ai" /> <module name="ollama_ai" /> </profile> </annotationProcessing> </component> <component name="JavacSettings"> <option name="ADDITIONAL_OPTIONS_OVERRIDE"> <module name="ollama-ai" options="-parameters" /> <module name="ollama_ai" options="-parameters" /> </option> </component> </project> .idea/jarRepositories.xml
@@ -4,7 +4,12 @@ <remote-repository> <option name="id" value="central" /> <option name="name" value="Central Repository" /> <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" /> <option name="url" value="https://maven.aliyun.com/repository/public" /> </remote-repository> <remote-repository> <option name="id" value="central" /> <option name="name" value="Central Repository" /> <option name="url" value="https://repo.maven.apache.org/maven2" /> </remote-repository> <remote-repository> <option name="id" value="central" /> @@ -17,6 +22,16 @@ <option name="url" value="https://repo.spring.io/snapshot" /> </remote-repository> <remote-repository> <option name="id" value="central" /> <option name="name" value="Central Repository" /> <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" /> </remote-repository> <remote-repository> <option name="id" value="spring-snapshots" /> <option name="name" value="Spring Snapshots" /> <option name="url" value="https://maven.aliyun.com/repository/public" /> </remote-repository> <remote-repository> <option name="id" value="jboss.community" /> <option name="name" value="JBoss Community repository" /> <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" /> .idea/misc.xml
@@ -1,6 +1,9 @@ <?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="JavaScriptSettings"> <option name="languageLevel" value="ES6" /> </component> <component name="MavenProjectsManager"> <option name="originalFiles"> <list> @@ -8,5 +11,5 @@ </list> </option> </component> <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="17" project-jdk-type="JavaSDK" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="17" project-jdk-type="JavaSDK" /> </project> .idea/ollama_ai.iml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,2 @@ <?xml version="1.0" encoding="UTF-8"?> <module type="JAVA_MODULE" version="4" /> pom.xml
@@ -5,7 +5,7 @@ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.6</version> <version>2.6.13</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.yb</groupId> @@ -15,7 +15,7 @@ <description>ollama-ai</description> <packaging>jar</packaging> <properties> <java.version>17</java.version> <java.version>8</java.version> <spring-ai.version>1.0.0-SNAPSHOT</spring-ai.version> </properties> <dependencies> @@ -103,6 +103,7 @@ <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> src/main/java/com/yb/controller/AiController.java
ÎļþÒÑɾ³ý src/main/java/com/yb/controller/XzController.java
@@ -1,57 +1,108 @@ package com.yb.controller; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.yb.config.R; import com.yb.entity.ReqEntity; import com.yb.helper.RsaHelper; import com.yb.util.EntityHttpUtil; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @Tag(name="æ°æºæ¥å£") @Tag(name = "æ°æºæ¥å£") @RestController @RequestMapping("/api/v1") public class XzController { @Autowired WebSocketController webSocketController; @Autowired private EntityHttpUtil entityHttpUtil; @Value("${spring.geographical.canview}") String canview; @Value("${spring.geographical.entityName}") String entityName; @Value("${spring.geographical.dbid}") String dbid; @Value("${spring.geographical.layerId}") String layerId; @Value("${spring.geographical.queryEntity}") String queryEntity; @Value("${spring.geographical.publickey}") String publickey; @Value("${spring.geographical.token}") String token; private JSONObject jsonObject; @PostMapping("/poiMap") @Operation(summary = "æ¾ç¤ºå°ç¹") public R poiMap(@Parameter String place,@Parameter String mid){ System.out.println("rec message:"+place+" mid:"+mid); HashMap<String,Object> hash = new HashMap<>(); hash.put("func","poiMap"); hash.put("mid","mid"); public R poiMap(@Parameter String place, @Parameter String mid) throws Exception { System.out.println("rec message:" + place + " mid:" + mid); HashMap<String, Object> hash = new HashMap<>(); hash.put("func", "poiMap"); hash.put("mid", mid); ReqEntity reqEntity = new ReqEntity(); reqEntity.setPlace(place); reqEntity.setX("120.9671"); reqEntity.setY("13.5748"); hash.put("poi",reqEntity); String message = JSON.toJSONString(hash); webSocketController.sendAllMessage(message); String query = "enti_name like '%" + place + "%'" + ""; String key = getPublickey(); String encrypt = RsaHelper.encrypt(key, query); HashMap formData = new HashMap<>(); formData.put("token", token); formData.put("start", "1"); formData.put("count", "0"); formData.put("containCount", "true"); formData.put("layerid", layerId); formData.put("dbid", dbid); formData.put("where", encrypt); String jsonString = entityHttpUtil.getPostMessage(queryEntity, formData); JSONObject jsonObject = JSON.parseObject(jsonString); JSONObject dataObjject = jsonObject.getJSONObject("data"); JSONArray dataArray = dataObjject.getJSONArray("items"); JSONObject item = dataArray.getJSONObject(0); reqEntity.setX(item.getString("lon")); reqEntity.setY(item.getString("lat")); System.out.print(item); reqEntity.setPlace(item.getString("enti_name")); hash.put("poi", reqEntity); return R.ok(hash); } //è·åç§é¥æ¥å£ public String getPublickey() { HashMap<String, String> map = new HashMap<>(); map.put("token", token); String jsonString = entityHttpUtil.getPostMessage(publickey, map); JSONObject jsonObject = JSON.parseObject(jsonString); return jsonObject.getString("data"); } @PostMapping("/aroundPoi") @Operation(summary = "å¨è¾¹æ¥è¯¢") public R aroundPoi(@RequestBody ReqEntity reqEntity){ System.out.println("rec message:"+reqEntity); HashMap<String,Object> hash = new HashMap<>(); hash.put("func","aroundPoi"); hash.put("mid","mid"); public R aroundPoi(@RequestBody ReqEntity reqEntity) { System.out.println("rec message:" + reqEntity); HashMap<String, Object> hash = new HashMap<>(); hash.put("func", "aroundPoi"); hash.put("mid", "mid"); List<ReqEntity> list = new ArrayList<>(); reqEntity.setX("120.9671"); reqEntity.setY("13.5748"); // reqEntity.setX("120.9671"); // reqEntity.setY("13.5748"); list.add(reqEntity); list.add(reqEntity); hash.put("poi",list); hash.put("poi", list); String message = JSON.toJSONString(hash); webSocketController.sendAllMessage(message); @@ -78,14 +129,14 @@ */ @PostMapping("/queryMeta") @Operation(summary = "å ä¿¡æ¯æ¥è¯¢") public R queryMeta(@Parameter String mid){ public R queryMeta(@Parameter String mid) { System.out.println("queryMeta "); HashMap<String,Object> hash = new HashMap<>(); hash.put("func","queryMeta"); hash.put("mid",mid); HashMap<String, Object> hash = new HashMap<>(); hash.put("func", "queryMeta"); hash.put("mid", mid); List<ReqEntity> list = new ArrayList<>(); hash.put("meta",list); hash.put("meta", list); String message = JSON.toJSONString(hash); webSocketController.sendAllMessage(message); src/main/java/com/yb/helper/RsaHelper.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ package com.yb.helper; import org.apache.commons.codec.binary.Base64; import javax.crypto.Cipher; import java.security.KeyFactory; import java.security.interfaces.RSAPublicKey; import java.security.spec.X509EncodedKeySpec; public class RsaHelper { // RsAç§é¥å å¯ public static String encrypt(String key ,String str) throws Exception { // Base64ç¼ç çå ¬é¥ byte[] decoded = Base64.decodeBase64(key+ ""); RSAPublicKey pubKey = (RSAPublicKey) KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec(decoded)); // RSAå å¯ï¼RSA/ECB/NoPadding Cipher cipher = Cipher.getInstance("RSA"); cipher.init(Cipher.ENCRYPT_MODE, pubKey); String outStr = Base64.encodeBase64String(cipher.doFinal(str.getBytes("UTF-8"))); return outStr; } } src/main/java/com/yb/message/WebSocketServer.java
@@ -1,8 +1,6 @@ package com.yb.message; import jakarta.annotation.PostConstruct; import jakarta.websocket.*; import jakarta.websocket.server.ServerEndpoint; import org.springframework.stereotype.*; import java.util.concurrent.atomic.*; import java.util.concurrent.*; @@ -11,6 +9,10 @@ import java.util.*; import org.slf4j.*; import javax.annotation.PostConstruct; import javax.websocket.*; import javax.websocket.server.ServerEndpoint; @ServerEndpoint("/ws/asset") @Component public class WebSocketServer src/main/java/com/yb/util/EntityHttpUtil.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,69 @@ package com.yb.util; import com.alibaba.fastjson.JSON; import okhttp3.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; import java.util.HashMap; import java.util.concurrent.TimeUnit; @Component @RestController public class EntityHttpUtil { @Value("${spring.geographical.token}") String token ; @Value("${spring.geographical.url}") String url ; public String getMessage(String aurl){ try{ String axiosUrl = url+aurl; OkHttpClient client = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS) .readTimeout(5, TimeUnit.SECONDS) .writeTimeout(5, TimeUnit.SECONDS) .build(); Request request = new Request.Builder() .addHeader("Token",token) .url(axiosUrl) .build(); Response response = client.newCall(request).execute(); return response.body().string(); }catch (IOException e){ System.out.println(e.getMessage()); } return null; } public String getPostMessage(String aurl, HashMap<String,String> parms){ try{ String axiosUrl = url+aurl; FormBody.Builder builder= new FormBody.Builder(); for(String key:parms.keySet()){ builder.add(key,parms.get(key)); } RequestBody requestBody = builder.build(); OkHttpClient client = new OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS) .readTimeout(5, TimeUnit.SECONDS) .writeTimeout(5, TimeUnit.SECONDS) .build(); Request request = new Request.Builder() .addHeader("Token",token) .url(axiosUrl) .post(requestBody) .build(); Response response = client.newCall(request).execute(); return response.body().string(); }catch (IOException e){ System.out.println(e.getMessage()); } return null; } } src/main/resources/application.yml
@@ -19,6 +19,30 @@ kc: http://192.168.11.28/api/core/dataset/create kl: http://192.168.11.28/api/core/dataset/list kd: http://192.168.11.28/api/core/dataset/detail # å°çå®ä½åº geographical: # Tokenå°å token: 9ce350f238ba44fda10ddfe8b80f8967 # 请æ±å°å url: http://106.120.22.26:8013/geo-service/ # è·åå®ä½åºå表 canview: /entitydb/list/canview # æ¥è¯¢å¾å±æ°æ®ï¼ææ°éï¼ queryEntity: /entitydbdata/query/entity # è·åkeyå¯ä¸æ è¯ publickey: /setting/publickey # å®ä½åºåç§° entityName: å¤§æ¨¡åæµè¯åº # å®ä½åºdbid dbid: 3dce04bbab1540b5ae3d147e8503ab9d # å®ä½åºdbid layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9 # apikey: fastgpt-hTO28RRPbu8nvPk7mp4jYHHLWfoKfgtATtkOqy1WyoRq30qR7WPtac # url: http://192.168.11.104:13000/api/v1/chat/completions # kc: http://192.168.11.104:13000/api/core/dataset/create target/classes/application.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,53 @@ server: port: 7777 # æå¡å¨çHTTP端å£ï¼é»è®¤ä¸º8080 servlet: context-path: / spring: application: name: ollama-ai ai: ollama: base-url: http://127.0.0.1:11434 chat: # model: yi:9b-chat-v1.5-q4_0 model: qwen2:1.5b intent: http://106.120.22.26:5368/intention?message fastgpt: appid: 6673bfa1d14da0cede023f28 apikey: fastgpt-eNuz6Rsc5EMrYMiODBQbBXCbGwQYp9nSpYPE06vBBt3nitnFLdHSoQ0BAmNHDyB url: http://192.168.11.28/api/v1/chat/completions kc: http://192.168.11.28/api/core/dataset/create kl: http://192.168.11.28/api/core/dataset/list kd: http://192.168.11.28/api/core/dataset/detail # å°çå®ä½åº geographical: # Tokenå°å token: 9ce350f238ba44fda10ddfe8b80f8967 # 请æ±å°å url: http://106.120.22.26:8013/geo-service/ # è·åå®ä½åºå表 canview: /entitydb/list/canview # æ¥è¯¢å¾å±æ°æ®ï¼ææ°éï¼ queryEntity: /entitydbdata/query/entity # è·åkeyå¯ä¸æ è¯ publickey: /setting/publickey # å®ä½åºåç§° entityName: å¤§æ¨¡åæµè¯åº # å®ä½åºdbid dbid: 3dce04bbab1540b5ae3d147e8503ab9d # å®ä½åºdbid layerId: a61f2f8f-0bf9-422f-86fe-b7b0a30ebad9 # apikey: fastgpt-hTO28RRPbu8nvPk7mp4jYHHLWfoKfgtATtkOqy1WyoRq30qR7WPtac # url: http://192.168.11.104:13000/api/v1/chat/completions # kc: http://192.168.11.104:13000/api/core/dataset/create # kl: http://192.168.11.104:13000/api/core/dataset/list # kd: http://192.168.11.104:13000/api/core/dataset/detail target/classes/com/yb/OllamaAiApplication.classBinary files differ
target/classes/com/yb/config/R.classBinary files differ
target/classes/com/yb/controller/WebSocketController.classBinary files differ
target/classes/com/yb/controller/XzController.classBinary files differ
target/classes/com/yb/entity/ReqEntity.classBinary files differ
target/classes/com/yb/entity/ResponseEntity.classBinary files differ
target/classes/com/yb/helper/RsaHelper.classBinary files differ
target/classes/com/yb/message/WebSocketServer.classBinary files differ
target/classes/com/yb/message/WebSocketStompConfig.classBinary files differ
target/classes/com/yb/message/WebsocketConfiguration.classBinary files differ
target/classes/com/yb/util/EntityHttpUtil.classBinary files differ
target/classes/com/yb/util/OkHttpUtil.classBinary files differ
target/maven-archiver/pom.properties
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,3 @@ artifactId=ollama-ai groupId=com.yb version=0.0.1-SNAPSHOT target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ com\yb\controller\WebSocketController.class com\yb\message\WebsocketConfiguration.class com\yb\util\EntityHttpUtil.class com\yb\OllamaAiApplication.class com\yb\entity\ResponseEntity.class com\yb\entity\ReqEntity.class com\yb\helper\RsaHelper.class com\yb\util\OkHttpUtil.class com\yb\message\WebSocketServer.class com\yb\config\R.class com\yb\controller\XzController.class com\yb\message\WebSocketStompConfig.class target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,12 @@ E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\entity\ReqEntity.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\controller\WebSocketController.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\util\EntityHttpUtil.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\message\WebSocketStompConfig.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\OllamaAiApplication.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\util\OkHttpUtil.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\controller\XzController.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\helper\RsaHelper.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\message\WebSocketServer.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\config\R.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\entity\ResponseEntity.java E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\main\java\com\yb\message\WebsocketConfiguration.java target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst
¶Ô±ÈÐÂÎļþ @@ -0,0 +1 @@ com\yb\OllamaApiTest.class target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst
¶Ô±ÈÐÂÎļþ @@ -0,0 +1 @@ E:\project\AI大模å\æ°æºå¯¹æ¥\ollama_ai\src\test\java\com\yb\OllamaApiTest.java target/ollama-ai-0.0.1-SNAPSHOT.jarBinary files differ
target/ollama-ai-0.0.1-SNAPSHOT.jar.originalBinary files differ
target/test-classes/com/yb/OllamaApiTest.classBinary files differ