mirror of
https://github.com/infiniflow/ragflow.git
synced 2025-11-10 06:44:13 +00:00
Turn the relative date in question to absolute date (#3372)
### What problem does this PR solve? ### Type of change - [x] Performance Improvement
This commit is contained in:
parent
91332fa0f8
commit
667d0e5537
@ -19,8 +19,8 @@ import json
|
|||||||
import re
|
import re
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from timeit import default_timer as timer
|
from timeit import default_timer as timer
|
||||||
|
import datetime
|
||||||
|
from datetime import timedelta
|
||||||
from api.db import LLMType, ParserType,StatusEnum
|
from api.db import LLMType, ParserType,StatusEnum
|
||||||
from api.db.db_models import Dialog, Conversation,DB
|
from api.db.db_models import Dialog, Conversation,DB
|
||||||
from api.db.services.common_service import CommonService
|
from api.db.services.common_service import CommonService
|
||||||
@ -526,9 +526,16 @@ def full_question(tenant_id, llm_id, messages):
|
|||||||
if m["role"] not in ["user", "assistant"]: continue
|
if m["role"] not in ["user", "assistant"]: continue
|
||||||
conv.append("{}: {}".format(m["role"].upper(), m["content"]))
|
conv.append("{}: {}".format(m["role"].upper(), m["content"]))
|
||||||
conv = "\n".join(conv)
|
conv = "\n".join(conv)
|
||||||
|
today = datetime.date.today().isoformat()
|
||||||
|
yesterday = (datetime.date.today() - timedelta(days=1)).isoformat()
|
||||||
|
tomorrow = (datetime.date.today() + timedelta(days=1)).isoformat()
|
||||||
prompt = f"""
|
prompt = f"""
|
||||||
Role: A helpful assistant
|
Role: A helpful assistant
|
||||||
Task: Generate a full user question that would follow the conversation.
|
|
||||||
|
Task and steps:
|
||||||
|
1. Generate a full user question that would follow the conversation.
|
||||||
|
2. If the user's question involves relative date, you need to convert it into absolute date based on the current date, which is {today}. For example: 'yesterday' would be converted to {yesterday}.
|
||||||
|
|
||||||
Requirements & Restrictions:
|
Requirements & Restrictions:
|
||||||
- Text generated MUST be in the same language of the original user's question.
|
- Text generated MUST be in the same language of the original user's question.
|
||||||
- If the user's latest question is completely, don't do anything, just return the original question.
|
- If the user's latest question is completely, don't do anything, just return the original question.
|
||||||
@ -557,6 +564,14 @@ User: What's her full name?
|
|||||||
###############
|
###############
|
||||||
Output: What's the full name of Donald Trump's mother Mary Trump?
|
Output: What's the full name of Donald Trump's mother Mary Trump?
|
||||||
|
|
||||||
|
------------
|
||||||
|
# Example 3
|
||||||
|
## Conversation
|
||||||
|
USER: What's the weather today in London?
|
||||||
|
ASSISTANT: Cloudy.
|
||||||
|
USER: What's about tomorrow in Rochester?
|
||||||
|
###############
|
||||||
|
Output: What's the weather in Rochester on {tomorrow}?
|
||||||
######################
|
######################
|
||||||
|
|
||||||
# Real Data
|
# Real Data
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user