{"id":17526900,"url":"https://github.com/S4mpl3r/chat-with-pdf","last_synced_at":"2025-03-06T06:31:02.572Z","repository":{"id":226895965,"uuid":"769871790","full_name":"S4mpl3r/chat-with-pdf","owner":"S4mpl3r","description":"Chat with your PDF files for free, using Langchain, Groq, ChromaDB, and Jina AI embeddings.","archived":false,"fork":false,"pushed_at":"2024-05-16T17:38:58.000Z","size":13,"stargazers_count":15,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-18T21:16:48.699Z","etag":null,"topics":["chat-with-pdf","embeddings","groq","groq-ai","jina","langchain","llama","llama3","llm","machine-learning","mixtral-8x7b","python","python3","rag","retrieval-augmented-generation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/S4mpl3r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-03-10T09:59:00.000Z","updated_at":"2024-10-15T07:20:08.000Z","dependencies_parsed_at":"2024-03-10T13:28:58.873Z","dependency_job_id":"c78c3497-0436-4d4f-8729-a2bfd4ff6e41","html_url":"https://github.com/S4mpl3r/chat-with-pdf","commit_stats":{"total_commits":5,"total_committers":4,"mean_commits":1.25,"dds":0.6,"last_synced_commit":"64f32bbdfb46d71695708b37a670b07a99b5d7d5"},"previous_names":["s4mpl3r/chat-with-pdf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4mpl3r%2Fchat-with-pdf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4mpl3r%2Fchat-with-pdf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4mpl3r%2Fchat-with-pdf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/S4mpl3r%2Fchat-with-pdf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/S4mpl3r","download_url":"https://codeload.github.com/S4mpl3r/chat-with-pdf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242161482,"owners_count":20081882,"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":["chat-with-pdf","embeddings","groq","groq-ai","jina","langchain","llama","llama3","llm","machine-learning","mixtral-8x7b","python","python3","rag","retrieval-augmented-generation"],"created_at":"2024-10-20T15:02:36.640Z","updated_at":"2025-03-06T06:31:02.556Z","avatar_url":"https://github.com/S4mpl3r.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Chat With PDFs\nChat with your PDF files for free, using [Langchain](https://python.langchain.com/docs/get_started/quickstart), [Groq](https://console.groq.com/), [Chroma](https://docs.trychroma.com/getting-started) vector store, and [Jina AI](https://jina.ai/embeddings/) embeddings. This repository contains a simple Python implementation of the RAG (Retrieval-Augmented-Generation) system. The RAG model is used to retrieve relevant chunks of the user PDF file based on user queries and provide informative responses.\n\n## Installation\nFollow these steps:\n1. Clone the repository\n   ```\n   git clone https://github.com/S4mpl3r/chat-with-pdf.git\n   ```\n2. Create a virtual environment and activate it (optional, but highly recommended).\n   ```\n   python -m venv .venv\n   Windows: .venv\\Scripts\\activate\n   Linux: source .venv/bin/activate\n   ```\n3. Install required packages:\n   ```\n   python -m pip install -r requirements.txt\n   ```\n4. Create a .env file in the root of the project and populate it with the following keys. You'll need to obtain your api keys:\n   ```\n   JINA_API_KEY=\u003cYOUR KEY\u003e\n   GROQ_API_KEY=\u003cYOUR KEY\u003e\n   HF_TOKEN=\u003cYOUR TOKEN\u003e\n   HF_HOME=\u003cPATH TO STORE HUGGINGFACE MODEL\u003e\n   ```\n5. Run the program:\n   ```\n   python main.py\n   ```\n## Configuration\nYou can customize the behavior of the system by modifying the constants and parameters in the main.py file:\n\n* EMBED_MODEL_NAME: Specify the name of the Jina embedding model to be used.\n* LLM_NAME: Specify the name of the language model (Refer to [Groq](https://groq.com/) for the list of available models).\n* LLM_TEMPERATURE: Set the temperature parameter for the language model.\n* CHUNK_SIZE: Specify the maximum chunk size allowed by the embedding model.\n* DOCUMENT_DIR: Specify the directory where PDF documents are stored.\n* VECTOR_STORE_DIR: Specify the directory where vector embeddings are stored.\n* COLLECTION_NAME: Specify the name of the collection for the chroma vector store.\n\n## Resources\nKudos to the amazing libraries and services listed below:\n* [Langchain](https://www.langchain.com/)\n* [Groq](https://groq.com/)\n* [Jina AI](https://jina.ai/)\n* [ChromaDB](https://www.trychroma.com/)\n\n## License\nMIT\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FS4mpl3r%2Fchat-with-pdf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FS4mpl3r%2Fchat-with-pdf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FS4mpl3r%2Fchat-with-pdf/lists"}