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:
@@ -136,6 +136,7 @@ class SearchMode(str, Enum):
|
|||||||
class QueryRequest(BaseModel):
|
class QueryRequest(BaseModel):
|
||||||
query: str
|
query: str
|
||||||
mode: SearchMode = SearchMode.hybrid
|
mode: SearchMode = SearchMode.hybrid
|
||||||
|
only_need_context: bool = False
|
||||||
# stream: bool = False
|
# stream: bool = False
|
||||||
|
|
||||||
|
|
||||||
@@ -308,7 +309,7 @@ def create_app(args):
|
|||||||
try:
|
try:
|
||||||
response = await rag.aquery(
|
response = await rag.aquery(
|
||||||
request.query,
|
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)
|
return QueryResponse(response=response)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@@ -319,7 +320,7 @@ def create_app(args):
|
|||||||
try:
|
try:
|
||||||
response = await rag.aquery(
|
response = await rag.aquery(
|
||||||
request.query,
|
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):
|
if inspect.isasyncgen(response):
|
||||||
|
|
||||||
|
@@ -130,6 +130,7 @@ class QueryRequest(BaseModel):
|
|||||||
query: str
|
query: str
|
||||||
mode: SearchMode = SearchMode.hybrid
|
mode: SearchMode = SearchMode.hybrid
|
||||||
stream: bool = False
|
stream: bool = False
|
||||||
|
only_need_context: bool = False
|
||||||
|
|
||||||
|
|
||||||
class QueryResponse(BaseModel):
|
class QueryResponse(BaseModel):
|
||||||
@@ -266,7 +267,7 @@ def create_app(args):
|
|||||||
try:
|
try:
|
||||||
response = await rag.aquery(
|
response = await rag.aquery(
|
||||||
request.query,
|
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:
|
if request.stream:
|
||||||
@@ -283,7 +284,7 @@ def create_app(args):
|
|||||||
async def query_text_stream(request: QueryRequest):
|
async def query_text_stream(request: QueryRequest):
|
||||||
try:
|
try:
|
||||||
response = rag.query(
|
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():
|
async def stream_generator():
|
||||||
|
@@ -130,6 +130,7 @@ class QueryRequest(BaseModel):
|
|||||||
query: str
|
query: str
|
||||||
mode: SearchMode = SearchMode.hybrid
|
mode: SearchMode = SearchMode.hybrid
|
||||||
stream: bool = False
|
stream: bool = False
|
||||||
|
only_need_context: bool = False
|
||||||
|
|
||||||
|
|
||||||
class QueryResponse(BaseModel):
|
class QueryResponse(BaseModel):
|
||||||
@@ -266,7 +267,7 @@ def create_app(args):
|
|||||||
try:
|
try:
|
||||||
response = await rag.aquery(
|
response = await rag.aquery(
|
||||||
request.query,
|
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:
|
if request.stream:
|
||||||
@@ -283,7 +284,7 @@ def create_app(args):
|
|||||||
async def query_text_stream(request: QueryRequest):
|
async def query_text_stream(request: QueryRequest):
|
||||||
try:
|
try:
|
||||||
response = rag.query(
|
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():
|
async def stream_generator():
|
||||||
|
@@ -119,6 +119,7 @@ class QueryRequest(BaseModel):
|
|||||||
query: str
|
query: str
|
||||||
mode: SearchMode = SearchMode.hybrid
|
mode: SearchMode = SearchMode.hybrid
|
||||||
stream: bool = False
|
stream: bool = False
|
||||||
|
only_need_context: bool = False
|
||||||
|
|
||||||
|
|
||||||
class QueryResponse(BaseModel):
|
class QueryResponse(BaseModel):
|
||||||
@@ -270,7 +271,7 @@ def create_app(args):
|
|||||||
try:
|
try:
|
||||||
response = await rag.aquery(
|
response = await rag.aquery(
|
||||||
request.query,
|
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:
|
if request.stream:
|
||||||
@@ -287,7 +288,7 @@ def create_app(args):
|
|||||||
async def query_text_stream(request: QueryRequest):
|
async def query_text_stream(request: QueryRequest):
|
||||||
try:
|
try:
|
||||||
response = rag.query(
|
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():
|
async def stream_generator():
|
||||||
|
Reference in New Issue
Block a user