示例#1
0
        internal static void ModuleTesting()
        {
            var externalDatabase = RestaurantAgent.CreateRestaurantDatabase();
            var module           = new ExternalDatabaseProviderModule("restaurant", externalDatabase);

            var database = new EvaluatedDatabase();

            database.Container
            .Pattern("luxury")
            .WhatItSpecifies("pricerange")
            .HowToEvaluate("expensive")
            ;

            database.StartQueryLog();
            module.AttachTo(database);

            var result = database.Query(SemanticItem.AnswerQuery(Question.HowToDo, Constraints.WithInput("set restaurant specifier luxury")));
            //var result = database.Query(SemanticItem.AnswerQuery(Question.IsItTrue, Constraints.WithInput("restaurant database has 1 result")));

            var actionId = result.FirstOrDefault().Answer;
            var action   = database.GetNativeAction(actionId);

            action(result.FirstOrDefault());

            var log = database.FinishLog();

            Log.Questions(log.GetQuestions());
            Log.Result(result);

            Log.Dump(database);
        }
示例#2
0
        internal static void RestaurantSearchTest()
        {
            //Database.DebugTrigger(229);
            var agent = new RestaurantAgent();

            agent.Input("i want a luxury restaurant");
        }
示例#3
0
        internal static void RestaurantSearchLearningTest2()
        {
            var agent = new RestaurantAgent();

            agent.Input("hello");
            agent.Input("i want a luxury restaurant");
            //what does luxury specify?
            agent.Input("it is a pricerange");
            //how to paraphrase luxury ?
            agent.Input("I think expensive");
        }
示例#4
0
        internal static void RestaurantSearchLearningTest()
        {
            //Database.DebugTrigger(693);
            var agent = new RestaurantAgent();

            agent.Input("hello");

            agent.Input("i want a luxury restaurant");
            //what does luxury specify?
            agent.Input("pricerange");

            //how to paraphrase luxury ?
            agent.Input("expensive");

            agent.Input("dump database");
        }