mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-12 04:27:39 +00:00
(improvement)(chat) Fix the Zhipu embedding model issue. (#1206)
This commit is contained in:
@@ -1,5 +1,23 @@
|
|||||||
package com.tencent.supersonic.auth.authentication.utils;
|
package com.tencent.supersonic.auth.authentication.utils;
|
||||||
|
|
||||||
|
import com.tencent.supersonic.auth.api.authentication.config.AuthenticationConfig;
|
||||||
|
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
||||||
|
import com.tencent.supersonic.auth.api.authentication.pojo.UserWithPassword;
|
||||||
|
import com.tencent.supersonic.common.pojo.exception.AccessException;
|
||||||
|
import io.jsonwebtoken.Claims;
|
||||||
|
import io.jsonwebtoken.Jwts;
|
||||||
|
import io.jsonwebtoken.SignatureAlgorithm;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.util.Date;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_ALGORITHM;
|
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_ALGORITHM;
|
||||||
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_CREATE_TIME;
|
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_CREATE_TIME;
|
||||||
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_IS_ADMIN;
|
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_IS_ADMIN;
|
||||||
@@ -10,22 +28,6 @@ import static com.tencent.supersonic.auth.api.authentication.constant.UserConsta
|
|||||||
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_USER_NAME;
|
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_USER_NAME;
|
||||||
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_USER_PASSWORD;
|
import static com.tencent.supersonic.auth.api.authentication.constant.UserConstants.TOKEN_USER_PASSWORD;
|
||||||
|
|
||||||
import com.tencent.supersonic.auth.api.authentication.config.AuthenticationConfig;
|
|
||||||
import com.tencent.supersonic.auth.api.authentication.pojo.User;
|
|
||||||
import com.tencent.supersonic.auth.api.authentication.pojo.UserWithPassword;
|
|
||||||
import com.tencent.supersonic.common.pojo.exception.AccessException;
|
|
||||||
import io.jsonwebtoken.Claims;
|
|
||||||
import io.jsonwebtoken.Jwts;
|
|
||||||
import io.jsonwebtoken.SignatureAlgorithm;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
|
||||||
import java.util.Date;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import javax.servlet.http.HttpServletRequest;
|
|
||||||
import lombok.extern.slf4j.Slf4j;
|
|
||||||
import org.apache.commons.lang3.StringUtils;
|
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Component
|
@Component
|
||||||
public class UserTokenUtils {
|
public class UserTokenUtils {
|
||||||
@@ -118,15 +120,19 @@ public class UserTokenUtils {
|
|||||||
String tokenSecret = getTokenSecret(appKey);
|
String tokenSecret = getTokenSecret(appKey);
|
||||||
claims = Jwts.parser()
|
claims = Jwts.parser()
|
||||||
.setSigningKey(tokenSecret.getBytes(StandardCharsets.UTF_8))
|
.setSigningKey(tokenSecret.getBytes(StandardCharsets.UTF_8))
|
||||||
.parseClaimsJws(token.startsWith(TOKEN_PREFIX)
|
.build().parseClaimsJws(getTokenString(token)).getBody();
|
||||||
? token.substring(token.indexOf(TOKEN_PREFIX) + TOKEN_PREFIX.length()).trim() :
|
|
||||||
token.trim()).getBody();
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new AccessException("parse user info from token failed :" + token);
|
throw new AccessException("parse user info from token failed :" + token);
|
||||||
}
|
}
|
||||||
return claims;
|
return claims;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@NotNull
|
||||||
|
private static String getTokenString(String token) {
|
||||||
|
return token.startsWith(TOKEN_PREFIX) ? token.substring(token.indexOf(TOKEN_PREFIX)
|
||||||
|
+ TOKEN_PREFIX.length()).trim() : token.trim();
|
||||||
|
}
|
||||||
|
|
||||||
private String generate(Map<String, Object> claims, String appKey) {
|
private String generate(Map<String, Object> claims, String appKey) {
|
||||||
return toTokenString(claims, appKey);
|
return toTokenString(claims, appKey);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -253,6 +253,16 @@
|
|||||||
</exclusion>
|
</exclusion>
|
||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>dev.langchain4j</groupId>
|
||||||
|
<artifactId>langchain4j-chatglm</artifactId>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>slf4j-simple</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
<!--langchain4j-->
|
<!--langchain4j-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.hankcs</groupId>
|
<groupId>com.hankcs</groupId>
|
||||||
|
|||||||
@@ -10,13 +10,13 @@ import lombok.Setter;
|
|||||||
@Setter
|
@Setter
|
||||||
class EmbeddingStoreProperties {
|
class EmbeddingStoreProperties {
|
||||||
|
|
||||||
|
private String uri;
|
||||||
private String host;
|
private String host;
|
||||||
private Integer port;
|
private Integer port;
|
||||||
private String collectionName;
|
private String collectionName;
|
||||||
private Integer dimension;
|
private Integer dimension;
|
||||||
private IndexType indexType;
|
private IndexType indexType;
|
||||||
private MetricType metricType;
|
private MetricType metricType;
|
||||||
private String uri;
|
|
||||||
private String token;
|
private String token;
|
||||||
private String username;
|
private String username;
|
||||||
private String password;
|
private String password;
|
||||||
|
|||||||
@@ -1,19 +1,19 @@
|
|||||||
package dev.langchain4j.milvus.spring;
|
package dev.langchain4j.milvus.spring;
|
||||||
|
|
||||||
import static dev.langchain4j.milvus.spring.Properties.PREFIX;
|
|
||||||
|
|
||||||
import dev.langchain4j.store.embedding.EmbeddingStoreFactory;
|
import dev.langchain4j.store.embedding.EmbeddingStoreFactory;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Bean;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
|
||||||
|
import static dev.langchain4j.milvus.spring.Properties.PREFIX;
|
||||||
|
|
||||||
@Configuration
|
@Configuration
|
||||||
@EnableConfigurationProperties(Properties.class)
|
@EnableConfigurationProperties(Properties.class)
|
||||||
public class MilvusAutoConfig {
|
public class MilvusAutoConfig {
|
||||||
|
|
||||||
@Bean
|
@Bean
|
||||||
@ConditionalOnProperty(PREFIX + ".embedding-store.base-url")
|
@ConditionalOnProperty(PREFIX + ".embedding-store.url")
|
||||||
EmbeddingStoreFactory milvusChatModel(Properties properties) {
|
EmbeddingStoreFactory milvusChatModel(Properties properties) {
|
||||||
return new MilvusEmbeddingStoreFactory(properties);
|
return new MilvusEmbeddingStoreFactory(properties);
|
||||||
}
|
}
|
||||||
|
|||||||
15
pom.xml
15
pom.xml
@@ -38,7 +38,7 @@
|
|||||||
<pagehelper.spring.version>2.1.0</pagehelper.spring.version>
|
<pagehelper.spring.version>2.1.0</pagehelper.spring.version>
|
||||||
<mybatis.version>3.5.3</mybatis.version>
|
<mybatis.version>3.5.3</mybatis.version>
|
||||||
<lombok.version>1.18.20</lombok.version>
|
<lombok.version>1.18.20</lombok.version>
|
||||||
<guava.version>20.0</guava.version>
|
<guava.version>32.0.0-jre</guava.version>
|
||||||
<hanlp.version>portable-1.8.3</hanlp.version>
|
<hanlp.version>portable-1.8.3</hanlp.version>
|
||||||
<hadoop.version>2.7.2</hadoop.version>
|
<hadoop.version>2.7.2</hadoop.version>
|
||||||
<jackson.version>2.11.2</jackson.version>
|
<jackson.version>2.11.2</jackson.version>
|
||||||
@@ -47,7 +47,7 @@
|
|||||||
<org.testng.version>6.13.1</org.testng.version>
|
<org.testng.version>6.13.1</org.testng.version>
|
||||||
<yaml.utils.version>2.14.1</yaml.utils.version>
|
<yaml.utils.version>2.14.1</yaml.utils.version>
|
||||||
<transmittable.thread.local.version>2.12.1</transmittable.thread.local.version>
|
<transmittable.thread.local.version>2.12.1</transmittable.thread.local.version>
|
||||||
<jjwt.version>0.9.1</jjwt.version>
|
<jjwt.version>0.12.3</jjwt.version>
|
||||||
<alibaba.druid.version>1.2.3</alibaba.druid.version>
|
<alibaba.druid.version>1.2.3</alibaba.druid.version>
|
||||||
<mysql.connector.java.version>5.1.46</mysql.connector.java.version>
|
<mysql.connector.java.version>5.1.46</mysql.connector.java.version>
|
||||||
<mybatis.plus.version>3.1.2</mybatis.plus.version>
|
<mybatis.plus.version>3.1.2</mybatis.plus.version>
|
||||||
@@ -225,6 +225,17 @@
|
|||||||
</exclusion>
|
</exclusion>
|
||||||
</exclusions>
|
</exclusions>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>dev.langchain4j</groupId>
|
||||||
|
<artifactId>langchain4j-chatglm</artifactId>
|
||||||
|
<version>${langchain4j.version}</version>
|
||||||
|
<exclusions>
|
||||||
|
<exclusion>
|
||||||
|
<groupId>org.slf4j</groupId>
|
||||||
|
<artifactId>slf4j-simple</artifactId>
|
||||||
|
</exclusion>
|
||||||
|
</exclusions>
|
||||||
|
</dependency>
|
||||||
<!---langchain4j-->
|
<!---langchain4j-->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.springframework.boot</groupId>
|
<groupId>org.springframework.boot</groupId>
|
||||||
|
|||||||
Reference in New Issue
Block a user