{"id":"1cda9d8f-aadb-48de-95cc-4eb299c7e651","entityType":"agent","slug":"crewai-meth04-vn-stock-rag","name":"vn_stock_rag","canonicalUrl":"https://www.xpersona.co/agent/crewai-meth04-vn-stock-rag","canonicalPath":"/agent/crewai-meth04-vn-stock-rag","generatedAt":"2026-10-09T00:20:18.520Z","source":"GITHUB_OPENCLEW","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-05-31T06:18:45.021Z","emptyReason":null},"description":"Hệ thống phân tích chứng khoán Việt Nam chuyên sâu sử dụng kiến trúc Multi-Agent RAG với CrewAI và Google Gemini. VnStock Multi-Agent RAG: Hệ thống Phân tích Đầu tư Thông minh Nền tảng phân tích chứng khoán chuyên sâu sử dụng kiến trúc Multi-Agent, tích hợp RAG (Retrieval-Augmented Generation). 📖 Giới thiệu **VnStock RAG** là giải pháp công nghệ tài chính tự động hóa quy trình phân tích cổ phiếu. Thay vì phụ thuộc vào việc thu thập dữ liệu thủ công, hệ thống vận hành một tập hợp các **AI Agents** chuyên biệt, phối hợp để thực h","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 25 GitHub stars reported by the source. Last updated 5/31/2026.","installCommand":"git clone https://github.com/meth04/vn_stock_rag.git","sourceUrl":"https://github.com/meth04/vn_stock_rag","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/meth04/vn_stock_rag","kind":"source"}],"safetyScore":75,"overallRank":30.4,"popularityScore":35,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Hệ thống phân tích chứng khoán Việt Nam chuyên sâu sử dụng kiến trúc Multi-Agent RAG với CrewAI và Google Gemini. VnStock Multi-Agent RAG: Hệ thống Phân tích Đầ"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-05-31T06:18:45.021Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"medium","updatedAt":"2026-05-31T06:18:45.021Z","emptyReason":null},"stars":25,"forks":7,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"25 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-05-31T06:18:45.021Z","emptyReason":null},"lastUpdatedAt":"2026-05-31T06:18:45.021Z","lastCrawledAt":"2026-05-31T06:18:45.021Z","lastIndexedAt":null,"nextCrawlAt":"2026-06-07T06:18:45.021Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"git clone https://github.com/meth04/vn_stock_rag.git","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_OPENCLEW","generatedAt":"2026-10-09T00:20:18.520Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-meth04-vn-stock-rag/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB OPENCLEW","verified":false,"confidence":"high","updatedAt":"2026-05-31T06:18:45.021Z","emptyReason":null},"readme":"# VnStock Multi-Agent RAG: Hệ thống Phân tích Đầu tư Thông minh\r\n\r\n> Nền tảng phân tích chứng khoán chuyên sâu sử dụng kiến trúc Multi-Agent, tích hợp RAG (Retrieval-Augmented Generation).\r\n\r\n![Architecture Diagram](https://raw.githubusercontent.com/meth04/vn_stock_rag/main/assets/pipeline.png)\r\n\r\n## 📖 Giới thiệu\r\n\r\n**VnStock RAG** là giải pháp công nghệ tài chính tự động hóa quy trình phân tích cổ phiếu. Thay vì phụ thuộc vào việc thu thập dữ liệu thủ công, hệ thống vận hành một tập hợp các **AI Agents** chuyên biệt, phối hợp để thực hiện:\r\n1.  Thu thập dữ liệu thời gian thực (Real-time Data).\r\n2.  Phân tích đa chiều (Vĩ mô, Kỹ thuật, Cơ bản).\r\n3.  Xử lý tài liệu tài chính.\r\n4.  Tổng hợp và xuất bản báo cáo khuyến nghị chuẩn mực.\r\n\r\nHệ thống bao gồm giao diện **Chatbot tương tác** và dịch vụ **Newsletter Automation**.\r\n\r\n---\r\n\r\n## ✨ Tính năng Kỹ thuật Nổi bật\r\n\r\n### 1. Xử lý Ngôn ngữ & Hiểu ý định người dùng\r\n- Sử dụng Google Gemini là lõi để phân loại ý định người dùng.\r\n- Tự động điều hướng yêu cầu: Chat hỏi đáp số liệu nhanh (RAG Query) hoặc Yêu cầu phân tích chuyên sâu (Full Analysis Workflow).\r\n\r\n### 2. Phân tích Đa lớp \r\nHệ thống không chỉ tóm tắt văn bản mà thực hiện các tác vụ chuyên môn:\r\n- **Market Intelligence:** Quét và lọc tin tức vĩ mô, chính sách tiền tệ tác động đến ngành.\r\n- **Technical Analysis:** Tự động vẽ biểu đồ nến tích hợp SMA20/50, tính toán RSI, MACD và xác định vùng kháng cự/hỗ trợ bằng Python (Matplotlib/Mplfinance).\r\n- **Fundamental Analysis:** Truy xuất dữ liệu tài chính (P/E, P/B, ROE) và so sánh tương quan với nhóm đối thủ cạnh tranh.\r\n\r\n### 3. RAG Engine cho Báo cáo Tài chính\r\n- **Ingestion Pipeline:** Tích hợp **MistralOCR** để số hóa các file PDF báo cáo tài chính (dạng ảnh/scan).\r\n- **Vector Store:** Lưu trữ dữ liệu vector để truy xuất chính xác các chỉ số tài chính phức tạp.\r\n- **Context-aware:** Giảm thiểu hiện tượng AI Hallucination bằng cách buộc model trích dẫn nguồn dữ liệu gốc.\r\n\r\n### 4. Tự động gửi Email\r\n- **Scheduler:** Tiến trình chạy nền tự động kích hoạt phân tích danh mục theo dõi vào 07:00 sáng hàng ngày.\r\n- **Reporting:** Tự động biên tập nội dung Markdown và render thành file PDF chuyên nghiệp.\r\n- **Delivery:** Gửi email đính kèm báo cáo tới danh sách người dùng đăng ký.\r\n\r\n---\r\n\r\n## 🏗️ Kiến trúc Hệ thống\r\n\r\nDự án được xây dựng trên nền tảng **CrewAI**, quản lý luồng làm việc của 5 Agents chuyên biệt:\r\n\r\n| Agent | Vai trò & Nhiệm vụ Kỹ thuật |\r\n| :--- | :--- |\r\n| **Market Analyst** | Sử dụng `SerperDevTool` để thu thập tin tức, lọc nhiễu và đánh giá tác động vĩ mô (Sentiment Analysis). |\r\n| **Technical Analyst** | Gọi API `Vnstock` lấy dữ liệu OHLCV, sử dụng `ChartingTool` để visualize dữ liệu và đưa ra tín hiệu kỹ thuật. |\r\n| **Financial Competitor Analysis** | Tìm kiếm đối thủ cùng ngành và phân tích tin tức gần nhất sử dụng `SerperDevTool`. |\r\n| **Financial Analyst** | Truy xuất BCTC, tìm kiếm các thông tin quan trọng (Doanh thu quý, Nợ ngắn hạn, Nợ phải trả,...)|\r\n| **Report Editor** | Đóng vai trò Aggregator: Tổng hợp dữ liệu từ các luồng trên, kiểm tra tính nhất quán và biên soạn báo cáo cuối cùng. |\r\n\r\n---\r\n\r\n## 🧪 Đánh giá chất lượng kết quả\r\n\r\n1.  **Component-wise Evaluation:** Đánh giá riêng lẻ từng Agent bằng phương pháp **LLM-as-a-Judge** với bộ tiêu chí (Rubrics) tùy chỉnh:\r\n    * *Technical-analyst* có vẽ và trả về đường dẫn biểu đồ không? Có tính toán đầy đủ các chỉ báo RSI, MACD, MA không? Có xác định rõ xu hướng và vùng hỗ trợ kháng cự?\r\n    * *Financial-competitor* Truy xuất đầy đủ bộ chỉ số P/E, P/B, ROE không?\r\n    * *Market-news-analyst* Có tìm được 3 tin tức trong 7 ngày gần nhất không? Có dẫn nguồn và ngày tháng cụ thể không?\r\n2.  **RAG Evaluation:** Sử dụng thư viện **Ragas** để đo lường các chỉ số:\r\n    *   *Faithfulness:* Độ trung thực của câu trả lời so với dữ liệu gốc.\r\n    *   *Context Recall:* Khả năng tìm kiếm thông tin trong tài liệu dài.\r\n    *   *Answer Correctness:* Độ chính xác so với Ground Truth.\r\n---\r\n\r\n## 🛠️ Tech Stack\r\n\r\n*   **Core Framework:** `CrewAI`, `LangChain`, `LlamaIndex`.\r\n*   **LLM Provider:** Google Gemini (Flash 2.5 & Pro).\r\n*   **Vector & Embedding:** Gemini Embeddings (`text-embedding-004`).\r\n*   **OCR:** Mistral OCR.\r\n*   **Backend API:** Flask, Flask-SocketIO (WebSocket).\r\n*   **Data & Tools:** `vnstock`, `Serper`, `Matplotlib`, `PDFKit`.\r\n*   **Database:** SQLite.\r\n*   **Deployment:** Docker, Docker Compose.\r\n\r\n---\r\n\r\n## 🚀 Hướng dẫn Cài đặt & Triển khai\r\n\r\nKhuyến khích sử dụng **Docker** để đảm bảo môi trường đồng nhất và tránh xung đột thư viện hệ thống (như `wkhtmltopdf`).\r\n\r\n### 1. Yêu cầu tiên quyết\r\n*   Docker Desktop đã được cài đặt.\r\n*   API Keys: Google AI Studio (Gemini), Serper.dev, Mistral AI.\r\n\r\n### 2. Cấu hình Môi trường\r\nClone repository và tạo file cấu hình:\r\n\r\n```bash\r\ngit clone https://github.com/meth04/vn_stock_rag.git\r\ncd vn_stock_rag\r\ncp .env.example .env\r\n```\r\n\r\nCập nhật các key trong file `.env`:\r\n```ini\r\n# AI Providers\r\nGOOGLE_API_KEY_1=\"your_key\"\r\nGOOGLE_API_KEY_2=\"your_key\"\r\n# ... (Khuyến nghị dùng nhiều key để load balancing)\r\nSERPER_API_KEY=\"your_key\"\r\nMISTRAL_API_KEY=\"your_key\"\r\n\r\n# Email Service (Gmail App Password)\r\nSMTP_HOST=\"smtp.gmail.com\"\r\nSMTP_PORT=465\r\nSENDER_EMAIL=\"your_email@gmail.com\"\r\nSMTP_PASSWORD=\"your_app_password\"\r\n```\r\n\r\n### 3. Chuẩn bị Dữ liệu\r\n*   Tải thư mục `financial_reports` chứa các file PDF BCTC **[TẠI ĐÂY](https://drive.google.com/drive/folders/1NBpK8iOS33Ngv4Hs1I4QlV4ZJmaDy_uZ?usp=sharing)** và dán vào thư mục gốc.\r\n*   Khởi tạo Database:\r\n    ```bash\r\n    python database_manager.py\r\n    ```\r\n\r\n### 4. Khởi chạy (Docker-compose)\r\nChạy lệnh sau để build và start toàn bộ dịch vụ:\r\n\r\n```bash\r\ndocker-compose up --build\r\n```\r\n\r\n*Lưu ý: Quá trình build lần đầu có thể mất vài phút.*\r\n\r\n### 5. Truy cập\r\n*   **Web Interface:** `http://localhost:8000`\r\n*   **Evaluation Dashboard (nếu chạy local):** `streamlit run dashboard.py`\r\n\r\n---\r\n\r\n## 🔮 Roadmap\r\n\r\n- [x] Tích hợp RAG với OCR cho báo cáo tài chính.\r\n- [ ] Phát triển giao diện quản lý danh mục đầu tư cá nhân hóa.\r\n- [ ] Tích hợp thêm Model Open Source (Llama 3, Qwen) để chạy Local.\r\n\r\n---\r\n\r\n**Disclaimer:** *Hệ thống này là công cụ hỗ trợ phân tích, không phải là lời khuyên đầu tư tài chính. Người dùng chịu trách nhiệm với các quyết định giao dịch của mình.*\r\n","readmeExcerpt":"VnStock Multi-Agent RAG: Hệ thống Phân tích Đầu tư Thông minh Nền tảng phân tích chứng khoán chuyên sâu sử dụng kiến trúc Multi-Agent, tích hợp RAG (Retrieval-Augmented Generation). 📖 Giới thiệu **VnStock RAG** là giải pháp công nghệ tài chính tự động hóa quy trình phân tích cổ phiếu. Thay vì phụ thuộc vào việc thu thập dữ liệu thủ công, hệ thống vận hành một tập hợp các **AI Agents** chuyên biệt, phối hợp để thực h","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB OPENCLEW","editorialOverview":"Hệ thống phân tích chứng khoán Việt Nam chuyên sâu sử dụng kiến trúc Multi-Agent RAG với CrewAI và Google Gemini. VnStock Multi-Agent RAG: Hệ thống Phân tích Đầu tư Thông minh Nền tảng phân tích chứng khoán chuyên sâu sử dụng kiến trúc Multi-Agent, tích hợp RAG (Retrieval-Augmented Generation). 📖 Giới thiệu **VnStock RAG** là giải pháp công nghệ tài chính tự động hóa quy trình phân tích cổ phiếu. Thay vì phụ thuộc vào việc thu thập dữ liệu thủ công, hệ thống vận hành một tập hợp các **AI Agents** chuyên biệt, phối hợp để thực h","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":396,"uniquenessScore":61,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-05-31T06:18:45.021Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-05-31T06:18:45.021Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T00:20:18.520Z","emptyReason":null},"items":[{"id":"959108e7-5f7c-45ac-bea0-9ab67f017226","entityType":"agent","canonicalPath":"/agent/langchain-x1pay-langchain","slug":"langchain-x1pay-langchain","name":"@x1pay/langchain","description":"LangChain/LangGraph tools for AI agent x402 payments on X1","url":"https://www.npmjs.com/package/@x1pay/langchain","homepage":null,"source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:07.099Z","createdAt":"2026-05-23T06:52:58.553Z","downloads":null},{"id":"4f8f8f95-34f7-49a9-b516-391d1c355d6c","entityType":"agent","canonicalPath":"/agent/langchain-langchain-langgraph-swarm","slug":"langchain-langchain-langgraph-swarm","name":"@langchain/langgraph-swarm","description":"An implementation of a multi-agent swarm using LangGraph","url":"git+ssh://git@github.com/langchain-ai/langgraphjs.git","homepage":"https://github.com/langchain-ai/langgraphjs#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:03.792Z","createdAt":"2026-05-23T06:52:55.396Z","downloads":null},{"id":"e36fd59b-38d7-4e73-aa20-c1431a8f7434","entityType":"agent","canonicalPath":"/agent/langchain-langchain-langgraph-supervisor","slug":"langchain-langchain-langgraph-supervisor","name":"@langchain/langgraph-supervisor","description":"LangGraph Multi-Agent Supervisor","url":"git+ssh://git@github.com/langchain-ai/langgraphjs.git","homepage":"https://github.com/langchain-ai/langgraphjs#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:03.756Z","createdAt":"2026-05-23T06:52:55.353Z","downloads":null},{"id":"d1d0f93e-b722-4791-9bbf-2532470054c2","entityType":"agent","canonicalPath":"/agent/langchain-oceanbus-langchain","slug":"langchain-oceanbus-langchain","name":"oceanbus-langchain","description":"LangChain tools for OceanBus — give your LangChain and CrewAI agents a global identity, encrypted messaging, and Yellow Pages service discovery with a single import.","url":"git+https://github.com/oceanbus/oceanbus.git","homepage":"https://github.com/oceanbus/oceanbus#readme","source":"GITHUB_OPENCLEW","protocols":["OPENCLAW"],"capabilities":["oceanbus","langchain","langchain-tools","agent-to-agent","ai-agent","communication","messaging","e2ee","structured-tool","yellow-pages","service-discovery","reputation","crewai"],"safetyScore":70,"overallRank":65,"updatedAt":"2026-06-01T00:29:02.595Z","createdAt":"2026-05-23T06:52:54.240Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_openclew","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}