DOC TALK - AI is an interactive application that allows users to chat with their documents using artificial intelligence. With this tool, you can ask questions about your files and receive instant answers, eliminating the need to manually search through them. The project is developed in Python and utilizes Streamlit to provide a user-friendly and intuitive interface.
- 📄 Supports multiple document formats (PDF, TXT, DOCX, etc.)
- 🔍 Intelligent search within uploaded files
- 🧠 Integration with local and cloud AI models
- 🌍 Compatible with OpenAI GPT, Gemini AI, and more
- 💾 Stores interaction history for quick reference
- 🔧 Simple and flexible configuration
- 🌐 Easy-to-use web interface built with Streamlit
git clone https://github.com/paulocoutinhox/doc-talk-ai.git
cd doc-talk-aipython3 -m venv .venv
source .venv/bin/activate # macOS/Linux
.venv\Scripts\activate # Windowspip install -r requirements.txtpython3 -m streamlit run app.pyIf you want to use OpenAI GPT, Gemini AI, or other cloud models, add your API keys to the configuration file.
📖 See the detailed guide: 📌 Cloud Models Configuration
If you want to change the directory where data is stored, define the environment variable:
export DOC_TALK_AI_ROOT="/custom/path"set DOC_TALK_AI_ROOT="C:\custom\path"$env:DOC_TALK_AI_ROOT="C:\custom\path"-
Run the Application
python3 -m streamlit run app.py
-
In the Web Interface, follow these steps:
- Upload a document you want to interact with
- Select an AI model (cloud or local)
- Ask questions in natural language about the document
- Receive AI-generated responses instantly 🎯
doc-talk-ai/
│
├── README.md # Project documentation
├── app.py # Main entry point
├── requirements.txt # Core dependencies
│
├── data/ # Data storage
│ ├── chroma-db/ # Vector database
│ ├── uploads/ # Uploaded documents
│
├── docs/ # Additional documentation
│
├── extras/ # Additional resources
│ └── images/ # Logos and screenshots
│
├── helpers/ # Utility functions
│ ├── file.py # File handling
│ ├── model.py # Model management
│ ├── prompt.py # Prompt generation
│ └── string.py # String utilities
│
├── lang_chain/ # AI logic and document processing
│ └── document_chat.py # Core logic for document interaction
│
├── models/ # AI model implementations
│ ├── base_model.py # Base class for AI models
│ ├── gemini_model.py # Gemini AI integration
│ └── openai_model.py # OpenAI GPT integration
Want to improve the project? Follow these steps:
- Fork the repository
- Create a branch for your feature (
git checkout -b my-feature) - Commit your changes (
git commit -m "Added new feature") - Push to GitHub (
git push origin my-feature) - Open a Pull Request 🚀
For questions or suggestions, reach out: 💌 paulocoutinhox@gmail.com 🔗 GitHub
Copyright (c) 2025, Paulo Coutinho

