Allow users to provide keywords with QueryRequest
This commit is contained in:
parent
6a29b5daa0
commit
f24a261613
1 changed files with 40 additions and 0 deletions
|
|
@ -73,6 +73,16 @@ class QueryRequest(BaseModel):
|
||||||
ge=1,
|
ge=1,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
hl_keywords: list[str] = Field(
|
||||||
|
default_factory=list,
|
||||||
|
description="List of high-level keywords to prioritize in retrieval. Leave empty to use the LLM to generate the keywords.",
|
||||||
|
)
|
||||||
|
|
||||||
|
ll_keywords: list[str] = Field(
|
||||||
|
default_factory=list,
|
||||||
|
description="List of low-level keywords to refine retrieval focus. Leave empty to use the LLM to generate the keywords.",
|
||||||
|
)
|
||||||
|
|
||||||
conversation_history: Optional[List[Dict[str, Any]]] = Field(
|
conversation_history: Optional[List[Dict[str, Any]]] = Field(
|
||||||
default=None,
|
default=None,
|
||||||
description="Stores past conversation history to maintain context. Format: [{'role': 'user/assistant', 'content': 'message'}].",
|
description="Stores past conversation history to maintain context. Format: [{'role': 'user/assistant', 'content': 'message'}].",
|
||||||
|
|
@ -294,6 +304,16 @@ def create_query_routes(rag, api_key: Optional[str] = None, top_k: int = 60):
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Bypass initial LLM call by providing high-level and low-level keywords:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"query": "What is Retrieval-Augmented-Generation?",
|
||||||
|
"hl_keywords": ["machine learning", "information retrieval", "natural language processing"],
|
||||||
|
"ll_keywords": ["retrieval augmented generation", "RAG", "knowledge base"],
|
||||||
|
"mode": "mix"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Advanced query with references:
|
Advanced query with references:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
|
@ -482,6 +502,16 @@ def create_query_routes(rag, api_key: Optional[str] = None, top_k: int = 60):
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Bypass initial LLM call by providing high-level and low-level keywords:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"query": "What is Retrieval-Augmented-Generation?",
|
||||||
|
"hl_keywords": ["machine learning", "information retrieval", "natural language processing"],
|
||||||
|
"ll_keywords": ["retrieval augmented generation", "RAG", "knowledge base"],
|
||||||
|
"mode": "mix"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Complete response query:
|
Complete response query:
|
||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
|
|
@ -968,6 +998,16 @@ def create_query_routes(rag, api_key: Optional[str] = None, top_k: int = 60):
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Bypass initial LLM call by providing high-level and low-level keywords:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"query": "What is Retrieval-Augmented-Generation?",
|
||||||
|
"hl_keywords": ["machine learning", "information retrieval", "natural language processing"],
|
||||||
|
"ll_keywords": ["retrieval augmented generation", "RAG", "knowledge base"],
|
||||||
|
"mode": "mix"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
**Response Analysis:**
|
**Response Analysis:**
|
||||||
- **Empty arrays**: Normal for certain modes (e.g., naive mode has no entities/relationships)
|
- **Empty arrays**: Normal for certain modes (e.g., naive mode has no entities/relationships)
|
||||||
- **Processing info**: Shows retrieval statistics and token usage
|
- **Processing info**: Shows retrieval statistics and token usage
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue