Files
prakticheskoe-zadanie-3-pam…/README.md
T

62 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LangGraph Agent with Memory and Tool Confirmation
This project demonstrates a simple conversational agent built with **LangGraph** that:
- **Remembers** the conversation history across turns using an inmemory checkpoint.
- **Pauses** before invoking any tool, asking the user for confirmation.
- Uses the **Rich** library for pretty console output.
## Prerequisites
- Python 3.10+
- An OpenAI API key (set as the `OPENAI_API_KEY` environment variable).
## Installation
```bash
# Clone the repository (or copy the files)
git clone https://github.com/yourusername/langgraph-agent.git
cd langgraph-agent
# Create a virtual environment (optional but recommended)
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
```
## Usage
```bash
python src/main.py
```
You will see a prompt:
```
Start chat. Type 'exit' to quit.
You:
```
Type any message. If the agent decides to use a tool (e.g., the `echo` tool), it will pause and ask:
```
Agent wants to call tool: echo({"text":"Hello"})
Разрешить? (Y/n):
```
- Type `Y` or press Enter to allow the tool to run.
- Type `n` to cancel the tool call.
The conversation history is preserved across turns, so the agent can refer back to earlier messages.
## Customizing
- **Tools**: Add more tools by defining functions decorated with `@tool` from `langchain.tools`.
- **Memory**: Replace `MemorySaver()` with a persistent checkpoint (e.g., `RedisSaver`) for longterm storage.
- **Prompt**: Modify the `system_prompt` in `create_agent` to change the agents behavior.
## License
MIT License