You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEVELOPING.md
+40-8Lines changed: 40 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,24 +10,56 @@
10
10
# Getting Started
11
11
12
12
## Install Dependencies
13
-
14
-
```sh
15
-
# Install Python dependencies.
13
+
```shell
14
+
# install python dependencies
16
15
poetry install
17
16
```
18
17
19
-
## Executing the Indexing Engine
20
-
21
-
```sh
18
+
## Execute the indexing engine
19
+
```shell
22
20
poetry run poe index <...args>
23
21
```
24
22
25
-
## Executing Queries
23
+
## Execute prompt tuning
24
+
```shell
25
+
poetry run poe prompt_tune <...args>
26
+
```
26
27
27
-
```sh
28
+
## Execute Queries
29
+
```shell
28
30
poetry run poe query <...args>
29
31
```
30
32
33
+
## Repository Structure
34
+
An overview of the repository's top-level folder structure is provided below, detailing the overall design and purpose.
35
+
We leverage a factory design pattern where possible, enabling a variety of implementations for each core component of graphrag.
36
+
37
+
```shell
38
+
graphrag
39
+
├── api # library API definitions
40
+
├── cache # cache module supporting several options
41
+
│ └─ factory.py # └─ main entrypoint to create a cache
42
+
├── callbacks # a collection of commonly used callback functions
43
+
├── cli # library CLI
44
+
│ └─ main.py # └─ primary CLI entrypoint
45
+
├── config # configuration management
46
+
├── index # indexing engine
47
+
| └─ run/run.py # main entrypoint to build an index
48
+
├── llm # generic llm interfaces
49
+
├── logger # logger module supporting several options
50
+
│ └─ factory.py # └─ main entrypoint to create a logger
51
+
├── model # data model definitions associated with the knowledge graph
52
+
├── prompt_tune # prompt tuning module
53
+
├── prompts # a collection of all the system prompts used by graphrag
54
+
├── query # query engine
55
+
├── storage # storage module supporting several options
56
+
│ └─ factory.py # └─ main entrypoint to create/load a storage endpoint
57
+
├── utils # helper functions used throughout the library
58
+
└── vector_stores # vector store module containing a few options
59
+
└─ factory.py # └─ main entrypoint to create a vector store
60
+
```
61
+
Where appropriate, the factories expose a registration method for users to provide their own custom implementations if desired.
62
+
31
63
## Versioning
32
64
33
65
We use [semversioner](https://github.com/raulgomis/semversioner) to automate and enforce semantic versioning in the release process. Our CI/CD pipeline checks that all PR's include a json file generated by semversioner. When submitting a PR, please run:
|`GRAPHRAG_STORAGE_TYPE`| The type of reporter to use. Options are `file`, `memory`, or `blob`|`str`| optional |`file`|
159
+
|`GRAPHRAG_STORAGE_TYPE`| The type of storage to use. Options are `file`, `memory`, or `blob`|`str`| optional |`file`|
160
160
|`GRAPHRAG_STORAGE_STORAGE_ACCOUNT_BLOB_URL`| The Azure Storage blob endpoint to use when in `blob` mode and using managed identity. Will have the format `https://<storage_account_name>.blob.core.windows.net`|`str`| optional | None |
161
161
|`GRAPHRAG_STORAGE_CONNECTION_STRING`| The Azure Storage connection string to use when in `blob` mode. |`str`| optional | None |
162
162
|`GRAPHRAG_STORAGE_CONTAINER_NAME`| The Azure Storage container name to use when in `blob` mode. |`str`| optional | None |
0 commit comments