griptape
33 строки · 1.3 Кб
1from tests.utils.structure_tester import StructureTester
2import pytest
3
4
5class TestTextQueryTask:
6@pytest.fixture(
7autouse=True,
8params=StructureTester.TEXT_SUMMARY_TASK_CAPABLE_PROMPT_DRIVERS,
9ids=StructureTester.prompt_driver_id_fn,
10)
11def structure_tester(self, request):
12from griptape.structures import Agent
13from griptape.tasks import TextQueryTask
14from griptape.drivers import LocalVectorStoreDriver, OpenAiEmbeddingDriver
15from griptape.engines import VectorQueryEngine
16from griptape.artifacts import TextArtifact
17
18vector_store_driver = LocalVectorStoreDriver(embedding_driver=OpenAiEmbeddingDriver())
19
20artifact = TextArtifact("John Doe works as as software engineer at Griptape.")
21
22vector_query_engine = VectorQueryEngine(prompt_driver=request.param, vector_store_driver=vector_store_driver)
23vector_query_engine.upsert_text_artifact(artifact=artifact)
24
25agent = Agent(prompt_driver=request.param)
26agent.add_task(
27TextQueryTask("Respond to the users following query: {{ args[0] }}", query_engine=vector_query_engine)
28)
29
30return StructureTester(agent)
31
32def test_text_query_task(self, structure_tester):
33structure_tester.run("What is the job role of John Doe?")
34