Home / Function/ _convert_citation_to_v1() — langchain Function Reference

_convert_citation_to_v1() — langchain Function Reference

Architecture documentation for the _convert_citation_to_v1() function in anthropic.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  53f37939_6fda_5d72_b397_fd42dc3a7524["_convert_citation_to_v1()"]
  57106cb4_1f55_a208_a37b_084bce5fa252["anthropic.py"]
  53f37939_6fda_5d72_b397_fd42dc3a7524 -->|defined in| 57106cb4_1f55_a208_a37b_084bce5fa252
  44bffc7c_3088_f46b_2008_6c1f0b3fe7d5["_convert_to_v1_from_anthropic()"]
  44bffc7c_3088_f46b_2008_6c1f0b3fe7d5 -->|calls| 53f37939_6fda_5d72_b397_fd42dc3a7524
  style 53f37939_6fda_5d72_b397_fd42dc3a7524 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/messages/block_translators/anthropic.py lines 142–195

def _convert_citation_to_v1(citation: dict[str, Any]) -> types.Annotation:
    citation_type = citation.get("type")

    if citation_type == "web_search_result_location":
        url_citation: types.Citation = {
            "type": "citation",
            "cited_text": citation["cited_text"],
            "url": citation["url"],
        }
        if title := citation.get("title"):
            url_citation["title"] = title
        known_fields = {"type", "cited_text", "url", "title", "index", "extras"}
        for key, value in citation.items():
            if key not in known_fields:
                if "extras" not in url_citation:
                    url_citation["extras"] = {}
                url_citation["extras"][key] = value

        return url_citation

    if citation_type in {
        "char_location",
        "content_block_location",
        "page_location",
        "search_result_location",
    }:
        document_citation: types.Citation = {
            "type": "citation",
            "cited_text": citation["cited_text"],
        }
        if "document_title" in citation:
            document_citation["title"] = citation["document_title"]
        elif title := citation.get("title"):
            document_citation["title"] = title
        known_fields = {
            "type",
            "cited_text",
            "document_title",
            "title",
            "index",
            "extras",
        }
        for key, value in citation.items():
            if key not in known_fields:
                if "extras" not in document_citation:
                    document_citation["extras"] = {}
                document_citation["extras"][key] = value

        return document_citation

    return {
        "type": "non_standard_annotation",
        "value": citation,
    }

Domain

Subdomains

Frequently Asked Questions

What does _convert_citation_to_v1() do?
_convert_citation_to_v1() is a function in the langchain codebase, defined in libs/core/langchain_core/messages/block_translators/anthropic.py.
Where is _convert_citation_to_v1() defined?
_convert_citation_to_v1() is defined in libs/core/langchain_core/messages/block_translators/anthropic.py at line 142.
What calls _convert_citation_to_v1()?
_convert_citation_to_v1() is called by 1 function(s): _convert_to_v1_from_anthropic.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free