How dikshanta1/ai-news-agent works
This Streamlit app lets a user choose a chatbot or AI-news workflow, configure a Groq model, and view the result. The main flow loads UI inputs, builds the selected LangGraph, and delegates execution and rendering to the result display. The graph supports a basic LLM chatbot, a tool-routed web chatbot, and a news fetch–summarize–save workflow. Edges reflect the excerpts and README; unsampled internals are not inferred.
Main entry points: graph_builder.py Graph builder · main.py App coordinator · ai_news_node.py AI news stages · loadui.py Input and workflow selector
Components 18
Streamlit UI
- App entry
app.py - Input and workflow selector
src/langgraphagenticai/ui/streamlitui/loadui.py - UI configuration
src/langgraphagenticai/ui/uiconfigfile.py - Result display
src/langgraphagenticai/ui/streamlitui/display_result.py
Workflow orchestration
- App coordinator
src/langgraphagenticai/main.py - Graph builder
src/langgraphagenticai/graph/graph_builder.py - Graph message state
src/langgraphagenticai/state/state.py
Chat workflows
- Basic chatbot node
src/langgraphagenticai/nodes/basic_chatbot_node.py - Tool chatbot node
src/langgraphagenticai/nodes/chatbot_with_Tool_node.py - Search tool setup
src/langgraphagenticai/tools/search_tool.py - Tool executor
src/langgraphagenticai/tools/search_tool.py
AI news workflow
- AI news stages
src/langgraphagenticai/nodes/ai_news_node.py - Digest files
External services
- Groq model setup
src/langgraphagenticai/LLMS/groqllm.py - Groq LLM
- Tavily web search
- Tavily news API
Other components
- User
Connections 21
- User → Input and workflow selector: selects workflow
src/langgraphagenticai/ui/streamlitui/loadui.py - App entry → App coordinator: starts app
app.py - App coordinator → Input and workflow selector: loads inputs
src/langgraphagenticai/main.py - Input and workflow selector → UI configuration: reads options
src/langgraphagenticai/ui/streamlitui/loadui.py - App coordinator → Groq model setup: configures model
src/langgraphagenticai/main.py - Groq model setup → Groq LLM: creates model
src/langgraphagenticai/LLMS/groqllm.py - App coordinator → Graph builder: builds workflow
src/langgraphagenticai/main.py - Graph builder → Graph message state: sets graph state
src/langgraphagenticai/graph/graph_builder.py - Graph builder → Basic chatbot node: registers node
src/langgraphagenticai/graph/graph_builder.py - Graph builder → Tool chatbot node: registers node
src/langgraphagenticai/graph/graph_builder.py - Graph builder → Search tool setup: creates tools
src/langgraphagenticai/graph/graph_builder.py - Graph builder → Tool executor: creates executor
src/langgraphagenticai/graph/graph_builder.py - Graph builder → AI news stages: registers stages
src/langgraphagenticai/graph/graph_builder.py - Basic chatbot node → Groq LLM: invokes model
src/langgraphagenticai/nodes/basic_chatbot_node.py - Tool chatbot node → Groq LLM: invokes bound model
src/langgraphagenticai/nodes/chatbot_with_Tool_node.py - Search tool setup → Tavily web search: configures search
src/langgraphagenticai/tools/search_tool.py - AI news stages → Tavily news API: fetches articles
README.md - AI news stages → Groq LLM: summarizes articles
src/langgraphagenticai/nodes/ai_news_node.py - AI news stages → Digest files: writes digest
src/langgraphagenticai/nodes/ai_news_node.py - App coordinator → Result display: passes graph and input
src/langgraphagenticai/main.py - Result display → Digest files: reads digest
src/langgraphagenticai/ui/streamlitui/display_result.py