diff --git a/docs/modules/ROOT/pages/includes/quarkus-langchain4j-openai.adoc b/docs/modules/ROOT/pages/includes/quarkus-langchain4j-openai.adoc index c06832e1f..56928db5b 100644 --- a/docs/modules/ROOT/pages/includes/quarkus-langchain4j-openai.adoc +++ b/docs/modules/ROOT/pages/includes/quarkus-langchain4j-openai.adoc @@ -385,6 +385,23 @@ endif::add-copy-button-to-env-var[] |`false` +a| [[quarkus-langchain4j-openai_quarkus.langchain4j.openai.embedding-model.user]]`link:#quarkus-langchain4j-openai_quarkus.langchain4j.openai.embedding-model.user[quarkus.langchain4j.openai.embedding-model.user]` + + +[.description] +-- +A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. + +ifdef::add-copy-button-to-env-var[] +Environment variable: env_var_with_copy_button:+++QUARKUS_LANGCHAIN4J_OPENAI_EMBEDDING_MODEL_USER+++[] +endif::add-copy-button-to-env-var[] +ifndef::add-copy-button-to-env-var[] +Environment variable: `+++QUARKUS_LANGCHAIN4J_OPENAI_EMBEDDING_MODEL_USER+++` +endif::add-copy-button-to-env-var[] +--|string +|`default` + + a| [[quarkus-langchain4j-openai_quarkus.langchain4j.openai.moderation-model.model-name]]`link:#quarkus-langchain4j-openai_quarkus.langchain4j.openai.moderation-model.model-name[quarkus.langchain4j.openai.moderation-model.model-name]` diff --git a/openai/openai-vanilla/runtime/src/main/java/io/quarkiverse/langchain4j/openai/runtime/OpenAiRecorder.java b/openai/openai-vanilla/runtime/src/main/java/io/quarkiverse/langchain4j/openai/runtime/OpenAiRecorder.java index 6ea240e64..bce8fd3e6 100644 --- a/openai/openai-vanilla/runtime/src/main/java/io/quarkiverse/langchain4j/openai/runtime/OpenAiRecorder.java +++ b/openai/openai-vanilla/runtime/src/main/java/io/quarkiverse/langchain4j/openai/runtime/OpenAiRecorder.java @@ -103,7 +103,8 @@ public Supplier embeddingModel(Langchain4jOpenAiConfig runtimeConfig) { .maxRetries(runtimeConfig.maxRetries()) .logRequests(firstOrDefault(false, embeddingModelConfig.logRequests(), runtimeConfig.logRequests())) .logResponses(firstOrDefault(false, embeddingModelConfig.logResponses(), runtimeConfig.logResponses())) - .modelName(embeddingModelConfig.modelName()); + .modelName(embeddingModelConfig.modelName()) + .user(embeddingModelConfig.user()); runtimeConfig.organizationId().ifPresent(builder::organizationId); diff --git a/openai/openai-vanilla/runtime/src/main/java/io/quarkiverse/langchain4j/openai/runtime/config/EmbeddingModelConfig.java b/openai/openai-vanilla/runtime/src/main/java/io/quarkiverse/langchain4j/openai/runtime/config/EmbeddingModelConfig.java index ec2b06ad9..9bf501a10 100644 --- a/openai/openai-vanilla/runtime/src/main/java/io/quarkiverse/langchain4j/openai/runtime/config/EmbeddingModelConfig.java +++ b/openai/openai-vanilla/runtime/src/main/java/io/quarkiverse/langchain4j/openai/runtime/config/EmbeddingModelConfig.java @@ -26,4 +26,10 @@ public interface EmbeddingModelConfig { */ @ConfigDocDefault("false") Optional logResponses(); + + /** + * A unique identifier representing your end-user, which can help OpenAI to monitor and detect abuse. + */ + @WithDefault("default") + String user(); }