|
# Knowledge Graph Builder |
|
|
|
## Description |
|
This project builds and queries knowledge graphs from Wikipedia articles using the LangChain library and OpenAI's language models, storing data in a Neo4j database. |
|
|
|
## Features |
|
- **Knowledge Graph Construction**: Build graphs from Wikipedia articles. |
|
- **Graph-Based Querying**: Utilize graphs to answer queries with a Graph Cypher QA Chain. |
|
- **Environment Flexibility**: Manages dependencies and environment variables through `.env` files. |
|
|
|
## Prerequisites |
|
- Python 3.8+ |
|
- pip and virtualenv (optional) |
|
- Access to a Neo4j database |
|
- OpenAI API key |
|
- Extra change |
|
|
|
## Installation |
|
1. **Clone the repository**: |
|
```bash |
|
git clone [email protected]:Master-Thesis-Prakhar/GraphRAG |
|
cd GraphRAG |
|
``` |
|
2. **Set up a Python virtual environment (optional):** |
|
```bash |
|
python -m venv venv |
|
source venv/bin/activate # On Windows use `venv\Scripts\activate` |
|
``` |
|
3. **Install the required packages:** |
|
```bash |
|
pip install -r requirements.txt |
|
``` |
|
4. **Set up your environment variables:** |
|
- Copy the `.env.example` to `.env`: |
|
```bash |
|
cp .env.example .env |
|
``` |
|
- Edit the `.env` file to include your specific configurations such as `OPENAI_API_KEY`, `NEO4J_URL`, `NEO4J_USERNAME`, and `NEO4J_PASSWORD`. |
|
|
|
## Usage |
|
|
|
1. Create Graph |
|
```bash |
|
python3 kg_builder/src/graph_creation.py |
|
``` |
|
|
|
|
|
2. **Run the main script:** |
|
```bash |
|
python main.py |
|
``` |
|
|
|
## Contributing |
|
|
|
Contributions are welcome! To contribute: |
|
1. Fork the Project |
|
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) |
|
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) |
|
4. Push to the Branch (`git push origin feature/AmazingFeature`) |
|
5. Open a Pull Request |
|
|