chatflock.participants.langchain

Module Contents

class chatflock.participants.langchain.LangChainBasedAIChatParticipant(name, chat_model, symbol='🤖', role='AI Assistant', personal_mission='Be a helpful AI assistant.', other_prompt_sections=None, retriever=None, tools=None, chat_model_args=None, spinner=None, ignore_group_chat_environment=False, include_timestamp_in_messages=False, **kwargs)

Bases: chatflock.base.ActiveChatParticipant

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

Parameters:
  • name (str)

  • chat_model (langchain.chat_models.base.BaseChatModel)

  • symbol (str)

  • role (str)

  • personal_mission (str)

  • other_prompt_sections (Optional[List[chatflock.structured_string.Section]])

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

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

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

  • spinner (Optional[halo.Halo])

  • ignore_group_chat_environment (bool)

  • include_timestamp_in_messages (bool)

  • kwargs (Any)

class Config
arbitrary_types_allowed = True
role
chat_model
chat_model_args
other_prompt_sections
ignore_group_chat_environment
include_timestamp_in_messages
retriever
tools
spinner
personal_mission
create_system_message(chat, relevant_docs)
Parameters:
Return type:

str

chat_messages_to_chat_model_messages(chat_messages, active_participants)
Parameters:
Return type:

List[langchain.schema.BaseMessage]

respond_to_chat(chat)
Parameters:

chat (chatflock.base.Chat)

Return type:

str

get_relevant_docs(messages)
Parameters:

messages (Sequence[chatflock.base.ChatMessage])

Return type:

List[langchain.schema.Document]

execute_messages(messages)
Parameters:

messages (Sequence[langchain.schema.BaseMessage])

Return type:

str

__str__()
Return type:

str

detailed_str(level=0)
Parameters:

level (int)

Return type:

str