Home / File/ test_time_weighted_retriever.py — langchain Source File

test_time_weighted_retriever.py — langchain Source File

Architecture documentation for test_time_weighted_retriever.py, a python file in the langchain codebase. 9 imports, 0 dependents.

File python CoreAbstractions Serialization 9 imports 10 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  d96e9acd_fe72_1104_25a1_4b7f646d7639["test_time_weighted_retriever.py"]
  cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7
  af34f08b_0ede_2b87_0db6_983d74ed0249["datetime"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> af34f08b_0ede_2b87_0db6_983d74ed0249
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  120e2591_3e15_b895_72b6_cb26195e40a6["pytest"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> 120e2591_3e15_b895_72b6_cb26195e40a6
  c554676d_b731_47b2_a98f_c1c2d537c0aa["langchain_core.documents"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> c554676d_b731_47b2_a98f_c1c2d537c0aa
  bc46b61d_cfdf_3f6b_a9dd_ac2a328d84b3["langchain_core.embeddings"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> bc46b61d_cfdf_3f6b_a9dd_ac2a328d84b3
  d55af636_303c_0eb6_faee_20d89bd952d5["langchain_core.vectorstores"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> d55af636_303c_0eb6_faee_20d89bd952d5
  91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> 91721f45_4909_e489_8c1f_084f8bd87145
  02b2a790_fdef_e3a9_fc30_37476c7b4d48["langchain_classic.retrievers.time_weighted_retriever"]
  d96e9acd_fe72_1104_25a1_4b7f646d7639 --> 02b2a790_fdef_e3a9_fc30_37476c7b4d48
  style d96e9acd_fe72_1104_25a1_4b7f646d7639 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Tests for the time-weighted retriever class."""

from collections.abc import Iterable
from datetime import datetime, timedelta
from typing import Any

import pytest
from langchain_core.documents import Document
from langchain_core.embeddings import Embeddings
from langchain_core.vectorstores import VectorStore
from typing_extensions import override

from langchain_classic.retrievers.time_weighted_retriever import (
    TimeWeightedVectorStoreRetriever,
    _get_hours_passed,
)


def _get_example_memories(k: int = 4) -> list[Document]:
    return [
        Document(
            page_content="foo",
            metadata={
                "buffer_idx": i,
                "last_accessed_at": datetime(2023, 4, 14, 12, 0),
            },
        )
        for i in range(k)
    ]


class MockVectorStore(VectorStore):
    """Mock invalid vector store."""

    @override
    def add_texts(
        self,
        texts: Iterable[str],
        metadatas: list[dict] | None = None,
        **kwargs: Any,
    ) -> list[str]:
        return list(texts)

    @override
    def similarity_search(
        self,
        query: str,
        k: int = 4,
        **kwargs: Any,
    ) -> list[Document]:
        return []

    @classmethod
    @override
    def from_texts(
        cls: type["MockVectorStore"],
        texts: list[str],
        embedding: Embeddings,
        metadatas: list[dict] | None = None,
        **kwargs: Any,
// ... (144 more lines)

Subdomains

Classes

Dependencies

  • collections.abc
  • datetime
  • langchain_classic.retrievers.time_weighted_retriever
  • langchain_core.documents
  • langchain_core.embeddings
  • langchain_core.vectorstores
  • pytest
  • typing
  • typing_extensions

Frequently Asked Questions

What does test_time_weighted_retriever.py do?
test_time_weighted_retriever.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, Serialization subdomain.
What functions are defined in test_time_weighted_retriever.py?
test_time_weighted_retriever.py defines 10 function(s): _get_example_memories, test__get_hours_passed, test_aadd_documents, test_add_documents, test_aget_salient_docs, test_ainvoke, test_get_combined_score, test_get_salient_docs, test_invoke, time_weighted_retriever.
What does test_time_weighted_retriever.py depend on?
test_time_weighted_retriever.py imports 9 module(s): collections.abc, datetime, langchain_classic.retrievers.time_weighted_retriever, langchain_core.documents, langchain_core.embeddings, langchain_core.vectorstores, pytest, typing, and 1 more.
Where is test_time_weighted_retriever.py in the architecture?
test_time_weighted_retriever.py is located at libs/langchain/tests/unit_tests/retrievers/test_time_weighted_retriever.py (domain: CoreAbstractions, subdomain: Serialization, directory: libs/langchain/tests/unit_tests/retrievers).

Analyze Your Own Codebase

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

Try Supermodel Free