Feature/bedrock embedder (#1470)

This commit is contained in:
andrewghlee
2024-08-01 13:55:28 -04:00
committed by GitHub
parent 80945df4ca
commit 563a130141
15 changed files with 390 additions and 26 deletions

View File

@@ -0,0 +1,21 @@
from unittest.mock import patch
from embedchain.config.embedder.aws_bedrock import AWSBedrockEmbedderConfig
from embedchain.embedder.aws_bedrock import AWSBedrockEmbedder
def test_aws_bedrock_embedder_with_model():
config = AWSBedrockEmbedderConfig(
model="test-model",
model_kwargs={"param": "value"},
vector_dimension=1536,
)
with patch("embedchain.embedder.aws_bedrock.BedrockEmbeddings") as mock_embeddings:
embedder = AWSBedrockEmbedder(config=config)
assert embedder.config.model == "test-model"
assert embedder.config.model_kwargs == {"param": "value"}
assert embedder.config.vector_dimension == 1536
mock_embeddings.assert_called_once_with(
model_id="test-model",
model_kwargs={"param": "value"},
)

View File

@@ -9,7 +9,6 @@ from embedchain.llm.aws_bedrock import AWSBedrockLlm
def config(monkeypatch):
monkeypatch.setenv("AWS_ACCESS_KEY_ID", "test_access_key_id")
monkeypatch.setenv("AWS_SECRET_ACCESS_KEY", "test_secret_access_key")
monkeypatch.setenv("OPENAI_API_KEY", "test_api_key")
config = BaseLlmConfig(
model="amazon.titan-text-express-v1",
model_kwargs={
@@ -21,7 +20,6 @@ def config(monkeypatch):
yield config
monkeypatch.delenv("AWS_ACCESS_KEY_ID")
monkeypatch.delenv("AWS_SECRET_ACCESS_KEY")
monkeypatch.delenv("OPENAI_API_KEY")
def test_get_llm_model_answer(config, mocker):
@@ -46,7 +44,7 @@ def test_get_llm_model_answer_empty_prompt(config, mocker):
def test_get_llm_model_answer_with_streaming(config, mocker):
config.stream = True
mocked_bedrock_chat = mocker.patch("embedchain.llm.aws_bedrock.Bedrock")
mocked_bedrock_chat = mocker.patch("embedchain.llm.aws_bedrock.BedrockLLM")
llm = AWSBedrockLlm(config)
llm.get_llm_model_answer("Test query")