Catalog PyPI
PACKAGE EXPLORERView in registry

agtcld

PyPI

AgentCloud AI — your private cloud solutions agent: ask, design & visualize cloud architectures, grounded in official docs (AWS today; Azure & GCP coming soon)

agentarchitectureawsbedrockchatbotcloudllmrag
Versions collected1
Direct dependencies22From release 0.1.2
Last observed21 Oct, 09:31 UTC

README

Version 0.1.2 documentation
AgentCloud AI

AgentCloud AI

Your private cloud solutions agent — ask how-tos with cited steps, then watch it design the architecture in live 3D. Grounded in official cloud docs. Runs on your machine.

PyPI Python License: MIT Live demo

▶ Try the live 3D demo · Install · What makes it different · Cloud support


AgentCloud answers questions about building on the cloud from the official documentation — every step cites the exact source page, so you get real APIs and real steps, not hallucinations. Ask a how-to and get cited steps; say "design …" and it proposes a full architecture (components, data flow, trade-offs, the questions it needs answered) and renders it as an interactive 3D diagram you can orbit and zoom. It runs locally with an embedded vector store — no database, no Docker, your questions stay yours.

AWS is available today. Azure & Google Cloud are coming next — same agent, same 3D designs, grounded in each provider's docs.

Install

pip install agtcld
agtcld            # shows the logo, asks: work in the terminal, or open the web app?

Only Python 3.10+ is required — no Docker, no database. On first run it asks for your LLM key and explains storage.

  • Terminal mode → an interactive agent in your shell ((~) agentcloud >).
  • Web app → http://127.0.0.1:8000 with the live 3D architecture view (rag-app serve, or choose "web").

What makes it different

📑 Cited, not guessedAnswers are built from the cloud's official docs & whitepapers; every step links to its source.
🧊 Live 3D architecture"design …" → real service icons as 3D tiles, arrowed data flow, real topology — orbit, zoom, hover for the why.
🔒 Private & localEmbedded vector store (Chroma). No database, no Docker, nothing leaves your machine.
💬 Terminal or webUse agtcld in your shell or the immersive web UI. Answer the agent's follow-ups to refine a design in place.
♻️ Improves over timeBuilt-in 👍/👎 + "better answer" capture → export SFT / preference datasets for fine-tuning (RLHF).

Cloud support

CloudStatus
AWS✅ Available
Azure🔜 Coming soon
Google Cloud🔜 Coming soon

Quickstart with your own docs

pip install agtcld
# put your PDFs / TXT / MD in ./data/raw, then:
rag-app index                       # chunk + embed locally (GPU-accelerated if available)
rag-app ask "What does our return policy say about refunds?"
rag-app serve                       # or launch the web UI

ask/design need an LLM — set OPENAI_API_KEY (in .env or your shell), or point RAG_LLM_PROVIDER=vllm at your own server. Indexing needs no API key (local embedding model).

Or load AWS's docs (373 services)

rag-app download --csv aws_service_guides.csv        # or --service "AWS Lambda" for a subset
rag-app index
rag-app ask "How do I enable S3 versioning?" --filter service="Amazon Simple Storage Service"

Every chunk is tagged with its service, so you can scope any question to one service. The CSVs (service guides, whitepapers, Well-Architected, prescriptive guidance) were generated from AWS's documentation sitemap.

How it works

INDEX:   your docs ──▶ parse (PyMuPDF) ──▶ chunk ──▶ embed ──▶ store (Chroma / pgvector)
ANSWER:  question ──▶ multi-query retrieval ──▶ rerank ──▶ cited answer  (+ grounding repair)
DESIGN:  request  ──▶ retrieve across services ──▶ components + flow + trade-offs ──▶ 3D diagram

Feedback & RLHF

Interactions and feedback are captured locally for continuous improvement:

rag-app feedback            # stats (👍/👎, corrections)
rag-app feedback --export   # → sft.jsonl (prompt→response) + preferences.jsonl (chosen/rejected)

Opt-in automated collection: set RAG_FEEDBACK_SUBMIT=true and RAG_FEEDBACK_ENDPOINT=<your collector> (PII-scrubbed before upload). Host the collector with rag-app collect-server.

Configuration (selected)

All settings are env vars with the RAG_ prefix (or a .env file):

SettingDefaultNotes
OPENAI_API_KEY–needed for ask/design
RAG_VECTOR_BACKENDchromachroma (embedded) or pgvector
RAG_LLM_MODELgpt-4o-miniany OpenAI model; or RAG_LLM_PROVIDER=vllm
RAG_EMBED_MODELBAAI/bge-small-en-v1.5local embeddings
RAG_DEVICEautocuda when a GPU is present, else cpu

Advanced

Scale: PostgreSQL / pgvector

For large / multi-tenant deployments, pip install "agtcld[postgres]", set RAG_VECTOR_BACKEND=pgvector, and start Postgres (e.g. RAG_VECTOR_BACKEND=pgvector docker compose --profile pgvector up -d). The table + extension are created on first index; pgvector also enables hybrid (vector + full-text) search.

Crawl JavaScript-rendered doc sites
pip install "agtcld[browser]" && playwright install chromium
rag-app crawl https://aws.amazon.com/whitepapers/ --limit 5

Site adapters live in src/rag_app/ingest/sites/; the fallback keeps any .pdf link.

Run in Docker
docker compose up -d --build
docker compose exec app rag-app index

Still no database — the embedded store lives on a mounted volume.

Evaluate quality
rag-app eval --file eval/architecture_questions.jsonl     # recall@k / precision@k / MRR
rag-app eval-answers --judge                               # LLM-judged step coverage

Contributing

Issues and PRs welcome — new cloud providers, site adapters, chunking/retrieval strategies, and eval sets especially. pip install -e ".[dev]" then pytest.

License

MIT © Ruturaj Dixit

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.24 Oct 202622

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
agentcloudai/agentcloud

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 09:31 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:e001ac1bcb1e2af89f4f56160599643c134f754b2905c3f01aece69facd74675