{"id":14964675,"url":"https://github.com/chatdocdev/cdoc","last_synced_at":"2025-10-25T08:30:17.852Z","repository":{"id":252738231,"uuid":"834764112","full_name":"ChatDocDev/CDoc","owner":"ChatDocDev","description":"CDoc lets you chat with your documents using local LLMs, combining Ollama, ChromaDB, and LangChain for offline, secure, and efficient information extraction. Perfect for researchers, developers, and professionals seeking quick insights from their documents.","archived":false,"fork":false,"pushed_at":"2024-08-26T08:06:39.000Z","size":161,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-31T06:41:47.492Z","etag":null,"topics":["chormadb","fastapi","langchain","llama3","llm","ollma","python","rag","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","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/ChatDocDev.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}},"created_at":"2024-07-28T09:38:30.000Z","updated_at":"2025-01-20T23:58:12.000Z","dependencies_parsed_at":"2024-09-13T22:42:02.125Z","dependency_job_id":"a55991bc-f458-491e-9180-be7b63bc6bd7","html_url":"https://github.com/ChatDocDev/CDoc","commit_stats":{"total_commits":24,"total_committers":6,"mean_commits":4.0,"dds":0.7083333333333333,"last_synced_commit":"fe0f5b159f9db7af09321655049f49a6e4a219ea"},"previous_names":["chatdocdev/cdoc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChatDocDev%2FCDoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChatDocDev%2FCDoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChatDocDev%2FCDoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ChatDocDev%2FCDoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ChatDocDev","download_url":"https://codeload.github.com/ChatDocDev/CDoc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238104801,"owners_count":19417200,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["chormadb","fastapi","langchain","llama3","llm","ollma","python","rag","streamlit"],"created_at":"2024-09-24T13:33:36.846Z","updated_at":"2025-10-25T08:30:17.531Z","avatar_url":"https://github.com/ChatDocDev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CDoc: Chat with Your Document\n\nCDoc empowers you to have a conversation with your documents using local large language models (LLMs) and the power of Ollama, ChromaDB, and LangChain.\n\n**Key Features:**\n\n* **Chat with Documents:** Ask questions and get answers directly from your documents.\n* **Local LLM Support:** Leverage the capabilities of local LLMs for offline document interaction.\n* **ChromaDB Support:** Store and manage document metadata efficiently with ChromaDB.\n* **LangChain Integration:** Streamline information extraction from documents through LangChain.\n\n**Target Users:**\n\n* Researchers and students seeking an efficient way to interact with research papers.\n* Developers and programmers looking to analyze code documentation.\n* Professionals wanting to extract key information from contracts and legal documents (Optional with OpenAI API).\n\n## Installation\n\n**Prerequisites:**\n\n* Python \u003e=3.9 (https://www.python.org/downloads/)\n* pip (usually comes pre-installed with Python)\n* Ollama (https://ollama.com/)\n\n**Installation Steps:**\n\n1. **Clone the repository:**\n\n   ```\n   git clone https://github.com/ChatDocDev/CDoc\n   ```\n2. **Navigate to the project directory:**\n\n   ```\n   cd CDoc\n   ```\n\n3. Open project directory in VSCode\n\n   ```\n   code .\n   ```\nor any other code editor\n\n4. Install dependencies from requirements.txt\n   ```\n   pip install -r requirements.txt\n   ```\n\n5. Pull the required models from Ollama\n   \n   - Download \u0026 install [Ollama](https://ollama.com/) if not installed\n   - Open terminal \u0026 run these command to pull the required models into local machine\n     \n     For `llama3`\n     ```\n     ollama pull llama3:latest\n     ```    \n     For `nomic-embed-text`\n     ```\n     ollama pull nomic-embed-text:latest\n     ``` \n   - Insure both models are downloaded\n     ```\n     ollama ls\n     ```\n      \u003cp align=center\u003e\n      \u003cimg width=\"70%\" alt=\"Screenshot 2024-08-26 at 12 36 17 PM\" src=\"https://github.com/user-attachments/assets/d88e532f-f679-471d-a876-6fc9b0d93ab2\"\u003e\n      \u003c/p\u003e\n   - Serve Ollama\n     ```\n     ollama serve\n     ```\n     goto `localhost:11434` \u0026 you should get `Ollama is running`\n     \u003cp align=center\u003e\n     \u003cimg width=\"612\" alt=\"Screenshot 2024-08-26 at 12 59 48 PM\" src=\"https://github.com/user-attachments/assets/38f139fe-753a-40cc-81c6-a6d178d8137f\"\u003e\n     \u003c/p\u003e\n\n7. BACKEND\n\n   go to `backend` directory\n   ```\n   cd backend\n   ```\n\n   create `db` folder for storing Chromadb files\n   ```\n   mkdir db\n   ```\n\n   Start Chromadb server:\n   ```\n   chroma run --path db --port 8001\n   ```\n   \u003cp align=\"center\"\u003e\n   \u003cimg width=\"90%\" alt=\"Screenshot 2024-08-26 at 1 12 53 PM\" src=\"https://github.com/user-attachments/assets/60265a02-5006-4788-9ddb-8afb2e82371e\"\u003e\n   \u003c/p\u003e\n\n   Open new terminal and go into backend folder(hint: `cd backend`) \u0026 Run backend server:\n   ```\n   python backend.py\n   ```\n   \u003cp align=\"center\"\u003e\n   \u003cimg width=\"90%\" alt=\"Screenshot 2024-08-26 at 1 23 53 PM\" src=\"https://github.com/user-attachments/assets/5cd1d4ac-c1a3-48f3-abca-834934950226\"\u003e\n   \u003c/p\u003e\n   \n8. FRONTEND\n\n   Open new terminal and go to frontend folder\n   ```\n   cd frontend\n   ```\n\n   Run frontend.py\n   ```\n   streamlit run frontend.py\n   ```\n   \u003cp align=\"center\"\u003e\n   \u003cimg width=\"90%\" alt=\"Screenshot 2024-08-26 at 1 26 54 PM\" src=\"https://github.com/user-attachments/assets/d6d7799c-47f7-455f-a7e0-9d561c9db96f\"\u003e\n   \u003c/p\u003e\n\n\n\u003cp align =\"center\"\u003e\n   \u003cimg width=\"100%\" alt=\"Screenshot 2024-08-26 at 1 30 19 PM\" src=\"https://github.com/user-attachments/assets/8752ed5d-44a8-498d-a857-aec9c2e76258\"\u003e\n\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchatdocdev%2Fcdoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchatdocdev%2Fcdoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchatdocdev%2Fcdoc/lists"}