dify/api/controllers/console/datasets/test_external.py

48 lines
1.4 KiB
Python
Raw Normal View History

2024-09-24 18:00:45 +08:00
from flask_restful import Resource, reqparse
2024-09-18 15:29:30 +08:00
from controllers.console import api
from controllers.console.setup import setup_required
from controllers.console.wraps import account_initialization_required
from libs.login import login_required
from services.external_knowledge_service import ExternalDatasetService
2024-09-24 18:00:45 +08:00
2024-09-18 15:29:30 +08:00
class TestExternalApi(Resource):
@setup_required
@login_required
@account_initialization_required
def post(self):
parser = reqparse.RequestParser()
parser.add_argument(
"top_k",
nullable=False,
required=True,
type=int,
)
parser.add_argument(
"score_threshold",
nullable=False,
required=True,
type=float,
)
2024-09-19 17:07:33 +08:00
parser.add_argument(
"query",
nullable=False,
required=True,
type=str,
)
parser.add_argument(
"external_knowledge_id",
nullable=False,
required=True,
type=str,
)
2024-09-18 15:29:30 +08:00
args = parser.parse_args()
2024-09-19 17:07:33 +08:00
result = ExternalDatasetService.test_external_knowledge_retrieval(
args["top_k"], args["score_threshold"], args["query"], args["external_knowledge_id"]
2024-09-18 15:29:30 +08:00
)
2024-09-19 17:07:33 +08:00
return result, 200
2024-09-18 15:29:30 +08:00
2024-09-19 17:07:33 +08:00
api.add_resource(TestExternalApi, "/dify/external-knowledge/retrieval-documents")