Skip to content

DFGANDP/SupervisorAgentArch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AgenticRagSteam

Projekt demonstrujący agentów LangChain do zadań SQL, rekomendacji tagów Steam i nadzorcy (supervisor) z obsługą kontekstu RAG oraz narzędzi globalnych.

Wymagania

  • Python 3.11+
  • Klucze API (OpenAI, DeepSeek, Tavily) w pliku .env
  • Dostęp do bazy PostgreSQL z danymi Steam (tabele steamscrapy_*)
  • (Opcjonalnie) backend SteamSEO działający lokalnie

Instalacja

  • python -m venv .venv && source .venv/bin/activate (Windows: .\.venv\Scripts\activate)
  • pip install -r requirements.txt
  • Uzupełnij .env (klucze API, DATABASE_URL itp.)

example .env file

DATABASE_URL=postgresql+psycopg://rag_reader:123abc@localhost:5432/YourDatabase
DEBUG=True
APP_ENV=local
API_PREFIX=/api/v1
TAVILY_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxx
DEEPSEEK_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxx
OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxx

Uruchomienie

  • python -m app.main
  • W CLI wpisuj pytania; zakończ poleceniem exit lub quit.
  • W terminalu zobaczysz ślad kroków: [USER], [AGENT], [TOOL], finalną odpowiedź.

Struktura

  • app/main.py – buduje modele, narzędzia, agentów i uruchamia pętlę CLI
  • app/agents/sql_agent.py – agent SQL z walidacją wyników zapytań
  • app/agents/steam_recommendation.py – narzędzia i klient rekomendacji tagów Steam
  • app/agents/supervisor_agent.py – nadzorca routujący do agentów SQL/Steam
  • app/global_tools.py – globalne narzędzia (retrieval, web search)
  • app/core/tracing.py – proste logowanie kroków w CLI
  • reports/ – dokumenty PDF do RAG
  • requirements.txt – zależności

Konfiguracja

Plik .env powinien zawierać m.in.:

  • OPENAI_API_KEY
  • DEEPSEEK_KEY
  • TAVILY_API_KEY
  • DATABASE_URL

Tracing

Ślad w terminalu zapewnia CliTraceHandler:

  • [USER] – wejście użytkownika
  • [AGENT] – przebieg nadzorcy
  • [TOOL] – wywołania narzędzi z krótkim podglądem argumentów
  • Finalna odpowiedź zgodna z ostatnim AIMessage

Uwagi

  • Agent SQL blokuje DML; zwraca tylko dane odczytu.
  • Narzędzia zwracają dane serializowalne (str, dict, list) i walidują typy.
  • resolve_category_link dopasowuje linki po slugach (ILIKE) bez potrzeby dokładnego URL.

About

Local data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages