Getting Started ============== This guide will help you get started with CortexFlow. Basic Usage ---------- Here's a simple example of how to use CortexFlow: .. code-block:: python from cortexflow import CortexFlowManager, CortexFlowConfig, MemoryConfig, LLMConfig # Configure with custom settings (nested config) config = CortexFlowConfig( memory=MemoryConfig(active_token_limit=2048, working_token_limit=4096, archive_token_limit=8192), llm=LLMConfig(backend="ollama", default_model="llama3"), ) # Create the context manager context_manager = CortexFlowManager(config) # Add messages to the context context_manager.add_message("system", "You are a helpful AI assistant.") context_manager.add_message("user", "What is the capital of France?") # Generate a response response = context_manager.generate_response() print(f"Assistant: {response}") # Explicitly store important information context_manager.remember_knowledge("The user's name is Alice and she lives in Boston.") # Clean up when done context_manager.close() Using the ConfigBuilder ---------------------- CortexFlow also supports a fluent builder pattern for configuration: .. code-block:: python from cortexflow import CortexFlowManager, ConfigBuilder config = (ConfigBuilder() .with_memory(active_token_limit=2000, working_token_limit=4000, archive_token_limit=6000) .with_llm(default_model="llama3") .build()) manager = CortexFlowManager(config) Advanced Features --------------- Chain of Agents ~~~~~~~~~~~~~~ CortexFlow includes a Chain of Agents framework that breaks down complex reasoning into specialized roles: .. code-block:: python from cortexflow import CortexFlowManager, ConfigBuilder # Enable Chain of Agents via the builder config = (ConfigBuilder() .with_agents(use_chain_of_agents=True, chain_complexity_threshold=5) .with_llm(default_model="llama3") .build()) # Create the manager with this configuration manager = CortexFlowManager(config) # Add a complex query manager.add_message("user", "What connection exists between quantum physics and consciousness?") # Generate response (automatically uses Chain of Agents for complex queries) response = manager.generate_response() See the :doc:`configuration` guide for more details on all available options.