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
- Start the HugeGraph database, you can do it via Docker. Refer to [docker-link](https://hub.docker.com/r/hugegraph/hugegraph) & [deploy-doc](https://hugegraph.apache.org/docs/quickstart/hugegraph-server/#31-use-docker-container-convenient-for-testdev) for guidance
26
+
- Start the gradio interactive demo, you can start with the following command, and open http://127.0.0.1:8001 after starting
27
+
```bash
28
+
# ${PROJECT_ROOT_DIR} is the root directory of hugegraph-ai, which needs to be configured by yourself
- Configure HugeGraph database connection information and LLM information, which can be configured in two ways:
33
+
1. Configure the `./hugegraph-llm/src/config/config.ini` file
34
+
2. In gradio, after completing the configurations for LLM and HugeGraph, click on `Initialize configs`, the complete and initialized configuration file will be outputted.
2. **Import Schema**: The `import_schema` method is used to import a schema from a source. The source can be a HugeGraph instance, a user-defined schema or an extraction result. The method `print_result` can be chained to print the result.
3. **Extract Triples**: The `extract_triples` method is used to extract triples from a text. The text should be passed as a string argument to the method.
59
78
60
-
```python
61
-
TEXT="Meet Sarah, a 30-year-old attorney, and her roommate, James, whom she's shared a home with since 2010."
62
-
extract_triples(TEXT).print_result()
63
-
```
79
+
```python
80
+
TEXT = "Meet Sarah, a 30-year-old attorney, and her roommate, James, whom she's shared a home with since 2010."
81
+
extract_triples(TEXT).print_result()
82
+
```
64
83
65
84
4. **Disambiguate Word Sense**: The `disambiguate_word_sense` method is used to disambiguate the sense of words in the extracted triples.
66
85
67
-
```python
68
-
disambiguate_word_sense().print_result()
69
-
```
86
+
```python
87
+
disambiguate_word_sense().print_result()
88
+
```
70
89
71
90
5. **Commit to HugeGraph**: The `commit_to_hugegraph` method is used to commit the constructed knowledge graph to a HugeGraph instance.
72
91
73
-
```python
74
-
commit_to_hugegraph().print_result()
75
-
```
92
+
```python
93
+
commit_to_hugegraph().print_result()
94
+
```
76
95
77
96
6. **Run**: The `run` method is used to execute the chained operations.
78
97
79
-
```python
80
-
run()
81
-
```
98
+
```python
99
+
run()
100
+
```
82
101
83
102
The methods of the `KgBuilder` class can be chained together to perform a sequence of operations.
103
+
104
+
### 2. Retrieval augmented generation (RAG) based on HugeGraph
105
+
106
+
Run example like `python3 ./hugegraph-llm/examples/graph_rag_test.py`
107
+
108
+
The `GraphRAG` class is used to integrate HugeGraph with large language models to provide retrieval-augmented generation capabilities. Here is a brief usage guide:
109
+
110
+
1. **Extract Keyword:**: Extract keywords and expand synonyms.
111
+
112
+
```python
113
+
graph_rag.extract_keyword(text="Tell me about Al Pacino.").print_result()
114
+
```
115
+
116
+
2. **Query Graph for Rag**: Retrieve the corresponding keywords and their multi-degree associated relationships from HugeGraph.
117
+
118
+
```python
119
+
graph_rag.query_graph_for_rag(
120
+
max_deep=2,
121
+
max_items=30
122
+
).print_result()
123
+
```
124
+
3. **Synthesize Answer**: Summarize the results and organize the language to answer the question.
125
+
126
+
```python
127
+
graph_rag.synthesize_answer().print_result()
128
+
```
129
+
130
+
4. **Run**: The `run` method is used to execute the above operations.
0 commit comments