openpdf-backend / tests /openai /test_openai.py
zinoubm's picture
initial commit
66340f1
import pytest
from unittest import mock
# from openai_manager import OpenAiManager
from app.openai.base import *
from app.openai.core import *
@pytest.fixture
def openai_manager():
return OpenAiManager()
def test_get_completion(openai_manager):
prompt = "Hello"
response = openai_manager.get_completion(prompt)
# assert response.status == 200
assert response is not None
def test_get_chat_completion(openai_manager):
prompt = "Hello, world!"
response = openai_manager.get_chat_completion(prompt)
assert response is not None
def test_get_embedding(openai_manager):
prompt = "Hello, world!"
expected_embedding = [0.1, 0.2, 0.3]
with mock.patch("openai.Embedding.create") as mock_create:
mock_create.return_value = {"data": [{"embedding": expected_embedding}]}
embedding = openai_manager.get_embedding(prompt)
assert embedding == expected_embedding
mock_create.assert_called_once_with(input=[prompt], model="text-embedding-ada-002")
def test_get_embeddings(openai_manager):
prompts = ["Prompt 1", "Prompt 2"]
expected_embeddings = [[0.1, 0.2, 0.3], [0.4, 0.5, 0.6]]
with mock.patch("openai.Embedding.create") as mock_create:
mock_create.return_value = {
"data": [
{"embedding": expected_embeddings[0]},
{"embedding": expected_embeddings[1]},
]
}
embeddings = openai_manager.get_embeddings(prompts)
assert embeddings == expected_embeddings
mock_create.assert_called_once_with(input=prompts, model="text-embedding-ada-002")