🐛 fix(graph.py): change message variable to a dictionary to match the expected input of get_result_and_thought function and update the assertion to check if the result is a dictionary instead of a string
The test for agents_template.py was updated to include the openai-multi-functions agent in the list of agents. This was done to ensure that the test coverage for the agent is complete.
The test for graph.py was updated to change the message variable to a dictionary to match the expected input of the get_result_and_thought function. The assertion was also updated to check if the result is a dictionary instead of a string. This was done to ensure that the test coverage for the function is complete.
180 lines
4.7 KiB
Python
180 lines
4.7 KiB
Python
from fastapi.testclient import TestClient
|
|
|
|
|
|
def test_zero_shot_agent(client: TestClient):
|
|
response = client.get("api/v1/all")
|
|
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",
|
|
"function",
|
|
}
|
|
template = zero_shot_agent["template"]
|
|
|
|
assert template["llm_chain"] == {
|
|
"required": True,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"password": False,
|
|
"name": "llm_chain",
|
|
"type": "LLMChain",
|
|
"list": False,
|
|
"advanced": False,
|
|
}
|
|
assert template["allowed_tools"] == {
|
|
"required": False,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"password": False,
|
|
"name": "allowed_tools",
|
|
"type": "Tool",
|
|
"list": True,
|
|
"advanced": False,
|
|
}
|
|
|
|
|
|
def test_json_agent(client: TestClient):
|
|
response = client.get("api/v1/all")
|
|
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,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"password": False,
|
|
"name": "toolkit",
|
|
"type": "BaseToolkit",
|
|
"list": False,
|
|
"advanced": False,
|
|
}
|
|
assert template["llm"] == {
|
|
"required": True,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"password": False,
|
|
"name": "llm",
|
|
"type": "BaseLanguageModel",
|
|
"list": False,
|
|
"advanced": False,
|
|
"display_name": "LLM",
|
|
}
|
|
|
|
|
|
def test_csv_agent(client: TestClient):
|
|
response = client.get("api/v1/all")
|
|
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,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"value": "",
|
|
"suffixes": [".csv"],
|
|
"fileTypes": ["csv"],
|
|
"password": False,
|
|
"name": "path",
|
|
"type": "file",
|
|
"list": False,
|
|
"file_path": None,
|
|
"advanced": False,
|
|
}
|
|
assert template["llm"] == {
|
|
"required": True,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"password": False,
|
|
"name": "llm",
|
|
"type": "BaseLanguageModel",
|
|
"list": False,
|
|
"advanced": False,
|
|
"display_name": "LLM",
|
|
}
|
|
|
|
|
|
def test_initialize_agent(client: TestClient):
|
|
response = client.get("api/v1/all")
|
|
assert response.status_code == 200
|
|
json_response = response.json()
|
|
agents = json_response["agents"]
|
|
|
|
initialize_agent = agents["AgentInitializer"]
|
|
assert initialize_agent["base_classes"] == ["AgentExecutor", "function"]
|
|
template = initialize_agent["template"]
|
|
|
|
assert template["agent"] == {
|
|
"required": True,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"value": "zero-shot-react-description",
|
|
"password": False,
|
|
"options": [
|
|
"zero-shot-react-description",
|
|
"react-docstore",
|
|
"self-ask-with-search",
|
|
"conversational-react-description",
|
|
"openai-functions",
|
|
"openai-multi-functions",
|
|
],
|
|
"name": "agent",
|
|
"type": "str",
|
|
"list": True,
|
|
"advanced": False,
|
|
}
|
|
assert template["memory"] == {
|
|
"required": False,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"password": False,
|
|
"name": "memory",
|
|
"type": "BaseChatMemory",
|
|
"list": False,
|
|
"advanced": False,
|
|
}
|
|
assert template["tools"] == {
|
|
"required": False,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"password": False,
|
|
"name": "tools",
|
|
"type": "Tool",
|
|
"list": True,
|
|
"advanced": False,
|
|
}
|
|
assert template["llm"] == {
|
|
"required": True,
|
|
"placeholder": "",
|
|
"show": True,
|
|
"multiline": False,
|
|
"password": False,
|
|
"name": "llm",
|
|
"type": "BaseLanguageModel",
|
|
"list": False,
|
|
"advanced": False,
|
|
"display_name": "LLM",
|
|
}
|