File size: 2,684 Bytes
b163dc2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
## Tree Search Examples
This tutorial provides a basic example of how to perform retrieval using the PageIndex tree.

### Basic LLM Tree Search Example
A simple strategy is to use an LLM agent to conduct tree search. Here is a basic tree search prompt.

```python

prompt = f"""

You are given a query and the tree structure of a document.

You need to find all nodes that are likely to contain the answer.



Query: {query}



Document tree structure: {PageIndex_Tree}



Reply in the following JSON format:

{{

  "thinking": <your reasoning about which nodes are relevant>,

  "node_list": [node_id1, node_id2, ...]

}}

"""

```
<callout>
In our dashboard and retrieval API, we use a combination of LLM tree search and value function-based Monte Carlo Tree Search ([MCTS](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search)). More details will be released soon.
</callout>

### Integrating User Preference or Expert Knowledge
Unlike vector-based RAG where integrating expert knowledge or user preference requires fine-tuning the embedding model, in PageIndex, you can incorporate user preferences or expert knowledge by simply adding knowledge to the LLM tree search prompt. Here is an example pipeline.


#### 1. Preference Retrieval

When a query is received, the system selects the most relevant user preference or expert knowledge snippets from a database or a set of domain-specific rules. This can be done using keyword matching, semantic similarity, or LLM-based relevance search.

#### 2. Tree Search with Preference
Integrating preference into the tree search prompt.

**Enhanced Tree Search with Expert Preference Example**

```python

prompt = f"""

You are given a question and a tree structure of a document.

You need to find all nodes that are likely to contain the answer.



Query: {query}



Document tree structure:  {PageIndex_Tree}



Expert Knowledge of relevant sections: {Preference}



Reply in the following JSON format:

{{

  "thinking": <reasoning about which nodes are relevant>,

  "node_list": [node_id1, node_id2, ...]

}}

"""

```

**Example Expert Preference**
> If the query mentions EBITDA adjustments, prioritize Item 7 (MD&A) and footnotes in Item 8 (Financial Statements) in 10-K reports.



By integrating user or expert preferences, node search becomes more targeted and effective, leveraging both the document structure and domain-specific insights.

## 💬 Help & Community
Contact us if you need any advice on conducting document searches for your use case.

- 🤝 [Join our Discord](https://discord.gg/VuXuf29EUj)  
- 📨 [Leave us a message](https://ii2abc2jejf.typeform.com/to/tK3AXl8T)