Merge pull request #2253 from Mobious/main
Allow users to provide keywords with QueryRequest
This commit is contained in:
commit
c82485d94d
1 changed files with 40 additions and 0 deletions
|
|
@ -73,6 +73,16 @@ class QueryRequest(BaseModel):
|
|||
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(
|
||||
default=None,
|
||||
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:
|
||||
```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:
|
||||
```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:**
|
||||
- **Empty arrays**: Normal for certain modes (e.g., naive mode has no entities/relationships)
|
||||
- **Processing info**: Shows retrieval statistics and token usage
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue