Skip to content
This repository has been archived by the owner on Apr 2, 2024. It is now read-only.

does not return the correct response #172

Open
christiancadieux opened this issue Dec 11, 2022 · 2 comments
Open

does not return the correct response #172

christiancadieux opened this issue Dec 11, 2022 · 2 comments
Labels
kind:bug Something isn't working

Comments

@christiancadieux
Copy link

christiancadieux commented Dec 11, 2022

First specify on which part this is related in the title with:
core/language/modules...: title

Describe the bug
I used the following intent files and get mostly random response. I was wondering why?

[
 {
  "tag": "devop_orchestration",
  "patterns": [
   "What is orchestration"
  ],
  "responses": [
   "Orchestration refers to the integration of multiple services that allows them to automate processes or synchronize information in a timely fashion. Say, for example, you have six or seven microservices for an application to run. If you place them in separate containers, this would inevitably create obstacles for communication. Orchestration would help in such a situation by enabling all services in individual containers to work seamlessly to accomplish a single goal."
  ],
  "context": ""
 },
 {
  "tag": "docker_kubernetes",
  "patterns": [
   "Compare docker to kubernetes",
   "How are Kubernetes and Docker related",
   "What is Kubernetes and Docker"
  ],
  "responses": [
   "Docker is an open-source platform used to handle software development. Its main benefit is that it packages the settings and dependencies that the software/application needs to run into a container, which allows for portability and several other advantages. Kubernetes allows for the manual linking and orchestration of several containers, running on multiple hosts that have been created using Docker."
  ],
  "context": ""
 },
 {
  "tag": "deploy_host_containers",
  "patterns": [
   "What is deploy on host or containers",
   "What is the difference between deploying on host vs containers"
  ],
  "responses": [
   "Deploying Applications consist of an architecture that has an operating system. The operating system will have a kernel that holds various libraries installed on the operating system needed for an application.\nWhereas container host refers to the system that runs the containerized processes. This kind is isolated from the other applications; therefore, the applications must have the necessary libraries. The binaries are separated from the rest of the system and cannot infringe any other application."
  ],
  "context": ""
 },
 {
  "tag": "kube_features",
  "patterns": [
   "what are the features of kubernetes"
  ],
  "responses": [
   "- Kubernetes places control for the user where the server will host the container. It will control how to launch. So, Kubernetes automates various manual processes.\n- Kubernetes manages various clusters at the same time.\n- It provides various additional services like management of containers, security, networking, and storage.\n- Kubernetes self-monitors the health of nodes and containers.\n- With Kubernetes, users can scale resources not only vertically but also horizontally that too easily and quickly."
  ],
  "context": ""
 },
 {
  "tag": "kube_master_node",
  "patterns": [
   "explain the working of a master node",
   "what is a kubernetes master node",
   "what is a master node"
  ],
  "responses": [
   "The master node dignifies the node that controls and manages the set of worker nodes. This kind resembles a cluster in Kubernetes. The nodes are responsible for the cluster management and the API used to configure and manage the resources within the collection. The master nodes of Kubernetes can run with Kubernetes itself, the asset of dedicated pods."
  ],
  "context": ""
 },
 {
  "tag": "kube_api_server",
  "patterns": [
   "what is the kube-api",
   "what is the kube-apiserver",
   "what is the role of the kube api server"
  ],
  "responses": [
   "This kind validates and provides configuration data for the API objects. It includes pods, services, replication controllers. Also, it provides REST operations and also the frontend of the cluster. This frontend cluster state is shared through which all other component interacts."
  ],
  "context": ""
 },
 {
  "tag": "kube_node_status",
  "patterns": [
   "what is the node status",
   "what does the node status contain"
  ],
  "responses": [
   "The main components of a node status are Address, Condition, Capacity, and Info."
  ],
  "context": ""
 },
 {
  "tag": "kube_pod",
  "patterns": [
   "what is a kubernetes pod",
   "what is a pod"
  ],
  "responses": [
   "Pods are high-level structures that wrap one or more containers. This is because containers are not run directly in Kubernetes. Containers in the same pod share a local network and the same resources, allowing them to easily communicate with other containers in the same pod as if they were on the same machine while at the same time maintaining a degree of isolation."
  ],
  "context": ""
 },
 {
  "tag": "kube_scheduler",
  "patterns": [
   "what is the job of the kube scheduler",
   "what does the kube schedule do",
   "what does the kubernetes schedule do"
  ],
  "responses": [
   "The kube-scheduler assigns nodes to newly created pods."
  ],
  "context": ""
 },
 {
  "tag": "kube_daemonset",
  "patterns": [
   "what is a daemonset"
  ],
  "responses": [
   "A Daemon set is a set of pods that runs only once on a host. They are used for host layer attributes like a network or for monitoring a network, which you may not need to run on a host more than once."
  ],
  "context": ""
 },
 {
  "tag": "minikube",
  "patterns": [
   "what is minikube"
  ],
  "responses": [
   "With the help of Minikube, users can Kubernetes locally. This process lets the user run a single-node Kubernetes cluster on your personal computer, including Windows, macOS, and Linus PCs. With this, users can try out Kubernetes also for daily development work."
  ],
  "context": ""
 },
 {
  "tag": "kube_namespace",
  "patterns": [
   "what is a namespace",
   "why use namespace",
   "what is a kubernetes namespace"
  ],
  "responses": [
   "Namespaces are used for dividing cluster resources between multiple users. They are meant for environments where there are many users spread across projects or teams and provide a scope of resources."
  ],
  "context": ""
 },
 {
  "tag": "kube_initial_namespaces",
  "patterns": [
   "what are the initial namespaces",
   "what ar the first namespaces",
   "what are the initial kubernetes namespaces"
  ],
  "responses": [
   "- default\n- kube-system"
  ],
  "context": ""
 },
 {
  "tag": "kube_etcd",
  "patterns": [
   "what is kube etcd",
   "what is kubernetes etcd",
   "what is etcd"
  ],
  "responses": [
   "Kubernetes uses etcd as a distributed key-value store for all of its data, including metadata and configuration data, and allows nodes in Kubernetes clusters to read and write data. Although etcd was purposely built for CoreOS, it also works on a variety of operating systems (e.g., Linux, BSB, and OS X) because it is open-source. Etcd represents the state of a cluster at a specific moment in time and is a canonical hub for state management and cluster coordination of a Kubernetes cluster."
  ],
  "context": ""
 },
 {
  "tag": "kube_clusterip",
  "patterns": [
   "what is clusterip",
   "what is a clusterIP service"
  ],
  "responses": [
   "The ClusterIP is the default Kubernetes service that provides a service inside a cluster (with no external access) that other apps inside your cluster can access."
  ],
  "context": ""
 },
 {
  "tag": "kube_nodeport",
  "patterns": [
   "what is a nodeport",
   "what is a nodeport service"
  ],
  "responses": [
   "The NodePort service is the most fundamental way to get external traffic directly to your service. It opens a specific port on all Nodes and forwards any traffic sent to this port to the service."
  ],
  "context": ""
 },
 {
  "tag": "kube_ingress",
  "patterns": [
   "what is a ingress",
   "what is an ingress network"
  ],
  "responses": [
   "An ingress is an object that allows users to access your Kubernetes services from outside the Kubernetes cluster. Users can configure the access by creating rules that define which inbound connections reach which services.\nHow does it work- This is an API object that provides the routing rules to manage the external users' access to the services in the Kubernetes cluster through HTTPS/ HTTP. With this, users can easily set up the rules for routing traffic without creating a bunch of load balancers or exposing each service to the nodes."
  ],
  "context": ""
 },
 {
  "tag": "kube_headless",
  "patterns": [
   "what is a headless service"
  ],
  "responses": [
   "A headless service is used to interface with service discovery mechanisms without being tied to a ClusterIP, therefore allowing you to directly reach pods without having to access them through a proxy. It is useful when neither load balancing nor a single Service IP is required."
  ],
  "context": ""
 },
 {
  "tag": "kube_kubelet",
  "patterns": [
   "what is a kubelet"
  ],
  "responses": [
   "The kubelet is a service agent that controls and maintains a set of pods by watching for pod specs through the Kubernetes API server. It preserves the pod lifecycle by ensuring that a given set of containers are all running as they should. The kubelet runs on each node and enables the communication between the master and slave nodes."
  ],
  "context": ""
 },
 {
  "tag": "kube_kubectl",
  "patterns": [
   "what is kubectl"
  ],
  "responses": [
   "kubectl is a CLI (command-line interface) that is used to run commands against Kubernetes clusters. As such, it controls the Kubernetes cluster manager through different create and manage commands on the Kubernetes component.  More info at \u003ca target=_win href=\"https://kubernetes.io/docs/reference/kubectl/docker-cli-to-kubectl\"\u003e[ kubectl ]\u003c/a\u003e"
  ],
  "context": ""
 },
 {
  "tag": "kubernetes_features",
  "patterns": [
   "what are the features of kubernetes",
   "what are some kubernetes features"
  ],
  "responses": [
   "- Automated Scheduling\n- Self-Healing Capabilities\n- Automated rollouts \u0026 rollback\n- Horizontal Scaling \u0026 Load Balancing\n- Offers environment consistency for development, testing, and production\n- Infrastructure is loosely coupled to each component can act as a separate unit\n- Provides a higher density of resource utilization\n- Offers enterprise-ready features\n- Application-centric management\n- Auto-scalable infrastructure\n- You can create predictable infrastructure"
  ],
  "context": ""
 },
 {
  "tag": "kube_kubectl_list",
  "patterns": [
   "list important kubectl commands",
   "list kubectl commands"
  ],
  "responses": [
   "- kubectl annotate\n- kubectl cluster-info\n- kubectl attach\n- kubectl apply\n- kubectl config\n- kubectl autoscale\n- kubectl config current-context\n- kubectl config set."
  ],
  "context": ""
 },
 {
  "tag": "kubernetes",
  "patterns": [
   "What is Kubernetes"
  ],
  "responses": [
   "Kubernetes is an open-source container orchestration tool or system that is used to automate tasks such as the management, monitoring, scaling, and deployment of containerized applications."
  ],
  "context": ""
 },
 
 {
  "tag": "zones",
  "patterns": [
   "What are zones",
   "What are colored zones"
  ],
  "responses": [
   "There are four different security zones. In order of least secure to most secure: Blue, Origin, Green, and Black."
  ],
  "context": ""
 }
]

To Reproduce
Steps to reproduce the behavior:

  1. copy this text ^ in res/locales/en/intents.json
  2. go run . --re-train en

Expected behavior
I was expecting that at least exact question like 'what is kubectl' would work since it's a perfect match.

@christiancadieux christiancadieux added the kind:bug Something isn't working label Dec 11, 2022
@Deng-Xian-Sheng
Copy link

It is true, and the support in Chinese will be even worse.
Its neural network does not seem to be language independent.
This neural network sucks.

@Deng-Xian-Sheng
Copy link

This neural network seems to be written by the author himself, and does not call a third-party library.
I don't think it's a good thing to build wheels. Implementing neural networks on your own is more like learning neural networks. This project is just like the one created by the author to learn neural networks.
I don't know much about neural networks either. It would be better if we could replace the current neural networks with pure Go libraries

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind:bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants