跳转到主要内容

用于运行多个聊天机器人之间对话实验的库。

项目描述

聊天聊天机器人

用于运行多个生成语言模型之间对话实验的库。

python version Code style: black pytorch version

安装

从PiPy安装聊天聊天机器人

pip install chatting_chatbots

或直接从GitHub安装

pip install git+https://github.com/centre-for-humanities-computing/chatbot-conversations

用法

该软件包目前只能与PyTorch一起使用。

Open In Colab

使用示例(在教程/示例.ipynb中查看)

import chatting_chatbots as cc

cc.Experiment(
    population = {"John" : "gpt2", "Margaret" : "gpt2", "Alice" : "gpt2", "Bob" : "gpt2", "Eve" : "gpt2", "Charlie" : "gpt2", "Darwin" : "gpt2"}, 
    cycles = 2,
    initial_context="Hi. Why are you late?",
    conversation_length=10,
    verbose = True,
    use_gpu=0,
    use_files=False
    ).run()

实验参数

参数 类型 默认值 描述
population dict 必需参数 一个字典,其中每个元素是一个代理,定义为“Agent_Name” : “Agent_Model”。模型可以是HuggingFace上可用的模型名称,或者是一个包含分词器和您已创建的模型的列表[tokenizer, model]
cycles int 1 对话周期数,其中每个周期是种群中的每个代理与其他代理交谈两次(开始对话一次,作为第二次交谈)。
initial_context str "Hello." 第一个代理在对话中使用的初始上下文,即每个对话都以这个句子开始。
conversation_length int 10 对话的回合长度(不包括初始上下文)。
random_length int 0 长度随机变量;长度从均匀分布[conversation_length - random_length, conversation_length + random_length]中选取。
training_args TrainingArguments None 传递给HuggingFace Trainer()类的TrainingArguments参数。如果为None,则使用一些默认参数。
verbose bool False 如果设置为True,类将输出一些关于正在发生什么的额外文本。
use_files bool True 如果设置为True,在训练过程中,对话将被保存到output_path目录下的文件中,并且将使用output_path中的所有文件进行训练。否则,仅使用单个.run()生成的对话。
use_gpu int -1 如果没有设置,则使用cpu,否则使用指定的gpu。
generation_parameters list None 用于model.generate()函数的参数列表(未测试)。如果未使用,则使用一些默认参数。
context_size int 600 每次生成应使用多少个标记。如果设置为0,则使用整个对话作为上下文。请注意,这容易导致崩溃,因为某些模型无法处理大型上下文。
full_conversation bool True 如果设置为True,则使用整个对话进行训练。如果设置为False,则仅使用其他代理的文本进行训练。
batch_size int 128 用于训练的批次大小。如果实验因没有训练示例而崩溃,您应该降低此值或增加对话长度。
train_after_run bool True 如果设置为True,则在每次.run()后对每个代理进行训练。
output_path str "outputs" 对话文件应保存的路径。
cache_path str ".cache/huggingface/transformers" 模型(如果从HuggingFace下载)应存储的路径。

可用函数

function arguments return 描述
conversation_generation() str speaker_one, str speaker_two str conversation 生成speaker_onespeaker_two之间的对话。返回对话。请注意,说话人必须在Experiment的群体中。
run() - - 通过让每个代理与其他每个代理进行设定的周期数对话来运行实验,可选地之后进行训练。
train_participant() str participant - 训练指定的参与者。请注意,参与者必须是Experimentpopulation的一部分。
return_model str participant model 返回指定参与者的当前模型。

致谢

此软件包是在使用Name项目模板创建的。

项目详情


下载文件

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

源分布

chatting_chatbots-0.0.1.tar.gz (13.9 kB 查看散列)

上传时间

构建分布

chatting_chatbots-0.0.1-py2.py3-none-any.whl (12.3 kB 查看散列)

上传于 Python 2 Python 3

支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误记录StatusPageStatusPage状态页面