(improvement)(chat) Fix the Zhipu embedding model issue. (#1206)

This commit is contained in:
lexluo09
2024-06-24 22:44:51 +08:00
committed by GitHub
parent 4b288d9815
commit 96d8ba5ec4
5 changed files with 52 additions and 25 deletions

View File

@@ -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);
} }

View File

@@ -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>

View File

@@ -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;

View File

@@ -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
View File

@@ -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>