Merge pull request #14026 from TomeHirata/citation-supported-text
Add supported text field to anthropic citation response
This commit is contained in:
commit
afa687182a
@ -743,6 +743,8 @@ class ModelResponseIterator:
|
||||
)
|
||||
|
||||
text, tool_use = self._handle_json_mode_chunk(text=text, tool_use=tool_use)
|
||||
if type_chunk:
|
||||
provider_specific_fields["chunk_type"] = type_chunk
|
||||
|
||||
returned_chunk = ModelResponseStream(
|
||||
choices=[
|
||||
|
||||
@ -797,7 +797,15 @@ class AnthropicConfig(AnthropicModelInfo, BaseConfig):
|
||||
if content.get("citations") is not None:
|
||||
if citations is None:
|
||||
citations = []
|
||||
citations.append(content["citations"])
|
||||
citations.append(
|
||||
[
|
||||
{
|
||||
**citation,
|
||||
"supported_text": content.get("text", ""),
|
||||
}
|
||||
for citation in content["citations"]
|
||||
]
|
||||
)
|
||||
if thinking_blocks is not None:
|
||||
reasoning_content = ""
|
||||
for block in thinking_blocks:
|
||||
|
||||
@ -920,6 +920,14 @@ def test_anthropic_citations_api():
|
||||
citations = resp.choices[0].message.provider_specific_fields["citations"]
|
||||
|
||||
assert citations is not None
|
||||
if citations:
|
||||
citation = citations[0][0]
|
||||
assert "supported_text" in citation
|
||||
assert "cited_text" in citation
|
||||
assert "document_index" in citation
|
||||
assert "document_title" in citation
|
||||
assert "start_char_index" in citation
|
||||
assert "end_char_index" in citation
|
||||
|
||||
|
||||
def test_anthropic_citations_api_streaming():
|
||||
@ -955,11 +963,11 @@ def test_anthropic_citations_api_streaming():
|
||||
has_citations = False
|
||||
for chunk in resp:
|
||||
print(f"returned chunk: {chunk}")
|
||||
if (
|
||||
chunk.choices[0].delta.provider_specific_fields
|
||||
and "citation" in chunk.choices[0].delta.provider_specific_fields
|
||||
):
|
||||
has_citations = True
|
||||
if provider_specific_fields := chunk.choices[0].delta.provider_specific_fields:
|
||||
if "citation" in provider_specific_fields:
|
||||
has_citations = True
|
||||
|
||||
assert "chunk_type" in provider_specific_fields
|
||||
|
||||
assert has_citations
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user