agent-pard0x/README.md
Gaetan Hurel 081fb6b6d6
Initial commit: LangGraph chatbot with shell tool capabilities
- Add basic LangGraph chatbot implementation with OpenAI GPT-4
- Include shell tool integration for system command execution
- Set up project with uv package manager
- Add comprehensive README with setup instructions
- Include proper .gitignore for Python projects
2025-06-25 14:56:06 +02:00

3.5 KiB

LangGraph Basic Chatbot

A basic chatbot built with LangGraph following the official tutorial. This chatbot uses OpenAI's GPT-4 model to provide conversational AI capabilities.

Features

  • 🤖 Basic conversational AI using LangGraph
  • 🔄 State management with message history
  • 🚀 Built with uv for fast dependency management
  • 🔐 Secure API key handling

Prerequisites

  • Python 3.8 or higher
  • uv package manager
  • OpenAI API key

Setup

1. Clone and Navigate to Project

cd /Users/ghsioux/tmp/langgraph-pard0x

2. Install Dependencies

Dependencies are already installed with uv. The virtual environment is automatically managed.

3. Set up OpenAI API Key

You have several options:

Option A: Use the setup script

uv run setup_env.py

Option B: Set environment variable manually

export OPENAI_API_KEY='your-api-key-here'

Option C: Create a .env file

Create a .env file in the project root:

OPENAI_API_KEY=your-api-key-here

4. Run the Chatbot

uv run main.py

Usage

  1. Start the chatbot with uv run main.py
  2. Type your messages and press Enter
  3. The bot will respond using GPT-4
  4. Type quit, exit, or q to end the conversation

Example Conversation

🤖 LangGraph Basic Chatbot
Type 'quit', 'exit', or 'q' to exit the chat.
----------------------------------------
✅ Chatbot initialized successfully!

User: Hello! What is LangGraph?
Assistant: LangGraph is a library designed to help build stateful multi-agent applications using language models...

User: quit
👋 Goodbye!

Project Structure

langgraph-pard0x/
├── main.py           # Main chatbot implementation
├── setup_env.py      # Environment setup helper
├── pyproject.toml    # Project configuration and dependencies
├── README.md         # This file
└── .venv/            # Virtual environment (auto-managed by uv)

Dependencies

  • langgraph: Graph-based workflow library for LLM applications
  • langchain: Framework for developing applications with LLMs
  • langchain-openai: OpenAI integration for LangChain
  • langsmith: Observability and debugging for LangChain applications

How It Works

The chatbot uses LangGraph's StateGraph to manage conversation state:

  1. State Definition: Uses a TypedDict with messages field that appends new messages
  2. Graph Creation: Creates a state graph with a single "chatbot" node
  3. LLM Integration: Uses init_chat_model to initialize OpenAI's GPT-4
  4. Message Processing: The chatbot node processes incoming messages and returns responses
  5. Streaming: Responses are streamed back to the user in real-time

Next Steps

This is the foundation for more advanced LangGraph features:

  • Add web search tools
  • Implement memory persistence
  • Add human-in-the-loop capabilities
  • Create multi-agent workflows

Check out the LangGraph tutorials for more advanced features!

Troubleshooting

"Please set your OPENAI_API_KEY environment variable"

  • Make sure you've set your OpenAI API key using one of the methods above
  • Verify your API key is valid and active

"Error initializing chatbot"

  • Check your internet connection
  • Verify your OpenAI API key has sufficient credits
  • Make sure all dependencies are installed correctly

Import Errors

  • Run uv sync to ensure all dependencies are properly installed
  • Check that you're using the virtual environment created by uv