langchain4j [特性]Chroma支持基本认证和令牌认证,

vwhgwdsa  于 3个月前  发布在  其他
关注(0)|答案(3)|浏览(39)

您的功能请求是否与问题相关?请描述。

目前,ChromaDBEmbeddedStore不支持认证。

描述您希望的解决方案

添加基本认证和令牌认证的支持

描述您考虑过的替代方案
附加上下文

使用Testcontainers进行设置
基本认证

static ChromaDBContainer chromaContainer = new ChromaDBContainer("ghcr.io/chroma-core/chroma:0.4.22")
	.withEnv("CHROMA_SERVER_AUTH_CREDENTIALS_FILE", "/chroma/server.htpasswd")
	.withEnv("CHROMA_SERVER_AUTH_CREDENTIALS_PROVIDER",
			"chromadb.auth.providers.HtpasswdFileServerAuthCredentialsProvider")
	.withEnv("CHROMA_SERVER_AUTH_PROVIDER", "chromadb.auth.basic.BasicAuthServerProvider")
	.withCopyToContainer(MountableFile.forClasspathResource("server.htpasswd"), "/chroma/server.htpasswd");

令牌认证

static ChromaDBContainer chromaContainer = new ChromaDBContainer("ghcr.io/chroma-core/chroma:0.4.22")
	.withEnv("CHROMA_SERVER_AUTH_CREDENTIALS", CHROMA_SERVER_AUTH_CREDENTIALS)
	.withEnv("CHROMA_SERVER_AUTH_CREDENTIALS_PROVIDER",
			"chromadb.auth.token.TokenConfigServerAuthCredentialsProvider")
	.withEnv("CHROMA_SERVER_AUTH_PROVIDER", "chromadb.auth.token.TokenAuthServerProvider");
s2j5cfk0

s2j5cfk01#

无法在测试容器中使认证工作正常进行( sd-f@cb83256 )有什么想法吗?

vhipe2zx

vhipe2zx2#

在chroma 0.5.x版本中,定义应该是

static ChromaDBContainer chroma = new ChromaDBContainer("ghcr.io/chroma-core/chroma:0.5.0")
	.withEnv("CHROMA_SERVER_AUTHN_CREDENTIALS", "token")
	.withEnv("CHROMA_SERVER_AUTHN_PROVIDER", "chromadb.auth.token_authn.TokenAuthenticationServerProvider");

请参阅https://docs.trychroma.com/deployment/migration#token

ecr0jaav

ecr0jaav3#

@eddumelendez 非常感谢,这确实有效。所有测试都通过了。

相关问题