Conversation
| "target": "*", | ||
| "fields": [ | ||
| { "pattern": "choices[*].delta.refusal", "reason": "ChatCompletions refusal field has no equivalent in other providers" }, | ||
| { "pattern": "choices[*].delta.tool_calls", "reason": "Streaming tool_calls transformation not yet implemented" } |
There was a problem hiding this comment.
this is the big one to remove choices[*].delta.tool_calls and what was blocking loop anthropic from working.
There was a problem hiding this comment.
the way the testing works here is the following:
we have coverage-report binary that produces an HTML matrix report -> https://github.com/braintrustdata/lingua/actions/runs/21727047150?pr=81
^ the HTML report is helpful for when u want the AI to crank at supporting smth.
in addition we run https://github.com/braintrustdata/lingua/blob/main/crates/coverage-report/tests/cross_provider_test.rs
which runs cargo test on the coverage-report matrix and basically it'll fail if we see an "unexpected diff" where it's not listed in crates/coverage-report/src/streaming_expected_differences.json.
curerntly we don't have full support for all providers so we are flagging them in one by one, the "strict" mode tests only run for:
const REQUIRED_PROVIDERS: &[ProviderFormat] = &[
ProviderFormat::Responses,
ProviderFormat::OpenAI, // ChatCompletions
ProviderFormat::Anthropic,
];
This PR adds support for anthropic streaming tool calls.