New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

wit_ai

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

wit_ai

  • 7.0.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

wit-ruby

wit-ruby is the Ruby SDK for Wit.ai.

Install

From RubyGems:

gem install wit

From source:

git clone https://github.com/wit-ai/wit-ruby
gem build wit.gemspec
gem install wit-*.gem

Quickstart

Run in your terminal:

ruby examples/basic.rb <your_token>

See the examples folder for more examples.

API

Overview

wit-ruby provides a Wit class with the following methods:

  • message - the Wit message API
  • interactive - starts an interactive conversation with your bot

Wit class

The Wit constructor takes a Hash with the following symbol keys:

  • :access_token - the access token of your Wit instance

A minimal example looks like this:

require 'wit'

client = Wit.new(access_token: access_token)
client.message('set an alarm tomorrow at 7am')

Create new App Using the Access Token

Creates new app using the server token. See POST /apps.

new_app_payload = {name: "new-app-1", lang: "en", private: true}
# set_new_app_token will make the client use the new app's token.
# that flag is set to false by default.
client.create_new_app(new_app_payload, set_new_app_token = true)

Train the app programatically using '/utterances'

Trains and annotates an utterance or more. See POST /utterances.

# you have to create the intent and entity before using any of them.
utterance_payload = {
  text: "I want to fly to china",
  intent: "flight_request",
  entities: [
    {
      "entity": "wit$location:to",
      "start": 17,
      "end": 22,
      "body": "china",
      "entities": []
    }
  ],
  traits: []
}

# utterance payload can be a list of utterances or a single one
client.post_utterances(utterance_payload)

.message()

The Wit message API.

Takes the following parameters:

  • msg - the text you want Wit.ai to extract the information from

Example:

rsp = client.message('what is the weather in London?')
puts("Yay, got Wit.ai response: #{rsp}")

.interactive()

Starts an interactive conversation with your bot.

Example:

client.interactive

CRUD operations for intents

payload in the parameters is a hash containing API arguments.

.get_intents()

Returns a list of available intents for the app. See GET /intents.

.get_intent(intent)

Returns all available information about an intent. See GET /intents/:intent.

.post_intents(payload)

Creates a new intent. See POST /intents.

.delete_intents(intent)

Permanently deletes the intent. See DELETE /intents/:intent.

CRUD operations for entities

payload in the parameters is a hash containing API arguments.

.get_entities()

Returns a list of available entities for the app.
See GET /entities

.post_entities(payload)

Creates a new entity with the given attributes.
See POST /entities

.get_entity(entity)

Returns all the information available for an entity.
See GET /entities/:entity

.put_entities(entity, payload)

Updates an entity with the given attributes.
See PUT /entities/:entity

.delete_entities(entity)

Permanently removes the entity.
See DELETE /entities/:entity

.post_entities_keywords(entity, payload)

Adds a possible value into the list of keywords for the keywords entity. See POST /entities/:entity/keywords

.delete_entities_keywords(entity, keyword)

Deletes a keyword from the entity.
See DELETE /entities/:entity/keywords/:keyword

.post_entities_keywords_synonyms(entity, keyword, payload)

Creates a new synonym for the keyword of the entity.
See POST /entities/:entity/keywords/:keyword/synonyms

delete_entities_keywords_synonyms(entity, keyword, synonym)

Deletes a synonym of the keyword of the entity.
See DELETE /entities/:entity/keywords/:keyword/synonyms/:synonym

CRUD operations for traits

payload in the parameters is a hash containing API arguments.

.get_traits()

Returns a list of available traits for the app. See GET /traits.

.get_trait(trait)

Returns all available information about a trait. See GET /traits/:trait.

.post_traits(payload)

Creates a new trait. See POST /traits.

.post_traits_values(trait, payload)

Adds a new value to an existing trait. See POST /traits/:trait/values.

.delete_traits_values(trait, value)

Permanently deletes a value of an existing trait. See POST /traits/:trait/values.

.delete_traits(trait)

Permanently deletes the trait. See DELETE /traits/:trait.

See the docs for more information.

Logging

Default logging is to STDOUT with INFO level.

You can setup your logging level as follows:

Wit.logger.level = Logger::WARN

See the Logger class docs for more information.

Thanks

Thanks to Justin Workman for releasing a first version in October 2013. We really appreciate!

License

The license for wit-ruby can be found in LICENSE file in the root directory of this source tree.

Terms of Use

Our terms of use can be found at https://opensource.facebook.com/legal/terms.

Privacy Policy

Our privacy policy can be found at https://opensource.facebook.com/legal/privacy.

FAQs

Package last updated on 15 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc