class_docstr: Multi-turn conversational pipeline.
  
  This conversational pipeline can currently be loaded from [`pipeline`] using the following task identifier:
  `"conversational"`.
  
  The models that this pipeline can use are models that have been fine-tuned on a multi-turn conversational task,
  currently: *'microsoft/DialoGPT-small'*, *'microsoft/DialoGPT-medium'*, *'microsoft/DialoGPT-large'*. See the
  up-to-date list of available models on
  [huggingface.co/models](https://huggingface.co/models?filter=conversational).
  
  Usage:
  
  ```python
  conversational_pipeline = pipeline("conversational")
  
  conversation_1 = Conversation("Going to the movies tonight - any suggestions?")
  conversation_2 = Conversation("What's the last book you have read?")
  
  conversational_pipeline([conversation_1, conversation_2])
  
  conversation_1.add_user_input("Is it an action movie?")
  conversation_2.add_user_input("What is the genre of this book?")
  
  conversational_pipeline([conversation_1, conversation_2])
  ```
class_docstr_tok: ["Multi-turn","conversational","pipeline",".","This","conversational","pipeline","can","currently","be","loaded","from","[","`","pipeline","`","]","using","the","following","task","identifier",":","`","``","conversational","''","`",".","The","models","that","this","pipeline","can","use","are","models","that","have","been","fine-tuned","on","a","multi-turn","conversational","task",",","currently",":","*","'microsoft\/DialoGPT-small","'","*",",","*","'microsoft\/DialoGPT-medium","'","*",",","*","'microsoft\/DialoGPT-large","'","*",".","See","the","up-to-date","list","of","available","models","on","[","huggingface.co\/models","]","(","https",":","\/\/huggingface.co\/models","?","filter=conversational",")",".","Usage",":","``","`","python","conversational_pipeline","=","pipeline","(","``","conversational","''",")","conversation_1","=","Conversation","(","``","Going","to","the","movies","tonight","-","any","suggestions","?","''",")","conversation_2","=","Conversation","(","``","What","'s","the","last","book","you","have","read","?","''",")","conversational_pipeline","(","[","conversation_1",",","conversation_2","]",")","conversation_1.add_user_input","(","``","Is","it","an","action","movie","?","''",")","conversation_2.add_user_input","(","``","What","is","the","genre","of","this","book","?","''",")","conversational_pipeline","(","[","conversation_1",",","conversation_2","]",")","``","`"]
docstr: Generate responses for the conversation(s) given as inputs.
  
  Args:
      conversations (a [`Conversation`] or a list of [`Conversation`]):
          Conversations to generate responses for.
      clean_up_tokenization_spaces (`bool`, *optional*, defaults to `False`):
          Whether or not to clean up the potential extra spaces in the text output.
      generate_kwargs:
          Additional keyword arguments to pass along to the generate method of the model (see the generate method
          corresponding to your framework [here](./model#generative-models)).
  
  Returns:
      [`Conversation`] or a list of [`Conversation`]: Conversation(s) with updated generated responses for those
      containing a new user input.
docstr_tok: ["Generate","responses","for","the","conversation","(","s",")","given","as","inputs",".","Args",":","conversations","(","a","[","`","Conversation","`","]","or","a","list","of","[","`","Conversation","`","]",")",":","Conversations","to","generate","responses","for",".","clean_up_tokenization_spaces","(","`","bool","`",",","*","optional","*",",","defaults","to","`","False","`",")",":","Whether","or","not","to","clean","up","the","potential","extra","spaces","in","the","text","output",".","generate_kwargs",":","Additional","keyword","arguments","to","pass","along","to","the","generate","method","of","the","model","(","see","the","generate","method","corresponding","to","your","framework","[","here","]","(",".\/model","#","generative-models",")",")",".","Returns",":","[","`","Conversation","`","]","or","a","list","of","[","`","Conversation","`","]",":","Conversation","(","s",")","with","updated","generated","responses","for","those","containing","a","new","user","input","."]
code: def __call__(
      self,
      conversations: Union[Conversation, List[Conversation]],
      num_workers=0,
      **kwargs,
  ):
      r"""
      Generate responses for the conversation(s) given as inputs.
  
      Args:
          conversations (a [`Conversation`] or a list of [`Conversation`]):
              Conversations to generate responses for.
          clean_up_tokenization_spaces (`bool`, *optional*, defaults to `False`):
              Whether or not to clean up the potential extra spaces in the text output.
          generate_kwargs:
              Additional keyword arguments to pass along to the generate method of the model (see the generate method
              corresponding to your framework [here](./model#generative-models)).
  
      Returns:
          [`Conversation`] or a list of [`Conversation`]: Conversation(s) with updated generated responses for those
          containing a new user input.
      """
      # XXX: num_workers==0 is required to be backward compatible
      # Otherwise the threads will require a Conversation copy.
      # This will definitely hinder performance on GPU, but has to be opted
      # in because of this BC change.
      outputs = super().__call__(
          conversations, num_workers=num_workers, **kwargs
      )
      if isinstance(outputs, list) and len(outputs) == 1:
          return outputs[0]
      return outputs
  
imports: import uuid
  from typing import Any, Dict, List, Optional, Union
  from ..utils import add_end_docstrings, is_tf_available, is_torch_available, logging
  from .base import PIPELINE_INIT_ARGS, Pipeline
label_desc: Use image node_id 3 for calling the ConversationalPipeline obj's underlying member method code with example usage: obj.__call__(conversations, num_workers) and returns: outputs, outputs