From 4918f0303254dd722bf40aee99f2ef8b1441347c Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Tue, 30 Jan 2024 11:53:21 -0300 Subject: [PATCH] Remove test_agents_template.py and update test_zero_shot_agent, test_json_agent, and test_csv_agent --- tests/test_agents_template.py | 210 ------------- tests/test_chains_template.py | 312 ------------------- tests/test_llms_template.py | 559 ---------------------------------- 3 files changed, 1081 deletions(-) delete mode 100644 tests/test_agents_template.py delete mode 100644 tests/test_chains_template.py delete mode 100644 tests/test_llms_template.py diff --git a/tests/test_agents_template.py b/tests/test_agents_template.py deleted file mode 100644 index 01891ec05..000000000 --- a/tests/test_agents_template.py +++ /dev/null @@ -1,210 +0,0 @@ -from fastapi.testclient import TestClient - - -def test_zero_shot_agent(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - agents = json_response["agents"] - - zero_shot_agent = agents["ZeroShotAgent"] - assert set(zero_shot_agent["base_classes"]) == { - "ZeroShotAgent", - "BaseSingleActionAgent", - "Agent", - "Callable", - } - template = zero_shot_agent["template"] - - assert template["tools"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "tools", - "type": "BaseTool", - "list": True, - "advanced": False, - "info": "", - "fileTypes": [], - } - - # Additional assertions for other template variables - assert template["callback_manager"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "callback_manager", - "type": "BaseCallbackManager", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["llm"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "llm", - "type": "BaseLanguageModel", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["output_parser"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "output_parser", - "type": "AgentOutputParser", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["input_variables"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "input_variables", - "type": "str", - "list": True, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["prefix"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": True, - "value": "Answer the following questions as best you can. You have access to the following tools:", - "password": False, - "name": "prefix", - "type": "str", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["suffix"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": True, - "value": "Begin!\n\nQuestion: {input}\nThought:{agent_scratchpad}", - "password": False, - "name": "suffix", - "type": "str", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - - -def test_json_agent(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - agents = json_response["agents"] - - json_agent = agents["JsonAgent"] - assert json_agent["base_classes"] == ["AgentExecutor"] - template = json_agent["template"] - - assert template["toolkit"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "toolkit", - "type": "BaseToolkit", - "list": False, - "advanced": False, - "info": "", - "file_path": "", - "fileTypes": [], - "value": "", - } - assert template["llm"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "llm", - "type": "BaseLanguageModel", - "list": False, - "advanced": False, - "display_name": "LLM", - "info": "", - "file_path": "", - "fileTypes": [], - "value": "", - } - - -def test_csv_agent(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - agents = json_response["agents"] - - csv_agent = agents["CSVAgent"] - assert csv_agent["base_classes"] == ["AgentExecutor"] - template = csv_agent["template"] - - assert template["path"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": "", - "fileTypes": [".csv"], - "password": False, - "name": "path", - "type": "file", - "list": False, - "file_path": "", - "advanced": False, - "info": "", - } - assert template["llm"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "llm", - "type": "BaseLanguageModel", - "list": False, - "advanced": False, - "display_name": "LLM", - "info": "", - "file_path": "", - "fileTypes": [], - "value": "", - } diff --git a/tests/test_chains_template.py b/tests/test_chains_template.py deleted file mode 100644 index 2e705ac00..000000000 --- a/tests/test_chains_template.py +++ /dev/null @@ -1,312 +0,0 @@ -from fastapi.testclient import TestClient - -# def test_chains_settings(client: TestClient, logged_in_headers): -# response = client.get("api/v1/all", headers=logged_in_headers) -# assert response.status_code == 200 -# json_response = response.json() -# chains = json_response["chains"] -# assert set(chains.keys()) == set(settings.chains) - - -def test_llm_checker_chain(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - chains = json_response["chains"] - chain = chains["LLMCheckerChain"] - - # Test the base classes, template, memory, verbose, llm, input_key, output_key, and _type objects - assert set(chain["base_classes"]) == { - "Callable", - "LLMCheckerChain", - "Chain", - } - - template = chain["template"] - assert template["llm"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "llm", - "type": "BaseLanguageModel", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["_type"] == "LLMCheckerChain" - - # Test the description object - assert chain["description"] == "" - - -def test_llm_math_chain(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - chains = json_response["chains"] - - chain = chains["LLMMathChain"] - # Test the base classes, template, memory, verbose, llm, input_key, output_key, and _type objects - assert set(chain["base_classes"]) == { - "Callable", - "LLMMathChain", - "Chain", - } - - template = chain["template"] - assert template["memory"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "memory", - "type": "BaseMemory", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["verbose"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": False, - "password": False, - "name": "verbose", - "type": "bool", - "list": False, - "advanced": True, - "info": "", - "fileTypes": [], - } - assert template["llm"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "llm", - "type": "BaseLanguageModel", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["input_key"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": "question", - "password": False, - "name": "input_key", - "type": "str", - "list": False, - "advanced": True, - "info": "", - "fileTypes": [], - } - assert template["output_key"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": "answer", - "password": False, - "name": "output_key", - "type": "str", - "list": False, - "advanced": True, - "info": "", - "fileTypes": [], - } - assert template["_type"] == "LLMMathChain" - - # Test the description object - assert chain["description"] == "Chain that interprets a prompt and executes python code to do math." - - -def test_series_character_chain(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - chains = json_response["chains"] - - chain = chains["SeriesCharacterChain"] - - # Test the base classes, template, memory, verbose, llm, input_key, output_key, and _type objects - assert set(chain["base_classes"]) == { - "Callable", - "LLMChain", - "BaseCustomChain", - "Chain", - "ConversationChain", - "SeriesCharacterChain", - } - template = chain["template"] - - assert template["llm"] == { - "required": True, - "dynamic": False, - "display_name": "LLM", - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "llm", - "type": "BaseLanguageModel", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - "file_path": "", - "value": "", - } - assert template["character"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "character", - "type": "str", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - "file_path": "", - "value": "", - } - assert template["series"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "series", - "type": "str", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - "file_path": "", - "value": "", - } - assert template["_type"] == "SeriesCharacterChain" - - # Test the description object - assert ( - chain["description"] - == "SeriesCharacterChain is a chain you can use to have a conversation with a character from a series." - ) - - -def test_mid_journey_prompt_chain(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - chains = json_response["chains"] - chain = chains["MidJourneyPromptChain"] - assert isinstance(chain, dict) - - # Test the base_classes object - assert set(chain["base_classes"]) == { - "LLMChain", - "BaseCustomChain", - "Chain", - "ConversationChain", - "MidJourneyPromptChain", - } - - # Test the template object - template = chain["template"] - - assert template["llm"] == { - "required": True, - "dynamic": False, - "display_name": "LLM", - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "llm", - "type": "BaseLanguageModel", - "list": False, - "advanced": False, - "info": "", - "file_path": "", - "fileTypes": [], - "value": "", - } - # Test the description object - assert chain["description"] == "MidJourneyPromptChain is a chain you can use to generate new MidJourney prompts." - - -def test_time_travel_guide_chain(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - chains = json_response["chains"] - chain = chains["TimeTravelGuideChain"] - assert isinstance(chain, dict) - - # Test the base_classes object - assert set(chain["base_classes"]) == { - "LLMChain", - "BaseCustomChain", - "TimeTravelGuideChain", - "Chain", - "ConversationChain", - } - - # Test the template object - template = chain["template"] - - assert template["llm"] == { - "required": True, - "dynamic": False, - "placeholder": "", - "display_name": "LLM", - "show": True, - "multiline": False, - "password": False, - "name": "llm", - "type": "BaseLanguageModel", - "list": False, - "advanced": False, - "info": "", - "file_path": "", - "fileTypes": [], - "value": "", - } - assert template["memory"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "memory", - "type": "BaseChatMemory", - "list": False, - "advanced": False, - "info": "", - "file_path": "", - "fileTypes": [], - "value": "", - } - - assert chain["description"] == "Time travel guide chain." diff --git a/tests/test_llms_template.py b/tests/test_llms_template.py deleted file mode 100644 index 30a15c932..000000000 --- a/tests/test_llms_template.py +++ /dev/null @@ -1,559 +0,0 @@ -from fastapi.testclient import TestClient - - -def test_openai(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - language_models = json_response["llms"] - - model = language_models["OpenAI"] - template = model["template"] - - assert template["cache"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "cache", - "type": "bool", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["verbose"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "verbose", - "type": "bool", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["client"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "client", - "type": "Any", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["model_name"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": "text-davinci-003", - "password": False, - "options": [ - "text-davinci-003", - "text-davinci-002", - "text-curie-001", - "text-babbage-001", - "text-ada-001", - ], - "name": "model_name", - "type": "str", - "list": True, - "advanced": False, - "info": "", - "fileTypes": [], - } - # Add more assertions for other properties here - assert template["temperature"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": 0.7, - "password": False, - "name": "temperature", - "type": "float", - "list": False, - "advanced": False, - "info": "", - "rangeSpec": {"max": 1.0, "min": -1.0, "step": 0.1}, - "fileTypes": [], - } - assert template["max_tokens"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": 256, - "password": True, - "name": "max_tokens", - "type": "int", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["top_p"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 1, - "password": False, - "name": "top_p", - "type": "float", - "list": False, - "advanced": False, - "info": "", - "rangeSpec": {"max": 1.0, "min": -1.0, "step": 0.1}, - "fileTypes": [], - } - assert template["frequency_penalty"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 0, - "password": False, - "name": "frequency_penalty", - "type": "float", - "list": False, - "advanced": False, - "info": "", - "rangeSpec": {"max": 1.0, "min": -1.0, "step": 0.1}, - "fileTypes": [], - } - assert template["presence_penalty"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 0, - "password": False, - "name": "presence_penalty", - "type": "float", - "list": False, - "advanced": False, - "info": "", - "rangeSpec": {"max": 1.0, "min": -1.0, "step": 0.1}, - "fileTypes": [], - } - assert template["n"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 1, - "password": False, - "name": "n", - "type": "int", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["best_of"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 1, - "password": False, - "name": "best_of", - "type": "int", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["model_kwargs"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "model_kwargs", - "type": "dict", - "list": False, - "advanced": True, - "info": "", - "fileTypes": [], - } - assert template["openai_api_key"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": "", - "password": True, - "name": "openai_api_key", - "display_name": "OpenAI API Key", - "type": "str", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["batch_size"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 20, - "password": False, - "name": "batch_size", - "type": "int", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["request_timeout"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "request_timeout", - "type": "float", - "list": False, - "advanced": False, - "info": "", - "rangeSpec": {"max": 1.0, "min": -1.0, "step": 0.1}, - "fileTypes": [], - } - assert template["logit_bias"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "logit_bias", - "type": "dict", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["max_retries"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 2, - "password": False, - "name": "max_retries", - "type": "int", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["streaming"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": False, - "password": False, - "name": "streaming", - "type": "bool", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - - -def test_chat_open_ai(client: TestClient, logged_in_headers): - response = client.get("api/v1/all", headers=logged_in_headers) - assert response.status_code == 200 - json_response = response.json() - language_models = json_response["llms"] - - model = language_models["ChatOpenAI"] - template = model["template"] - - assert template["verbose"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": False, - "password": False, - "name": "verbose", - "type": "bool", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["client"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "client", - "type": "Any", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["model_name"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": "gpt-4-1106-preview", - "password": False, - "options": [ - "gpt-4-1106-preview", - "gpt-4-vision-preview", - "gpt-4", - "gpt-4-32k", - "gpt-3.5-turbo", - "gpt-3.5-turbo-16k", - ], - "name": "model_name", - "type": "str", - "list": True, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["temperature"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": 0.7, - "password": False, - "name": "temperature", - "type": "float", - "list": False, - "advanced": False, - "info": "", - "rangeSpec": {"max": 1.0, "min": -1.0, "step": 0.1}, - "fileTypes": [], - } - assert template["model_kwargs"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": False, - "name": "model_kwargs", - "type": "dict", - "list": False, - "advanced": True, - "info": "", - "fileTypes": [], - } - assert template["openai_api_key"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "value": "", - "password": True, - "name": "openai_api_key", - "display_name": "OpenAI API Key", - "type": "str", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["request_timeout"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "password": False, - "name": "request_timeout", - "type": "float", - "list": False, - "advanced": False, - "info": "", - "rangeSpec": {"max": 1.0, "min": -1.0, "step": 0.1}, - "fileTypes": [], - } - assert template["max_retries"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 2, - "password": False, - "name": "max_retries", - "type": "int", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["streaming"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": False, - "password": False, - "name": "streaming", - "type": "bool", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["n"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": False, - "multiline": False, - "value": 1, - "password": False, - "name": "n", - "type": "int", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - - assert template["max_tokens"] == { - "required": False, - "dynamic": False, - "placeholder": "", - "show": True, - "multiline": False, - "password": True, - "name": "max_tokens", - "type": "int", - "list": False, - "advanced": False, - "info": "", - "fileTypes": [], - } - assert template["_type"] == "ChatOpenAI" - assert ( - model["description"] == "`OpenAI` Chat large language models API." # noqa E501 - ) - assert set(model["base_classes"]) == { - "BaseLLM", - "BaseChatModel", - "ChatOpenAI", - "BaseLanguageModel", - } - - -# Commenting this out for now, as it requires to activate the nodes -# def test_azure_open_ai(client: TestClient): -# response = client.get("/all") -# assert response.status_code == 200 -# json_response = response.json() -# language_models = json_response["llms"] - -# model = language_models["AzureOpenAI"] -# template = model["template"] - -# assert template["model_name"]["show"] is False -# assert template["deployment_name"] == { -# "required": False, -# "placeholder": "", -# "show": True, -# "multiline": False, -# "value": "", -# "password": False, -# "name": "deployment_name", -# "advanced": False, -# "type": "str", -# "list": False, -# } - - -# def test_azure_chat_open_ai(client: TestClient): -# response = client.get("/all") -# assert response.status_code == 200 -# json_response = response.json() -# language_models = json_response["llms"] - -# model = language_models["AzureChatOpenAI"] -# template = model["template"] - -# assert template["model_name"]["show"] is False -# assert template["deployment_name"] == { -# "required": False, -# "placeholder": "", -# "show": True, -# "multiline": False, -# "value": "", -# "password": False, -# "name": "deployment_name", -# "advanced": False, -# "type": "str", -# "list": False, -# } -# assert template["openai_api_type"] == { -# "required": False, -# "placeholder": "", -# "show": False, -# "multiline": False, -# "value": "azure", -# "password": False, -# "name": "openai_api_type", -# "display_name": "OpenAI API Type", -# "advanced": False, -# "type": "str", -# "list": False, -# } -# assert template["openai_api_version"] == { -# "required": False, -# "placeholder": "", -# "show": True, -# "multiline": False, -# "value": "2023-03-15-preview", -# "password": False, -# "name": "openai_api_version", -# "display_name": "OpenAI API Version", -# "advanced": False, -# "type": "str", -# "list": False, -# }