zoukankan      html  css  js  c++  java
  • ChatterBot

    输入适配器的作用就是从给定的数据源读取数据,并将其转化为机器人能够识别的格式。

    1. 变量输入类适配器

    chatterbot.input.VariableInputTypeAdapter (***kwargs*)

    这个适配器可以接受几种不同类型的输入变量:json、text、object,或者可以说成是:strings、dictionaries、Statements

    chatbot = ChatBot(
        "My ChatterBot",
        input_adapter="chatterbot.input.VariableInputTypeAdapter"
    )
    

    2. 终端输入适配器

    chatterbot.input.TerminalAdapter (***kwargs*)

    顾名思义,可以通过终端与机器人交流,该适配器会获取终端的输入,转化给机器人。

    chatbot = ChatBot(
        "My ChatterBot",
        input_adapter="chatterbot.input.TerminalAdapter"
    )
    

    3. Gitter 输入适配器

    chatterbot.input.Gitter (***kwargs*)

    链接Gitter的一个房间,可以在该房间与机器人进行交流,该适配器会获取该房间的输入。

    chatbot = ChatBot(
        "My ChatterBot",
        input_adapter="chatterbot.input.Gitter",
        gitter_api_token="my-gitter-api-token",
        gitter_room="my-room-name",
        gitter_only_respond_to_mentions=True,
    )
    

    4. HipChat 输入适配器

    chatterbot.input.HipChat (***kwargs*)

    类似Gitter

    chatbot = ChatBot(
        "My ChatterBot",
        input_adapter="chatterbot.input.HipChat",
        hipchat_host="https://mydomain.hipchat.com",
        hipchat_room="my-room-name",
        hipchat_access_token="my-hipchat-access-token",
    )
    

    5. Mailgun 输入适配器

    chatterbot.input.Mailgun (***kwargs*)

    通过邮件交流

    # -*- coding: utf-8 -*-
    from chatterbot import ChatBot
    from settings import MAILGUN
    
    '''
    To use this example, create a new file called settings.py.
    In settings.py define the following:
    
    MAILGUN = {
        "CONSUMER_KEY": "my-mailgun-api-key",
        "API_ENDPOINT": "https://api.mailgun.net/v3/my-domain.com/messages"
    }
    '''
    
    # Change these to match your own email configuration
    FROM_EMAIL = "mailgun@salvius.org"
    RECIPIENTS = ["gunthercx@gmail.com"]
    
    bot = ChatBot(
        "Mailgun Example Bot",
        mailgun_from_address=FROM_EMAIL,
        mailgun_api_key=MAILGUN["CONSUMER_KEY"],
        mailgun_api_endpoint=MAILGUN["API_ENDPOINT"],
        mailgun_recipients=RECIPIENTS,
        input_adapter="chatterbot.input.Mailgun",
        output_adapter="chatterbot.output.Mailgun",
        storage_adapter="chatterbot.storage.SQLStorageAdapter",
        database="../database.db"
    )
    
    # Send an example email to the address provided
    response = bot.get_response("How are you?")
    print("Check your inbox at ", RECIPIENTS)
    

    6. 微软机器人平台输入适配器

    chatterbot.input.Microsoft (***kwargs*)

    chatbot = ChatBot(
        "My ChatterBot",
        input_adapter="chatterbot.input.Microsoft",
        directline_host="https://directline.botframework.com",
        directline_conversation_id="IEyJvnDULgn",
        direct_line_token_or_secret="RCurR_XV9ZA.cwA.BKA.iaJrC8xpy8qbOF5xnR2vtCX7CZj0LdjAPGfiCpg4Fv0",
    )
    

    7. 创建自定义输入适配器

    创建自定义输入适配器需要继承InputAdapter抽象类,并且实现必要的方法。

    chatterbot.input.InputAdapter (***kwargs*)

    实现process_input方法,并且返回Statement对象。

  • 相关阅读:
    多重背包POJ1276不要求恰好装满 poj1014多重背包恰好装满
    哈理工1053完全背包
    求最小公倍数与最大公约数的函数
    Bus Pass ZOJ 2913 BFS 最大中取最小的
    POJ 3624 charm bracelet 01背包 不要求装满
    HavelHakimi定理(判断一个序列是否可图)
    z0j1008Gnome Tetravex
    ZOJ 1136 Multiple BFS 取模 POJ 1465
    01背包 擎天柱 恰好装满 zjut(浙江工业大学OJ) 1355
    zoj 2412 水田灌溉,求连通分支个数
  • 原文地址:https://www.cnblogs.com/zhuhc/p/7806603.html
Copyright © 2011-2022 走看看