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.ChatConductorHelper 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:
- create_next_speaker_first_human_prompt(chat, goal)¶
- Parameters:
chat (chatflock.base.Chat)
goal (str)
- Return type:
- prepare_chat(chat, **kwargs)¶
- Parameters:
chat (chatflock.base.Chat)
kwargs (Any)
- 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:
- get_relevant_docs(messages)¶
- Parameters:
messages (Sequence[chatflock.base.ChatMessage])
- Return type:
List[langchain.schema.Document]