{"id":49563292,"url":"https://github.com/alexnthnz/deepflow","last_synced_at":"2026-05-03T10:47:28.627Z","repository":{"id":285674069,"uuid":"958453966","full_name":"alexnthnz/deepflow","owner":"alexnthnz","description":"An advanced Agentic AI system built on LangGraph and RAG, seamlessly integrating specialized tools and AWS services—such as Lambda, S3, Bedrock, SageMaker, and Aurora RDS—to synergize large language models with capabilities like web search, GitHub repository importing, and automated task execution.","archived":false,"fork":false,"pushed_at":"2025-06-29T10:33:04.000Z","size":4969,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-03T10:47:27.120Z","etag":null,"topics":["agentic","ai","aws","langgraph","nodejs","python","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexnthnz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-01T08:18:04.000Z","updated_at":"2025-08-12T11:48:22.000Z","dependencies_parsed_at":"2025-06-04T10:25:31.511Z","dependency_job_id":"0a34ff7b-cc51-4c6d-96f4-07c16fa7739d","html_url":"https://github.com/alexnthnz/deepflow","commit_stats":null,"previous_names":["alexnthnz/infra-chatbot","alexnthnz/basic-llm-tool-flow","alexnthnz/deepflow"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alexnthnz/deepflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexnthnz%2Fdeepflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexnthnz%2Fdeepflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexnthnz%2Fdeepflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexnthnz%2Fdeepflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexnthnz","download_url":"https://codeload.github.com/alexnthnz/deepflow/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexnthnz%2Fdeepflow/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32566444,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic","ai","aws","langgraph","nodejs","python","typescript"],"created_at":"2026-05-03T10:47:25.984Z","updated_at":"2026-05-03T10:47:28.614Z","avatar_url":"https://github.com/alexnthnz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Deepflow\n\nAn advanced Agentic AI system built on LangGraph and RAG, seamlessly integrating specialized tools and\nAWS services—such as Lambda, S3, Bedrock, SageMaker, and Aurora RDS—to synergize large language models with\ncapabilities like web search, GitHub repository importing, and automated task execution\n\n![Application Interface](assets/sample.png)\n\n## Setup Instructions\n\n### Prerequisites\n\n- AWS CLI installed and configured\n- Terraform installed\n- Docker installed (for building and pushing container images)\n- Bun.js for running the web application\n\n### Step 1: Configure AWS CLI\n\n```bash\naws configure\n```\n\nEnter your AWS Access Key ID, Secret Access Key, default region (ap-southeast-2), and output format (json).\n\n### Step 2: Setup ECR Repositories\n\n```bash\n# View available make commands\nmake help\n\n# Create ECR repositories\nmake setup-ecr\n\n# If you need to delete ECR repositories\nmake drop-ecr\n```\n\n### Step 3: Setup Terraform Remote State\n\n```bash\n# Navigate to the state directory\ncd deploy/state\n\n# Comment out the terraform backend block in main.tf\n# (lines 45-52 in main.tf)\n\n# Initialize and apply terraform to create S3 bucket and DynamoDB table for state\nterraform init\nterraform apply\n\n# After successful creation, uncomment the backend block and re-initialize\n# to migrate state to S3\nterraform init\n```\n\n### Step 4: Deploy Infrastructure\n\n```bash\n# Navigate to the infrastructure directory\ncd deploy/infra/env/prod\n\n# Create or update terraform.tfvars using the following format:\naws_region = \"ap-southeast-2\"\nvpc_name = \"LLMToolFlow_vpc\"\ncidr_block = \"10.0.0.0/16\"\naurora_name = \"llmtoolflow-aurora\"\naurora_master_username = \"root\"\nelasticache_enabled = false\nelasticache_name = \"llmtoolflow-elasticache-redis\"\nsecret_name = \"llmtoolflow-envs\"\nbastion_name = \"LLMToolFlow\"\nec2_bastion_ingress_ips = [\"your-ip-address/32\"]\nkb_name = \"LLMToolFlow_kb\"\nkb_s3_bucket_name_prefix = \"llmtoolflow-kb\"\nkb_oss_collection_name = \"llmtoolflow-kb\"\nkb_model_id = \"amazon.titan-embed-text-v2:0\"\ns3_bucket_handler_name = \"llmtoolflow-handler-files\"\nlambda_function_handler_name = \"llmtoolflow-handler\"\nlambda_function_ecr_image_uri = \"your-account-id.dkr.ecr.ap-southeast-2.amazonaws.com/llmtoolflow-prod-handler-ecr:0.0.6\"\nsagemaker_enabled = false\nsagemaker_name = \"llmtoolflow-sagemaker\"\nsagemaker_ecr_image_uri = \"763104351884.dkr.ecr.ap-southeast-2.amazonaws.com/huggingface-pytorch-tgi-inference:2.6.0-tgi3.2.3-gpu-py311-cu124-ubuntu22.04-v2.0\"\nsagemaker_initial_instance_count = 1\nsagemaker_instance_type = \"ml.g5.xlarge\"\nsagemaker_hf_model_id = \"meta-llama/Meta-Llama-3.1-8B-Instruct\"\nsagemaker_hf_access_token = \"your-huggingface-token\"\nsagemaker_tgi_config = {\n  max_input_tokens = 4000,\n  max_total_tokens = 4096,\n  max_batch_total_tokens = 6144,\n}\n\n# Deploy shared modules first\nterraform init\nterraform plan -out=tfplan -target=\"module.shared\"\nterraform apply tfplan\n\n# Configure environment variables in AWS Secrets Manager\n# Go to AWS Console \u003e Secrets Manager \u003e Find \"llmtoolflow-envs\" secret\n# Update with necessary environment variables\n\n# Deploy handler module\nterraform plan -out=tfplan -target=\"module.handler\"\nterraform apply tfplan\n```\n\n### Step 5: Configure and Run Web Application\n\n```bash\n# Copy the API Gateway URL from AWS Lambda Console\n# Navigate to the app directory\ncd app\n\n# Create .env file with API Gateway URL\necho \"API_URL=https://your-api-gateway-url\" \u003e .env\n\n# Install dependencies and run the app\nbun install\nbun run dev\n```\n\n### Full Deployment (Building and Deploying Handler)\n\nTo build, push, and update the handler Lambda function:\n\n```bash\n# Build and push the handler container\nmake all SERVICE=handler MAJOR=0 MINOR=0\n\n# This will:\n# 1. Create a virtual environment and install dependencies\n# 2. Run tests (if any)\n# 3. Build the container image\n# 4. Push to ECR\n# 5. Update terraform.tfvars with the new image URI\n```\n\nAfter pushing a new image, update the Lambda function:\n\n```bash\ncd deploy/infra/env/prod\nterraform plan -out=tfplan -target=\"module.handler\"\nterraform apply tfplan\n```\n\n## Local Development\n\nFor local development, you can run the backend services locally without deploying to AWS:\n\n### Step 1: Start Database and Redis Containers\n\n```bash\n# Navigate to the chatbot directory\ncd chatbot\n\n# Start database and Redis containers\ndocker compose up -d\n```\n\n### Step 2: Setup Handler Environment\n\n```bash\n# Navigate to the handler directory\ncd handler\n\n# Create environment configuration file\ncp env.example.json env.json\n# Edit env.json with your local configuration values\n```\n\n### Step 3: Setup Python Virtual Environment\n\n```bash\n# Activate existing virtual environment (if available)\nsource .venv/bin/activate\n\n# Or create a new virtual environment if running for the first time\nuv venv --python 3.13\nsource .venv/bin/activate\n```\n\n### Step 4: Install dependencies\n\n```bash\nuv sync --group dev\n```\n\n### Step 5: Build and Run Local API\n\n```bash\nuv run uvicorn src.main:app --reload --env-file .env\n```\n\nThe local API will be available at `http://localhost:8000`. You can now test your backend services locally before deploying to AWS.\n\n## Architecture\n\nThe system uses several AWS services:\n\n- API Gateway and Lambda for backend processing\n- S3 for file storage\n- Amazon Bedrock or SageMaker for LLM inference\n- AWS Knowledge Base for document storage and retrieval\n- Aurora PostgreSQL for database storage (optional)\n- ElastiCache for Redis caching (optional)\n\n## Web Application\n\nThe web application is built with Next.js and provides a simple interface for interacting with the tool flow system.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexnthnz%2Fdeepflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexnthnz%2Fdeepflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexnthnz%2Fdeepflow/lists"}