langchain/libs/partners/ai21/tests/integration_tests/test_standard.py
Asaf Joseph Gardin 642975dd9f
partners: AI21 Labs Jamba Support (#20815)
Description: Added support for AI21 new model - Jamba
Twitter handle: https://github.com/AI21Labs

---------

Co-authored-by: Asaf Gardin <asafg@ai21.com>
Co-authored-by: Erick Friis <erick@langchain.dev>
2024-05-01 10:12:44 -07:00

87 lines
2.2 KiB
Python

"""Standard LangChain interface tests"""
import time
from typing import Type
import pytest
from langchain_core.language_models import BaseChatModel
from langchain_standard_tests.integration_tests import ChatModelIntegrationTests
from langchain_ai21 import ChatAI21
class TestAI21J2(ChatModelIntegrationTests):
def teardown(self) -> None:
# avoid getting rate limited
time.sleep(1)
@pytest.fixture
def chat_model_class(self) -> Type[BaseChatModel]:
return ChatAI21
@pytest.mark.xfail(reason="Emits AIMessage instead of AIMessageChunk.")
def test_stream(
self,
chat_model_class: Type[BaseChatModel],
chat_model_params: dict,
) -> None:
super().test_stream(
chat_model_class,
chat_model_params,
)
@pytest.mark.xfail(reason="Emits AIMessage instead of AIMessageChunk.")
async def test_astream(
self,
chat_model_class: Type[BaseChatModel],
chat_model_params: dict,
) -> None:
await super().test_astream(
chat_model_class,
chat_model_params,
)
@pytest.fixture
def chat_model_params(self) -> dict:
return {
"model": "j2-ultra",
}
class TestAI21Jamba(ChatModelIntegrationTests):
def teardown(self) -> None:
# avoid getting rate limited
time.sleep(1)
@pytest.fixture
def chat_model_class(self) -> Type[BaseChatModel]:
return ChatAI21
@pytest.mark.xfail(reason="Emits AIMessage instead of AIMessageChunk.")
def test_stream(
self,
chat_model_class: Type[BaseChatModel],
chat_model_params: dict,
) -> None:
super().test_stream(
chat_model_class,
chat_model_params,
)
@pytest.mark.xfail(reason="Emits AIMessage instead of AIMessageChunk.")
async def test_astream(
self,
chat_model_class: Type[BaseChatModel],
chat_model_params: dict,
) -> None:
await super().test_astream(
chat_model_class,
chat_model_params,
)
@pytest.fixture
def chat_model_params(self) -> dict:
return {
"model": "jamba-instruct-preview",
}