{"id":21125471,"url":"https://github.com/haneesha2018/personal_bot","last_synced_at":"2026-05-14T05:32:22.723Z","repository":{"id":262762226,"uuid":"888251640","full_name":"haneesha2018/personal_bot","owner":"haneesha2018","description":"This repository enables the creation of a GPT-powered chatbot application that combines standard ChatGPT capabilities with advanced features for uploading and interacting with large PDF and TXT documents.","archived":false,"fork":false,"pushed_at":"2024-11-14T05:34:44.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-21T05:28:22.984Z","etag":null,"topics":["chatbot","faiss-vector-database","gpt","openai","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/haneesha2018.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-11-14T04:24:23.000Z","updated_at":"2024-11-14T05:44:06.000Z","dependencies_parsed_at":"2024-11-14T12:30:52.180Z","dependency_job_id":null,"html_url":"https://github.com/haneesha2018/personal_bot","commit_stats":null,"previous_names":["haneesha2018/personal_bot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haneesha2018%2Fpersonal_bot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haneesha2018%2Fpersonal_bot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haneesha2018%2Fpersonal_bot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/haneesha2018%2Fpersonal_bot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/haneesha2018","download_url":"https://codeload.github.com/haneesha2018/personal_bot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243573163,"owners_count":20312879,"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":["chatbot","faiss-vector-database","gpt","openai","streamlit"],"created_at":"2024-11-20T04:34:14.802Z","updated_at":"2026-05-14T05:32:22.693Z","avatar_url":"https://github.com/haneesha2018.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Personal Bot to Chat with your docs\n\n## Introduction\n\nThis repository will allow you to create a GPT powered chatbot app that has your basic ChatGPT chat capabilities, along with an optimized feature to upload large pdf/txt documents to the chat and chat with these documents. This application is built with the `Streamlit` framework and we interact with OpenAI using `LangChain`. Some features of this app include:\n- **Conversational Memory**: Ability to remember a certain amount of chat messages when responding to the user.\n- **Interactive Chatbot**: Ability to interact in a ChatGPT-like conversation without any prior documents.\n- **Document Interaction**: Ability to add Large PDF/txt documents into the conversation and memory, allowing users to ineract with the document.\n- **History Clearing**: This application can clear the history of the chat and conversational memory all within the UI.\n- **Vector Database**: This application uses Facebook AI Similarity Search (FAISS) to store and search for our text embeddings.\n  \n\n## Prerequisites\n\nBefore getting started, ensure you have the following installed on your system:\n\n1. Python: This project is compatible with Python versions below 3.12. It has been tested and works well with the following Python versions:\n   - Python 3.11\n   - Python 3.10\n2. Git\n3. [OpenAI API Key](https://platform.openai.com/api-keys)\n\n## Getting Started\n\n### 1. Clone the Repository\n\nClone this repository to your local machine using the following command:\n\n```bash\ngit clone https://github.com/haneesha2018/personal_bot.git\n```\n\n### 2. Create a Vitual Environment\n```bash\ncd chat_with_your_docs_app\npython -m venv myvenv\n```\n\n### 3. Activate Virtual Environment\n* Windows:\n\n\u003e Using Git Bash:\n```bash\nsource myvenv/Scripts/activate  \n```\n\n\u003e Using Command Prompt:\n```bash\nmyvenv\\Scripts\\activate\n```\n\n* macOS/Linux:\n```bash\nsource myvenv/bin/activate\n```\n\n### 4. Install Dependencies\n ```bash\npip install -r requirements.txt\n```\n### 5. Set Up Environment Variables\nNavigate to the project .env file. Replace the default values with your varibales.\n\nEnvironment Variables:\n\n1. `OPENAI_API_KEY`: Your OpenAI API key, granting access to the OpenAI API for language processing tasks like text generation or classification.\n\n2. `OPENAI_TEMPERATURE`: A parameter controlling the randomness of text generation from the OpenAI model. It determines how conservative or creative the model's responses are.\n\n3. `OPENAI_MODEL_NAME`: The specific name or identifier of the OpenAI language model you're using (e.g., GPT-3, GPT-4, etc.).\n\n4. `OPENAI_MAX_TOKEN`: The maximum number of tokens or words the OpenAI model can generate in a single response. It helps limit the length of generated text.\n\n5. `OPENAI_DOCSEARCH_K`: A value representing a parameter for document search functionality within your app. It could control the relevance or specificity of document search results.\n\n6. `BUFFER_MEMORY_TOKEN_LIMIT`: The amount of tokens to store in conversation buffer memory.\n\n7. `CONFIG_PAGE_TITLE`: The title of the configuration page within your app, usually displayed at the top of the page.\n\n8. `APP_NAME`: The name or title of your application.\n\n9. `APP_DESCRIPTION`: A brief description or summary of your application's purpose or functionality.\n\n### 6. Validate OpenAI API Key\nRun the following command to validate your OpenAI API Key:\n```bash\npython scripts/validate_openai_apikey.py\n```\nIf successful, it should return with `This validation test was successful.`\n\n### 7. Run the Streamlit App\nRun the streamlit app using the following command:\n\n```bash\nstreamlit run main.py\n```\nIt will direct yout to a url like `http://localhost:XXXX/` to test out the app.\n\n### 8. Deploy an App to Streamlit\nOnce everything works and you are satisfied with the testing, you can deploy your app using the [documentation](https://docs.streamlit.io/streamlit-community-cloud/deploy-your-app).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaneesha2018%2Fpersonal_bot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhaneesha2018%2Fpersonal_bot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhaneesha2018%2Fpersonal_bot/lists"}