Skip to main content

Your package description.

Project description

Crimson Langgraph Reflection

A modular implementation of LangChain's Reflexion example, designed to make agent development more accessible, extensible, and reusable.

Overview

This project transforms the original LangChain Reflexion tutorial into a fully modular package. The Reflexion pattern enables LLM agents to:

  1. Answer questions
  2. Reflect on and critique their own answers
  3. Generate search queries to gather more information
  4. Revise answers based on new information

By modularizing this pattern, this package aims to:

  • Make Reflexion-style agents easier to implement in your projects
  • Provide a solid foundation for further customization and extension
  • Encourage reusability of core Reflexion components

Installation

pip install crimson-langgraph-reflection

Key Components

The package is organized into several main modules:

  • graph.py: Defines the LangGraph state machine that orchestrates the reflection process
  • responder/: Contains components for generating answers, reflections, and search queries
    • base.py: Core classes for response generation and validation
    • prebuilt.py: Ready-to-use responder implementations
  • tool.py: Search tool integration for information gathering
  • ui.py: Simple interface for running the Reflexion agent
  • llm.py: LLM configuration (defaulting to Claude 3.5 Sonnet)

Quick Start

from crimson.langchain_reflexion.ui import stream_shortcut

# Run with default settings (5 iterations)
stream_shortcut(question="What is LangChain?")

# Or customize the number of iterations
stream_shortcut(
    question="What is LangChain?",
    max_iterations=3
)

# Use a custom LLM
from langchain_anthropic import ChatAnthropic
custom_llm = ChatAnthropic(model="claude-3-opus-20240229")

stream_shortcut(
    question="What is LangChain?",
    llm=custom_llm
)

Examples

For complete examples, check out:

Extension and Customization

This package is designed to be extensible. You can:

  1. Create custom responder implementations by extending the base classes
  2. Modify the graph structure to add additional steps
  3. Integrate different search or reasoning tools
  4. Adjust the system prompts and reflection criteria

Requirements

  • Python ≥ 3.9
  • LangChain
  • LangGraph
  • Anthropic API access (for default LLM)

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Acknowledgements

This project is based on LangChain's Reflexion tutorial. Special thanks to the LangChain team for their innovative work on LLM agent frameworks.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

crimson_langgraph_reflection-0.1.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

crimson_langgraph_reflection-0.1.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file crimson_langgraph_reflection-0.1.0.tar.gz.

File metadata

File hashes

Hashes for crimson_langgraph_reflection-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6cf56e9c963af578b8dd441388944dafdbc728859784bf7e87019343f21e8ad8
MD5 332d8aa12daa3f28733f27e3ebe3abe7
BLAKE2b-256 44b2c1a8e81bfc47bda6a0cf45545435640fa7be4b4686356d475af5ad3ad658

See more details on using hashes here.

File details

Details for the file crimson_langgraph_reflection-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for crimson_langgraph_reflection-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0070f66d90f92db25923014ce6828a3311d6ce3fe0226c0c7521f68c74ed8b71
MD5 4f37d7186ab65691a22c7cff4b861f0e
BLAKE2b-256 6b7b15af81551de0522a2019218dcbfc9578f5cce770e43080be8b5ddd673d27

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page