UNPKG

graphdb-workbench-tests

Version:
159 lines (129 loc) 10 kB
import {SimilarityIndexStubs} from "../../../../stubs/similarity-index-stubs.js"; import {AutocompleteStubs} from "../../../../stubs/autocomplete/autocomplete-stubs.js"; import {GuideDialogSteps} from "../../../../steps/guides/guide-dialog-steps.js"; import {MainMenuSteps} from "../../../../steps/main-menu-steps.js"; import {TTYGViewSteps} from "../../../../steps/ttyg/ttyg-view-steps.js"; import {TtygAgentSettingsModalSteps} from "../../../../steps/ttyg/ttyg-agent-settings-modal.steps.js"; import {GuideSteps} from "../../../../steps/guides/guide-steps.js"; import {GuidesStubs} from "../../../../stubs/guides/guides-stubs.js"; import {TTYGStubs} from "../../../../stubs/ttyg/ttyg-stubs.js"; import {RepositoriesStubs} from "../../../../stubs/repositories/repositories-stubs.js"; // TODO: there is some issue with the context side field focus that breaks the test. Should be fixed soon describe.skip('ttyg configure agent guide', () => { let repositoryId; beforeEach(() => { GuidesStubs.stubCreateAndConfigureAgentGuide(); SimilarityIndexStubs.stubTTYGSimilarityInstances(); AutocompleteStubs.stubAutocompleteEnabled(true); TTYGStubs.stubAgentDefaultsGet(); TTYGStubs.stubAgentListGet(); repositoryId = 'configure-ttyg-agent-guide-' + Date.now(); RepositoriesStubs.stubBaseEndpoints(repositoryId); cy.createRepository({id: repositoryId}); cy.presetRepository(repositoryId); GuideSteps.visit(); GuideSteps.verifyGuidesListExists(); cy.wait('@getGuides'); GuideSteps.runFirstGuide() }); afterEach(() => { cy.deleteRepository(repositoryId); }) it('should create and configure TTYG agent with actions', () => { GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 1/30'); GuideDialogSteps.assertDialogWithContentIsVisible('The following steps show how to use the Talk to Your Graph view to create an agent.'); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 2/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Lab menu.'); MainMenuSteps.clickOnMenuLab(); GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 3/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the Talk to Your Graph menu.'); MainMenuSteps.clickOnTTYGSubmenu(); GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 5/30'); GuideDialogSteps.assertDialogWithContentIsVisible('An agent is a helpful assistant that can answer your queries. You need to configure an agent in order to ask anything of Talk to Your Graph.'); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 7/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the create agent button to create a new agent.'); TTYGViewSteps.clickCreateAgentButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 9/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Type a name for the agent. You will refer to it later.'); TtygAgentSettingsModalSteps.typeAgentName('MyAgent'); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 10/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Here you can type the name of the OpenAI model to be used.'); TtygAgentSettingsModalSteps.clearLLMModel(); TtygAgentSettingsModalSteps.typeLLMModel('gpt-3.5-turbo'); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 11/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Sets the sampling temperature of the agent. Lower values result in more consistent, repetitive responses generated by the agent and higher values result in a wider variety of responses'); TtygAgentSettingsModalSteps.setTemperature(0.8); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 12/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Sets the nucleus sampling of the agent'); TtygAgentSettingsModalSteps.setTopP(0.9); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 13/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Enabling SPARQL search allows the agent to answers questions by performing a SPARQL query.'); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 14/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable SPARQL search query method.'); TtygAgentSettingsModalSteps.enableSparqlExtractionMethod(); GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 15/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable providing an ontology in a named graph.'); TtygAgentSettingsModalSteps.selectSparqlMethodOntologyGraph(); GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 16/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Type http://example.org/some/test/ontology as the named graph which contains the ontology.'); TtygAgentSettingsModalSteps.clearSparqlMethodOntologyGraphField(); TtygAgentSettingsModalSteps.typeSparqlMethodOntologyGraphField('http://example.org/some/test/ontology'); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('SPARQL search query method — 17/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Check to automatically add missing namespaces.'); TtygAgentSettingsModalSteps.toggleAddMissingNamespacesCheckbox(); GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method — 18/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Enabling FTS search allows the agent to answer questions by using full-text search in literals and IRIs.'); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method — 19/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable FTS search query method.'); TtygAgentSettingsModalSteps.enableFtsExtractionMethod(); GuideDialogSteps.assertDialogWithTitleIsVisible('FTS search query method — 20/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Type 100 as the maximum number of triples to retrieve per call.'); TtygAgentSettingsModalSteps.setFtsSearchMaxTriples(100); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method — 21/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Enabling Similarity search allows the agent to answer questions by using Similarity search.'); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method — 22/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable Similarity search query method.'); TtygAgentSettingsModalSteps.enableSimilaritySearchMethodPanel(); GuideDialogSteps.assertDialogWithTitleIsVisible('Similarity search query method — 23/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Select the index to use for Similarity search.'); TtygAgentSettingsModalSteps.selectSimilarityIndex(0); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 24/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable Full-text search in labels for IRI discovery'); TtygAgentSettingsModalSteps.checkIriDiscoverySearchCheckbox(); GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 25/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click on the toggle to enable Autocomplete for IRI discovery.'); TtygAgentSettingsModalSteps.checkAutocompleteSearchCheckbox(); GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 26/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Set the Max number of results (IRIs) per call to 15'); TtygAgentSettingsModalSteps.setAutocompleteMaxResults(15); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Talk to Your Graph — 27/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Set Context Size to 4096 so the model can use the ontology and conversation history to answer correctly'); TtygAgentSettingsModalSteps.getContextSizeField().focus(); TtygAgentSettingsModalSteps.clearContextSize(); TtygAgentSettingsModalSteps.enterContextSize(4096); GuideDialogSteps.clickOnNextButton(); GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 28/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Enter the following in the input:'); TtygAgentSettingsModalSteps.clearUserInstructions(); TtygAgentSettingsModalSteps.getCodeToCopy().then(code => { TtygAgentSettingsModalSteps.typeUserInstructions(code); GuideDialogSteps.clickOnNextButton(); }); GuideDialogSteps.assertDialogWithTitleIsVisible('Create an agent — 29/30'); GuideDialogSteps.assertDialogWithContentIsVisible('Click to save the agent settings'); TtygAgentSettingsModalSteps.saveAgent(); }); })