Move some modules, create providers dir

Set min version for duckduckgo
Make duckduckgo search async
Remove get_lastet_version
This commit is contained in:
Heiner Lohaus 2024-02-22 00:16:58 +01:00
parent 0a0698c7f3
commit e5b7f72b71
31 changed files with 448 additions and 435 deletions

View file

@ -3,7 +3,7 @@ from urllib.parse import urlparse
import asyncio
from g4f import models, ChatCompletion
from g4f.base_provider import BaseProvider, BaseRetryProvider, ProviderType
from g4f.providers.types import BaseRetryProvider, ProviderType
from etc.testing._providers import get_providers
from g4f import debug

View file

@ -3,5 +3,7 @@ from .asyncio import *
from .backend import *
from .main import *
from .model import *
from .client import *
from .include import *
unittest.main()

View file

@ -1,9 +1,11 @@
import unittest
# import asyncio
from unittest.mock import MagicMock
from .mocks import ProviderMock
import g4f
try:
from g4f.gui.server.backend import Backend_Api, get_error_message
# from g4f.gui.server.internet import search
has_requirements = True
except:
has_requirements = False
@ -16,10 +18,10 @@ class TestBackendApi(unittest.TestCase):
self.app = MagicMock()
self.api = Backend_Api(self.app)
def test_version(self):
response = self.api.get_version()
self.assertIn("version", response)
self.assertIn("latest_version", response)
# def test_version(self):
# response = self.api.get_version()
# self.assertIn("version", response)
# self.assertIn("latest_version", response)
def test_get_models(self):
response = self.api.get_models()
@ -31,6 +33,10 @@ class TestBackendApi(unittest.TestCase):
self.assertIsInstance(response, list)
self.assertTrue(len(response) > 0)
# def test_search(self):
# result = asyncio.run(search("Hello"))
# self.assertEqual(5, len(result))
class TestUtilityFunctions(unittest.TestCase):
def setUp(self):

View file

@ -43,7 +43,7 @@ class TestPassModel(unittest.TestCase):
for chunk in response:
self.assertEqual(chunk.choices[0].delta.content, "You ")
def no_test_stop(self):
def test_stop(self):
client = Client(provider=YieldProviderMock)
messages = [{'role': 'user', 'content': chunk} for chunk in ["How ", "are ", "you", "?"]]
response = client.chat.completions.create(messages, "Hello", stop=["and"])

View file

@ -1,11 +1,15 @@
import sys
import pathlib
import unittest
sys.path.append(str(pathlib.Path(__file__).parent.parent.parent))
class TestImport(unittest.TestCase):
import g4f
def test_get_cookies(self):
from g4f import get_cookies as get_cookies_alias
from g4f.cookies import get_cookies
self.assertEqual(get_cookies_alias, get_cookies)
g4f.debug.logging = False
g4f.debug.version_check = False
def test_requests(self):
from g4f.requests import StreamSession
self.assertIsInstance(StreamSession, type)
DEFAULT_MESSAGES = [{'role': 'user', 'content': 'Hello'}]
if __name__ == '__main__':
unittest.main()

View file

@ -1,4 +1,4 @@
from g4f.Provider.base_provider import AbstractProvider, AsyncProvider, AsyncGeneratorProvider
from g4f.providers.base_provider import AbstractProvider, AsyncProvider, AsyncGeneratorProvider
class ProviderMock(AbstractProvider):
working = True