wenjin272 commented on code in PR #1047:
URL: https://github.com/apache/flink-agents/pull/1047#discussion_r3912075877


##########
api/src/main/java/org/apache/flink/agents/api/embedding/model/BaseEmbeddingModelSetup.java:
##########
@@ -93,9 +94,52 @@ public String getModel() {
         return model;
     }
 
+    /**
+     * Record embedding token usage metrics for the given model on this 
setup's bound metric group.
+     *
+     * <p>Mirrors {@code BaseChatModelSetup#recordTokenMetrics} but records 
input-side tokens only,
+     * since embeddings have no completion tokens. Counters are placed under 
the same {@code model}
+     * key-value group used by chat metrics, so embedding and chat usage for a 
model share one
+     * dimension.
+     *
+     * <p>Unlike the chat path, embedding calls do not run inside a plan 
action that hands in a
+     * request-scoped metric group (vector-store, RAG, and direct calls reach 
this setup directly),
+     * so the resource-bound metric group injected via {@link #setMetricGroup} 
is used instead.
+     *
+     * @param modelName the name of the model used
+     * @param promptTokens the number of prompt tokens
+     * @param totalTokens the total number of tokens reported by the provider
+     */
+    public void recordTokenMetrics(String modelName, long promptTokens, long 
totalTokens) {
+        Preconditions.checkArgument(
+                modelName != null && !modelName.isBlank(), "Model name must 
not be null or blank.");
+        FlinkAgentsMetricGroup metricGroup = getMetricGroup();

Review Comment:
   For context, this is the same recording-boundary issue that led #870 to 
remove automatic metric recording and retain only usage transport. @joeyutong  
is working on the framework-level fix, so this PR may need to wait for that 
work and then adopt the resulting API.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to