Standard tests for GigaChain implementations
Project description
gigachain-standard-tests
This is an INTERNAL library for the LangChain project. It contains the base classes for a standard set of tests.
Installation
This package will NOT be regularly published to pypi. It is intended to be installed directly from github at test time.
Pip:
```bash
pip install git+https://github.com/langchain-ai/langchain.git#subdirectory=libs/standard-tests
```
Poetry:
```bash
poetry add git+https://github.com/langchain-ai/langchain.git#subdirectory=libs/standard-tests
```
Usage
To add standard tests to an integration package's e.g. ChatModel, you need to create
- A unit test class that inherits from ChatModelUnitTests
- An integration test class that inherits from ChatModelIntegrationTests
tests/unit_tests/test_standard.py
:
"""Standard LangChain interface tests"""
from typing import Type
import pytest
from langchain_core.language_models import BaseChatModel
from langchain_standard_tests.unit_tests import ChatModelUnitTests
from langchain_parrot_chain import ChatParrotChain
class TestParrotChainStandard(ChatModelUnitTests):
@pytest.fixture
def chat_model_class(self) -> Type[BaseChatModel]:
return ChatParrotChain
tests/integration_tests/test_standard.py
:
"""Standard LangChain interface tests"""
from typing import Type
import pytest
from langchain_core.language_models import BaseChatModel
from langchain_standard_tests.integration_tests import ChatModelIntegrationTests
from langchain_parrot_chain import ChatParrotChain
class TestParrotChainStandard(ChatModelIntegrationTests):
@pytest.fixture
def chat_model_class(self) -> Type[BaseChatModel]:
return ChatParrotChain
Reference
The following fixtures are configurable in the test classes. Anything not marked as required is optional.
chat_model_class
(required): The class of the chat model to be testedchat_model_params
: The keyword arguments to pass to the chat model constructorchat_model_has_tool_calling
: Whether the chat model can call tools. By default, this is set tohasattr(chat_model_class, 'bind_tools)
chat_model_has_structured_output
: Whether the chat model can structured output. By default, this is set tohasattr(chat_model_class, 'with_structured_output')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for gigachain_standard_tests-0.1.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce6afafdb1951bb648f2775386d723a214acd980e37b986ab19b57273ab97151 |
|
MD5 | 5eee1a34b07420b7e21a52ec3995f641 |
|
BLAKE2b-256 | 551721cbc6c24ab30654621f986311363a1cf599735ecc6a399a572822d786e0 |
Close
Hashes for gigachain_standard_tests-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c43ef2cf72c7a67265fb4886bd5abc181bd22e179df9a3f61a46f1461f618e2e |
|
MD5 | 92112e6877da0c61e0014458adfa834a |
|
BLAKE2b-256 | f05081c38d116407676a6ecff63b735b5e69db7184950e687e8cccb0c37415b5 |