chatflock.conductors.langchain

Module Contents

class chatflock.conductors.langchain.LangChainBasedAIChatConductor(chat_model, goal='No explicit goal provided.', composition_generator=None, interaction_schema=None, retriever=None, spinner=None, tools=None, chat_model_args=None)

Bases: chatflock.base.ChatConductor

Helper class that provides a standard way to create an ABC using inheritance.

Parameters:
  • chat_model (langchain.chat_models.base.BaseChatModel)

  • goal (str)

  • composition_generator (Optional[chatflock.base.ChatCompositionGenerator])

  • interaction_schema (Optional[str])

  • retriever (Optional[langchain.schema.BaseRetriever])

  • spinner (Optional[halo.Halo])

  • tools (Optional[List[langchain.tools.BaseTool]])

  • chat_model_args (Optional[Dict[str, Any]])

chat_model
chat_model_args
goal
tools
retriever
composition_generator
interaction_schema
spinner
composition_initialized = False
create_next_speaker_system_prompt(chat)
Parameters:

chat (chatflock.base.Chat)

Return type:

str

create_next_speaker_first_human_prompt(chat, goal)
Parameters:
Return type:

str

prepare_chat(chat, **kwargs)
Parameters:
Return type:

None

select_next_speaker(chat)
Parameters:

chat (chatflock.base.Chat)

Return type:

Optional[chatflock.base.ActiveChatParticipant]

execute_messages(messages)
Parameters:

messages (Sequence[langchain.schema.BaseMessage])

Return type:

str

get_relevant_docs(messages)
Parameters:

messages (Sequence[chatflock.base.ChatMessage])

Return type:

List[langchain.schema.Document]