# ========================================
# SpringBootAI optional AI/LangChain dependencies (exact versions)
# ========================================
# The AI module uses optional dependencies with a built-in fallback:
#   - Without this file, native HTTP providers and FakeChatModel remain usable.
#   - Installing it enables LangChain adapters detected by ai/providers.py.
#
# Install examples:
#   pip install -r requirements-ai.txt
#   pip install langchain-openai==1.4.2
#
# Recommended Python: 3.10+ (CI covers 3.10, 3.11 and 3.12).
# Every pinned version is covered by tests and dependency auditing.
# Keep this file ASCII-only: pip-audit may use the Windows system encoding.
# ========================================

# LangChain core (BaseChatModel, Embeddings and Runnable APIs).
langchain-core==1.5.4

# Classic APIs including LLMChain, ConversationChain and initialize_agent.
langchain-classic==1.0.8

# OpenAI-compatible providers (OpenAI, Azure, DeepSeek and Moonshot).
langchain-openai==1.4.2

# RecursiveCharacterTextSplitter and CharacterTextSplitter.
langchain-text-splitters==1.1.2

# Community integrations including FAISS, Chroma, DuckDuckGo and Wikipedia.
langchain-community==0.4.2

# Vector similarity calculations; 2.2.6 retains Python 3.10 compatibility.
numpy==2.2.6

# Pydantic v2 for validation and structured output parsing.
pydantic==2.13.4

# ========================================
# Additional optional packages (install only when needed)
# ========================================

# Vector database: faiss-cpu
# PDF document loading: pypdf
# HTML parsing: beautifulsoup4
