Skip to main content

高速对话对话引擎

项目描述

Flipgenic:高速会话对话引擎


它是什么?

Flipgenic 是一个用于创建简单聊天机器人的库。Flipgenic 机器人从一个空洞的头脑开始,并通过重复使用它在以前的对话中看到的消息来学习如何随着时间的推移进行交流。它没有写任何原创的东西。

以下是它在Axyn中的使用示例:

示例对话的屏幕截图

Flipgenic 专注于快速回复时间和简单的 API。 Chatterbot是一个更知名的库,具有自定义过滤器和逻辑适配器等附加功能。

我该如何使用它?

这是一个基本示例:

# python -m pip install flipgenic
# python -m spacy download en_core_web_md

from flipgenic import Responder

# Create and connect to database
# This can take a while to load the spaCy models
responder = Responder('/path/to/data/folder/')

# Initialize the database with a single response
responder.learn_response('Hello', 'Hi!')

response = None
while True:
    text = input('> ')

    if response:
        # Learn the input as a response to the previous output
        responder.learn_response(response, text)

    # Generate a response
    response, distance = responder.get_response(text)
    print(response.text, f'({distance})')

有关更多信息,请参阅ReadTheDocs。

它是如何工作的?

  1. 调用 后get_response,输入将转换为 300 维向量。每个单词的向量嵌入由 SpaCy提供;计算平均值给出了一个代表整个文本的向量。
  2. 通过搜索先前看到的消息的向量来找到最接近的匹配。NGT索引可提高性能。
  3. 搜索结果对应于一个或多个已知响应。这些响应存储在 SQLite 数据库中。
  4. 我们随机选择一个匹配的响应。同样的反应可能已经被学习了不止一次,这给了它更高的选择机会。
  5. 与选择的响应一起,输入向量和搜索结果之间的距离作为置信启发式返回。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

flipgenic-2.2.1.tar.gz (16.9 kB 查看哈希)

已上传 source

内置分布

flipgenic-2.2.1-py3-none-any.whl (17.5 kB 查看哈希)

已上传 py3