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.
▶ 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:8000with the live 3D architecture view (rag-app serve, or choose "web").
What makes it different
| 📑 Cited, not guessed | Answers 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 & local | Embedded vector store (Chroma). No database, no Docker, nothing leaves your machine. |
| 💬 Terminal or web | Use agtcld in your shell or the immersive web UI. Answer the agent's follow-ups to refine a design in place. |
| ♻️ Improves over time | Built-in 👍/👎 + "better answer" capture → export SFT / preference datasets for fine-tuning (RLHF). |
Cloud support
| Cloud | Status |
|---|---|
| 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):
| Setting | Default | Notes |
|---|---|---|
OPENAI_API_KEY |
– | needed for ask/design |
RAG_VECTOR_BACKEND |
chroma |
chroma (embedded) or pgvector |
RAG_LLM_MODEL |
gpt-4o-mini |
any OpenAI model; or RAG_LLM_PROVIDER=vllm |
RAG_EMBED_MODEL |
BAAI/bge-small-en-v1.5 |
local embeddings |
RAG_DEVICE |
auto |
cuda 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
Metadata
Release files for agtcld 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| agtcld-0.1.2.tar.gz | 418.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agtcld-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 847.2 kB
Release files / agtcld-0.1.2.tar.gz
| Download URL | agtcld-0.1.2.tar.gz |
|---|---|
| Size | 418.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ea4e8b02c6ab63460d2cf3f505f3f41262af105ae1ac1b6a344c8cf67d14bcee
|
|
BLAKE2b-256 checksum How to use checksums |
ee35887ac17a2abd059188d58b7a1650db7fff92136049be223583b529f011a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / agtcld-0.1.2-py3-none-any.whl
| Download URL | agtcld-0.1.2-py3-none-any.whl |
|---|---|
| Size | 428.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
24d8b556947fb61aca74df5d15d919adbcfd8697f6359c1485a7266a0ab7f33c
|
|
BLAKE2b-256 checksum How to use checksums |
4d34f243cdb1f90a4e63692ae085c97df529d0197fb3797ef3dc6698593bd5d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log