Added the option to only return context without doing a query to the AI (useful for automated systems like lollms)

This commit is contained in:
Saifeddine ALOUI
2024-12-26 23:32:02 +01:00
parent 5fcfb05e62
commit 4d0184189f
4 changed files with 12 additions and 8 deletions

View File

@@ -136,6 +136,7 @@ class SearchMode(str, Enum):
class QueryRequest(BaseModel):
query: str
mode: SearchMode = SearchMode.hybrid
only_need_context: bool = False
# stream: bool = False
@@ -308,7 +309,7 @@ def create_app(args):
try:
response = await rag.aquery(
request.query,
param=QueryParam(mode=request.mode, stream=False),
param=QueryParam(mode=request.mode, stream=False, only_need_context=request.only_need_context),
)
return QueryResponse(response=response)
except Exception as e:
@@ -319,7 +320,7 @@ def create_app(args):
try:
response = await rag.aquery(
request.query,
param=QueryParam(mode=request.mode, stream=True),
param=QueryParam(mode=request.mode, stream=True, only_need_context=request.only_need_context),
)
if inspect.isasyncgen(response):

View File

@@ -130,6 +130,7 @@ class QueryRequest(BaseModel):
query: str
mode: SearchMode = SearchMode.hybrid
stream: bool = False
only_need_context: bool = False
class QueryResponse(BaseModel):
@@ -266,7 +267,7 @@ def create_app(args):
try:
response = await rag.aquery(
request.query,
param=QueryParam(mode=request.mode, stream=request.stream),
param=QueryParam(mode=request.mode, stream=request.stream, only_need_context=request.only_need_context),
)
if request.stream:
@@ -283,7 +284,7 @@ def create_app(args):
async def query_text_stream(request: QueryRequest):
try:
response = rag.query(
request.query, param=QueryParam(mode=request.mode, stream=True)
request.query, param=QueryParam(mode=request.mode, stream=True, only_need_context=request.only_need_context)
)
async def stream_generator():

View File

@@ -130,6 +130,7 @@ class QueryRequest(BaseModel):
query: str
mode: SearchMode = SearchMode.hybrid
stream: bool = False
only_need_context: bool = False
class QueryResponse(BaseModel):
@@ -266,7 +267,7 @@ def create_app(args):
try:
response = await rag.aquery(
request.query,
param=QueryParam(mode=request.mode, stream=request.stream),
param=QueryParam(mode=request.mode, stream=request.stream, only_need_context=request.only_need_context),
)
if request.stream:
@@ -283,7 +284,7 @@ def create_app(args):
async def query_text_stream(request: QueryRequest):
try:
response = rag.query(
request.query, param=QueryParam(mode=request.mode, stream=True)
request.query, param=QueryParam(mode=request.mode, stream=True, only_need_context=request.only_need_context)
)
async def stream_generator():

View File

@@ -119,6 +119,7 @@ class QueryRequest(BaseModel):
query: str
mode: SearchMode = SearchMode.hybrid
stream: bool = False
only_need_context: bool = False
class QueryResponse(BaseModel):
@@ -270,7 +271,7 @@ def create_app(args):
try:
response = await rag.aquery(
request.query,
param=QueryParam(mode=request.mode, stream=request.stream),
param=QueryParam(mode=request.mode, stream=request.stream, only_need_context=request.only_need_context),
)
if request.stream:
@@ -287,7 +288,7 @@ def create_app(args):
async def query_text_stream(request: QueryRequest):
try:
response = rag.query(
request.query, param=QueryParam(mode=request.mode, stream=True)
request.query, param=QueryParam(mode=request.mode, stream=True, only_need_context=request.only_need_context)
)
async def stream_generator():