cecilia-uu
commited on
Commit
·
b802ae5
1
Parent(s):
3458ce6
delete SDK repo and edit readme (#1054)
Browse files### What problem does this PR solve?
delete SDK repo and edit readme
### Type of change
- [x] New Feature (non-breaking change which adds functionality)
- SDK/python/README.md +0 -1
- SDK/python/hello_ragflow.py +0 -3
- SDK/python/pyproject.toml +0 -24
- SDK/python/ragflow/__init__.py +0 -3
- SDK/python/ragflow/ragflow.py +0 -28
- SDK/python/setup.py +0 -19
- SDK/python/test/test_basic.py +0 -8
- SDK/python/test/test_sdkbase.py +0 -3
- sdk/python/README.md +1 -1
- sdk/python/ragflow/__init__.py +1 -1
- sdk/python/ragflow/ragflow.py +26 -1
- sdk/python/test/test_basic.py +37 -1
SDK/python/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
| 1 |
-
# infinity
|
|
|
|
|
|
SDK/python/hello_ragflow.py
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
import ragflow
|
| 2 |
-
|
| 3 |
-
print(ragflow.__version__)
|
|
|
|
|
|
|
|
|
|
|
|
SDK/python/pyproject.toml
DELETED
|
@@ -1,24 +0,0 @@
|
|
| 1 |
-
[project]
|
| 2 |
-
name = "ragflow"
|
| 3 |
-
version = "0.8.0.dev1"
|
| 4 |
-
authors = [
|
| 5 |
-
{ name = "The RAGFlow Development Team", email = "[email protected]" },
|
| 6 |
-
] # TODO: email
|
| 7 |
-
dependencies = ["pytest~=8.2.0"]
|
| 8 |
-
description = "ragflow"
|
| 9 |
-
readme = "README.md"
|
| 10 |
-
requires-python = ">=3.10"
|
| 11 |
-
classifiers = [
|
| 12 |
-
"Programming Language :: Python :: 3",
|
| 13 |
-
"License :: OSI Approved :: Apache License2",
|
| 14 |
-
"Operating System :: OS Independent",
|
| 15 |
-
]
|
| 16 |
-
|
| 17 |
-
[build-system]
|
| 18 |
-
requires = ["setuptools>=61.0", "wheel"]
|
| 19 |
-
build-backend = "setuptools.build_meta"
|
| 20 |
-
|
| 21 |
-
[project.urls]
|
| 22 |
-
"Homepage" = "https://github.com/pypa/sampleproject"
|
| 23 |
-
"Bug Tracker" = "https://github.com/pypa/sampleproject/issues"
|
| 24 |
-
# TODO
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SDK/python/ragflow/__init__.py
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
import importlib.metadata
|
| 2 |
-
|
| 3 |
-
__version__ = importlib.metadata.version("ragflow")
|
|
|
|
|
|
|
|
|
|
|
|
SDK/python/ragflow/ragflow.py
DELETED
|
@@ -1,28 +0,0 @@
|
|
| 1 |
-
#
|
| 2 |
-
# Copyright 2024 The InfiniFlow Authors. All Rights Reserved.
|
| 3 |
-
#
|
| 4 |
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
| 5 |
-
# you may not use this file except in compliance with the License.
|
| 6 |
-
# You may obtain a copy of the License at
|
| 7 |
-
#
|
| 8 |
-
# http://www.apache.org/licenses/LICENSE-2.0
|
| 9 |
-
#
|
| 10 |
-
# Unless required by applicable law or agreed to in writing, software
|
| 11 |
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
| 12 |
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 13 |
-
# See the License for the specific language governing permissions and
|
| 14 |
-
# limitations under the License.
|
| 15 |
-
#
|
| 16 |
-
import os
|
| 17 |
-
import dotenv
|
| 18 |
-
import typing
|
| 19 |
-
from api.utils.file_utils import get_project_base_directory
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
def get_versions() -> typing.Mapping[str, typing.Any]:
|
| 23 |
-
dotenv.load_dotenv(dotenv.find_dotenv())
|
| 24 |
-
return dotenv.dotenv_values()
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
def get_rag_version() -> typing.Optional[str]:
|
| 28 |
-
return get_versions().get("RAGFLOW_VERSION", "dev")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SDK/python/setup.py
DELETED
|
@@ -1,19 +0,0 @@
|
|
| 1 |
-
# Copyright(C) 2023 InfiniFlow, Inc. All rights reserved.
|
| 2 |
-
#
|
| 3 |
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
| 4 |
-
# you may not use this file except in compliance with the License.
|
| 5 |
-
# You may obtain a copy of the License at
|
| 6 |
-
#
|
| 7 |
-
# https://www.apache.org/licenses/LICENSE-2.0
|
| 8 |
-
#
|
| 9 |
-
# Unless required by applicable law or agreed to in writing, software
|
| 10 |
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
| 11 |
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| 12 |
-
# See the License for the specific language governing permissions and
|
| 13 |
-
# limitations under the License.
|
| 14 |
-
|
| 15 |
-
import setuptools
|
| 16 |
-
|
| 17 |
-
if __name__ == "__main__":
|
| 18 |
-
setuptools.setup(packages=['ragflow'])
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SDK/python/test/test_basic.py
DELETED
|
@@ -1,8 +0,0 @@
|
|
| 1 |
-
from test_sdkbase import TestSdk
|
| 2 |
-
import ragflow
|
| 3 |
-
import pytest
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
class TestCase(TestSdk):
|
| 7 |
-
def test_version(self):
|
| 8 |
-
print(ragflow.__version__)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SDK/python/test/test_sdkbase.py
DELETED
|
@@ -1,3 +0,0 @@
|
|
| 1 |
-
class TestSdk():
|
| 2 |
-
def test_version(self):
|
| 3 |
-
print("test_sdk")
|
|
|
|
|
|
|
|
|
|
|
|
sdk/python/README.md
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
#
|
|
|
|
| 1 |
+
# ragflow
|
sdk/python/ragflow/__init__.py
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
import importlib.metadata
|
| 2 |
|
| 3 |
-
__version__ = importlib.metadata.version("ragflow")
|
|
|
|
| 1 |
import importlib.metadata
|
| 2 |
|
| 3 |
+
__version__ = importlib.metadata.version("ragflow")
|
sdk/python/ragflow/ragflow.py
CHANGED
|
@@ -15,6 +15,7 @@
|
|
| 15 |
#
|
| 16 |
import os
|
| 17 |
from abc import ABC
|
|
|
|
| 18 |
|
| 19 |
|
| 20 |
class RAGFLow(ABC):
|
|
@@ -26,4 +27,28 @@ class RAGFLow(ABC):
|
|
| 26 |
return name
|
| 27 |
|
| 28 |
def delete_dataset(self, name):
|
| 29 |
-
return name
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
#
|
| 16 |
import os
|
| 17 |
from abc import ABC
|
| 18 |
+
import requests
|
| 19 |
|
| 20 |
|
| 21 |
class RAGFLow(ABC):
|
|
|
|
| 27 |
return name
|
| 28 |
|
| 29 |
def delete_dataset(self, name):
|
| 30 |
+
return name
|
| 31 |
+
|
| 32 |
+
def list_dataset(self):
|
| 33 |
+
endpoint = f"{self.base_url}/api/v1/dataset"
|
| 34 |
+
response = requests.get(endpoint)
|
| 35 |
+
if response.status_code == 200:
|
| 36 |
+
return response.json()['datasets']
|
| 37 |
+
else:
|
| 38 |
+
return None
|
| 39 |
+
|
| 40 |
+
def get_dataset(self, dataset_id):
|
| 41 |
+
endpoint = f"{self.base_url}/api/v1/dataset/{dataset_id}"
|
| 42 |
+
response = requests.get(endpoint)
|
| 43 |
+
if response.status_code == 200:
|
| 44 |
+
return response.json()
|
| 45 |
+
else:
|
| 46 |
+
return None
|
| 47 |
+
|
| 48 |
+
def update_dataset(self, dataset_id, params):
|
| 49 |
+
endpoint = f"{self.base_url}/api/v1/dataset/{dataset_id}"
|
| 50 |
+
response = requests.put(endpoint, json=params)
|
| 51 |
+
if response.status_code == 200:
|
| 52 |
+
return True
|
| 53 |
+
else:
|
| 54 |
+
return False
|
sdk/python/test/test_basic.py
CHANGED
|
@@ -2,9 +2,16 @@ from test_sdkbase import TestSdk
|
|
| 2 |
import ragflow
|
| 3 |
from ragflow.ragflow import RAGFLow
|
| 4 |
import pytest
|
|
|
|
| 5 |
|
| 6 |
|
| 7 |
class TestCase(TestSdk):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
def test_version(self):
|
| 9 |
print(ragflow.__version__)
|
| 10 |
|
|
@@ -12,4 +19,33 @@ class TestCase(TestSdk):
|
|
| 12 |
assert ragflow.ragflow.RAGFLow('123', 'url').create_dataset('abc') == 'abc'
|
| 13 |
|
| 14 |
def test_delete_dataset(self):
|
| 15 |
-
assert ragflow.ragflow.RAGFLow('123', 'url').delete_dataset('abc') == 'abc'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 2 |
import ragflow
|
| 3 |
from ragflow.ragflow import RAGFLow
|
| 4 |
import pytest
|
| 5 |
+
from unittest.mock import MagicMock
|
| 6 |
|
| 7 |
|
| 8 |
class TestCase(TestSdk):
|
| 9 |
+
|
| 10 |
+
@pytest.fixture
|
| 11 |
+
def ragflow_instance(self):
|
| 12 |
+
# Here we create a mock instance of RAGFlow for testing
|
| 13 |
+
return ragflow.ragflow.RAGFLow('123', 'url')
|
| 14 |
+
|
| 15 |
def test_version(self):
|
| 16 |
print(ragflow.__version__)
|
| 17 |
|
|
|
|
| 19 |
assert ragflow.ragflow.RAGFLow('123', 'url').create_dataset('abc') == 'abc'
|
| 20 |
|
| 21 |
def test_delete_dataset(self):
|
| 22 |
+
assert ragflow.ragflow.RAGFLow('123', 'url').delete_dataset('abc') == 'abc'
|
| 23 |
+
|
| 24 |
+
def test_list_dataset_success(self, ragflow_instance, monkeypatch):
|
| 25 |
+
# Mocking the response of requests.get method
|
| 26 |
+
mock_response = MagicMock()
|
| 27 |
+
mock_response.status_code = 200
|
| 28 |
+
mock_response.json.return_value = {'datasets': [{'id': 1, 'name': 'dataset1'}, {'id': 2, 'name': 'dataset2'}]}
|
| 29 |
+
|
| 30 |
+
# Patching requests.get to return the mock_response
|
| 31 |
+
monkeypatch.setattr("requests.get", MagicMock(return_value=mock_response))
|
| 32 |
+
|
| 33 |
+
# Call the method under test
|
| 34 |
+
result = ragflow_instance.list_dataset()
|
| 35 |
+
|
| 36 |
+
# Assertion
|
| 37 |
+
assert result == [{'id': 1, 'name': 'dataset1'}, {'id': 2, 'name': 'dataset2'}]
|
| 38 |
+
|
| 39 |
+
def test_list_dataset_failure(self, ragflow_instance, monkeypatch):
|
| 40 |
+
# Mocking the response of requests.get method
|
| 41 |
+
mock_response = MagicMock()
|
| 42 |
+
mock_response.status_code = 404 # Simulating a failed request
|
| 43 |
+
|
| 44 |
+
# Patching requests.get to return the mock_response
|
| 45 |
+
monkeypatch.setattr("requests.get", MagicMock(return_value=mock_response))
|
| 46 |
+
|
| 47 |
+
# Call the method under test
|
| 48 |
+
result = ragflow_instance.list_dataset()
|
| 49 |
+
|
| 50 |
+
# Assertion
|
| 51 |
+
assert result is None
|