langchain/tests/unit_tests
Zander Chase b0859c9b18
Add New Retriever Interface with Callbacks (#5962)
Handle the new retriever events in a way that (I think) is entirely
backwards compatible? Needs more testing for some of the chain changes
and all.

This creates an entire new run type, however. We could also just treat
this as an event within a chain run presumably (same with memory)

Adds a subclass initializer that upgrades old retriever implementations
to the new schema, along with tests to ensure they work.

First commit doesn't upgrade any of our retriever implementations (to
show that we can pass the tests along with additional ones testing the
upgrade logic).

Second commit upgrades the known universe of retrievers in langchain.

- [X] Add callback handling methods for retriever start/end/error (open
to renaming to 'retrieval' if you want that)
- [X] Update BaseRetriever schema to support callbacks
- [X] Tests for upgrading old "v1" retrievers for backwards
compatibility
- [X] Update existing retriever implementations to implement the new
interface
- [X] Update calls within chains to .{a]get_relevant_documents to pass
the child callback manager
- [X] Update the notebooks/docs to reflect the new interface
- [X] Test notebooks thoroughly


Not handled:
- Memory pass throughs: retrieval memory doesn't have a parent callback
manager passed through the method

---------

Co-authored-by: Nuno Campos <nuno@boringbits.io>
Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com>
2023-06-30 14:44:03 -07:00
..
agents Add OpenAIMultiFunctionsAgent to import list in agents directory (#6824) 2023-06-29 18:34:26 -07:00
callbacks Add New Retriever Interface with Callbacks (#5962) 2023-06-30 14:44:03 -07:00
chains split up batch llm calls into separate runs (#5804) 2023-06-24 21:03:31 -07:00
chat_models add FunctionMessage support to _convert_dict_to_message() in OpenAI chat model (#6382) 2023-06-20 08:25:55 -07:00
client Add Input Mapper in run_on_dataset (#6894) 2023-06-29 16:53:49 -07:00
data Prompt from file proof of concept using plain text (#127) 2022-11-13 13:15:30 -08:00
docstore Add DocstoreFn - lookup doc via arbitrary function (#3760) 2023-04-28 19:50:32 -07:00
document_loaders Grobid parser for Scientific Articles from PDF (#6729) 2023-06-29 14:29:29 -07:00
evaluation Simplify eval arg names (#6944) 2023-06-30 07:47:53 -07:00
examples Doc refactor (#6300) 2023-06-16 11:52:56 -07:00
llms split up batch llm calls into separate runs (#5804) 2023-06-24 21:03:31 -07:00
load Include placeholder value for all secrets, not just kwargs (#6421) 2023-06-19 15:41:45 +01:00
memory Implemented appending arbitrary messages (#5293) 2023-05-29 07:18:59 -07:00
output_parsers Update String Evaluator (#6615) 2023-06-26 14:16:14 -07:00
prompts Fix for #6431 - chatprompt template with partial variables giing validation error (#6456) 2023-06-19 22:08:15 -07:00
retrievers Add New Retriever Interface with Callbacks (#5962) 2023-06-30 14:44:03 -07:00
tools add async to zapier nla tools (#6791) 2023-06-27 16:53:35 -07:00
utilities Fix graphql tool (#4984) 2023-05-19 15:27:50 -07:00
vectorstores Add maximal relevance search to SKLearnVectorStore (#5430) 2023-05-30 16:13:33 -07:00
__init__.py initial commit 2022-10-24 14:51:15 -07:00
conftest.py Add pytest --only-extended and --only-core options (#4494) 2023-05-12 11:35:22 -04:00
test_bash.py Add Mastodon toots loader (#5036) 2023-05-22 16:43:07 -07:00
test_cache.py Add caching to BaseChatModel (issue #1644) (#5089) 2023-06-24 11:45:09 -07:00
test_dependencies.py Beef up import test (#6979) 2023-06-30 09:26:05 -07:00
test_document_transformers.py Contextual compression retriever (#2915) 2023-04-20 17:01:14 -07:00
test_formatting.py initial commit 2022-10-24 14:51:15 -07:00
test_math_utils.py add get_top_k_cosine_similarity method to get max top k score and index (#5059) 2023-05-22 11:55:48 -07:00
test_pytest_config.py Block sockets for unit-tests (#4803) 2023-05-16 14:41:24 -04:00
test_python.py option for csv agent to not include df in prompt (#4610) 2023-05-12 21:55:22 -07:00
test_schema.py [simple][test] Added test case for schema.py (#3692) 2023-04-28 20:42:24 -07:00
test_sql_database_schema.py Suppress duckdb warning in unit tests explicitly (#3653) 2023-04-27 14:29:41 -04:00
test_sql_database.py Fix SQLAlchemy truncating text when it is too big (#5206) 2023-06-01 21:33:31 -04:00
test_text_splitter.py MD header text splitter returns Documents (#6571) 2023-06-22 09:25:38 -07:00