mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-23 23:48:56 +01:00
Clean up chat tests to work with updated chat methods in gpt.py
This commit is contained in:
parent
24ddebf3ce
commit
9306cd901a
1 changed files with 19 additions and 30 deletions
|
@ -2,7 +2,7 @@
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
# Internal Packages
|
# Internal Packages
|
||||||
from khoj.processor.conversation.gpt import converse, message_to_prompt
|
from khoj.processor.conversation.gpt import converse, message_to_log, message_to_prompt
|
||||||
|
|
||||||
|
|
||||||
# Initialize variables for tests
|
# Initialize variables for tests
|
||||||
|
@ -32,50 +32,39 @@ def test_message_to_understand_prompt():
|
||||||
)
|
)
|
||||||
def test_minimal_chat_with_gpt():
|
def test_minimal_chat_with_gpt():
|
||||||
# Act
|
# Act
|
||||||
response = converse("What will happen when the stars go out?", model=model, api_key=api_key)
|
response = converse(
|
||||||
|
text="", # Assume no context retrieved from notes for the user_query
|
||||||
|
user_query="Hello, my name is Testatron. Who are you?",
|
||||||
|
api_key=api_key,
|
||||||
|
)
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
|
expected_responses = ["Khoj", "khoj"]
|
||||||
assert len(response) > 0
|
assert len(response) > 0
|
||||||
|
assert any([expected_response in response for expected_response in expected_responses]), (
|
||||||
|
"Expected assistants name, [K|k]hoj, in response but got" + response
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------------------------------
|
||||||
@pytest.mark.skipif(
|
@pytest.mark.skipif(
|
||||||
api_key is None, reason="Set api_key variable to your OpenAI API key from https://beta.openai.com/account/api-keys"
|
api_key is None, reason="Set api_key variable to your OpenAI API key from https://beta.openai.com/account/api-keys"
|
||||||
)
|
)
|
||||||
def test_chat_with_history():
|
def test_multi_turn_chat_with_minimal_history_no_context():
|
||||||
# Arrange
|
conversation_log = {}
|
||||||
ai_prompt = "AI:"
|
conversation_log["chat"] = message_to_log(
|
||||||
human_prompt = "Human:"
|
user_message="Hello, my name is Testatron. Who are you?",
|
||||||
|
gpt_message="Hi, I am Khoj, an AI conversational companion. How can I help you today?",
|
||||||
conversation_primer = f"""
|
)
|
||||||
The following is a conversation with an AI assistant. The assistant is helpful, creative, clever, and very friendly companion.
|
|
||||||
|
|
||||||
{human_prompt} Hello, I am Testatron. Who are you?
|
|
||||||
{ai_prompt} Hi, I am Khoj, an AI conversational companion created by OpenAI. How can I help you today?"""
|
|
||||||
|
|
||||||
# Act
|
# Act
|
||||||
response = converse(
|
response = converse(
|
||||||
"Hi Khoj, What is my name?",
|
text="", # Assume no context retrieved from notes for the user_query
|
||||||
model=model,
|
user_query="Hi Khoj, what is my name?",
|
||||||
conversation_history=conversation_primer,
|
conversation_log=conversation_log,
|
||||||
api_key=api_key,
|
api_key=api_key,
|
||||||
temperature=0,
|
|
||||||
max_tokens=50,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# Assert
|
# Assert
|
||||||
assert len(response) > 0
|
assert len(response) > 0
|
||||||
assert "Testatron" in response or "testatron" in response
|
assert "Testatron" in response or "testatron" in response
|
||||||
|
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------------------------------
|
|
||||||
@pytest.mark.skipif(
|
|
||||||
api_key is None, reason="Set api_key variable to your OpenAI API key from https://beta.openai.com/account/api-keys"
|
|
||||||
)
|
|
||||||
def test_understand_message_using_gpt():
|
|
||||||
# Act
|
|
||||||
response = understand("When did I last dine at Subway?", model=model, api_key=api_key)
|
|
||||||
|
|
||||||
# Assert
|
|
||||||
assert len(response) > 0
|
|
||||||
assert response["intent"]["memory-type"] == "ledger"
|
|
||||||
|
|
Loading…
Reference in a new issue