zxs1633079383 opened a new pull request, #870:
URL: https://github.com/apache/flink-agents/pull/870

   <!--
   * Thank you very much for contributing to Flink Agents.
   * Please add the relevant components in the PR title. E.g., [api], 
[runtime], [java], [python], [hotfix], etc.
   -->
   
   Linked issue: #858
   
   ### Purpose of change
   
   This adds provider-neutral token usage metrics for embedding model calls.
   
   Embedding providers can now report input-side usage through the embedding
   connection, while embedding setup records the usage under the current model
   metric group after the request completes. Providers without token usage 
remain
   no-op.
   
   Covered paths in this PR:
   
   - Java embedding setup token metrics.
   - Python embedding setup token metrics.
   - OpenAI-compatible Python embedding usage extraction.
   - DashScope/Tongyi Python embedding usage extraction.
   - Bedrock Titan Java embedding `inputTextTokenCount` extraction when present.
   
   ### Tests
   
   - `cd python && uv run --python 3.12 --extra test pytest 
flink_agents/api/embedding_models/tests/test_token_metrics.py 
flink_agents/integrations/embedding_models/tests/test_openai_embedding_model.py 
flink_agents/integrations/embedding_models/tests/test_tongyi_embedding_model.py 
-q`
   - `cd python && uv run --python 3.12 --extra lint ruff format --check 
flink_agents/api/embedding_models/embedding_model.py 
flink_agents/api/embedding_models/tests/test_token_metrics.py 
flink_agents/integrations/embedding_models/openai_embedding_model.py 
flink_agents/integrations/embedding_models/tests/test_openai_embedding_model.py 
flink_agents/integrations/embedding_models/tongyi_embedding_model.py 
flink_agents/integrations/embedding_models/tests/test_tongyi_embedding_model.py 
&& uv run --python 3.12 --extra lint ruff check 
flink_agents/api/embedding_models/embedding_model.py 
flink_agents/api/embedding_models/tests/test_token_metrics.py 
flink_agents/integrations/embedding_models/openai_embedding_model.py 
flink_agents/integrations/embedding_models/tests/test_openai_embedding_model.py 
flink_agents/integrations/embedding_models/tongyi_embedding_model.py 
flink_agents/integrations/embedding_models/tests/test_tongyi_embedding_model.py`
   - `export 
JAVA_HOME=/usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home; export 
PATH="$JAVA_HOME/bin:$PATH"; mvn --batch-mode --no-transfer-progress -pl api 
-Dtest=BaseEmbeddingModelSetupTokenMetricsTest test`
   - `export 
JAVA_HOME=/usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home; export 
PATH="$JAVA_HOME/bin:$PATH"; mvn --batch-mode --no-transfer-progress -pl 
api,integrations/embedding-models/bedrock -am spotless:check 
-Dspotless.skip=false`
   - `export 
JAVA_HOME=/usr/local/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home; export 
PATH="$JAVA_HOME/bin:$PATH"; mvn --batch-mode --no-transfer-progress -pl 
integrations/embedding-models/bedrock -am -DskipTests compile`
   - `git diff --check`
   
   ### API
   
   This adds `EmbeddingTokenUsage` and protected token-usage recording helpers 
for
   embedding model connections. Existing `embed(...)` return types are 
unchanged.
   
   ### Documentation
   
   - [ ] `doc-needed`
   - [x] `doc-not-needed`
   - [ ] `doc-included`
   
   


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