Skip to content

Commit

Permalink
fixes and some minor changes
Browse files Browse the repository at this point in the history
  • Loading branch information
Qewertyy committed Jan 22, 2024
1 parent 8602870 commit 43d0680
Show file tree
Hide file tree
Showing 32 changed files with 127 additions and 54 deletions.
2 changes: 2 additions & 0 deletions examples/antinsfw.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import Client

def main(image_url: str) -> dict:
Expand Down
2 changes: 2 additions & 0 deletions examples/async_antinsfw.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import AsyncClient
import asyncio

Expand Down
5 changes: 3 additions & 2 deletions examples/async_bard.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright 2024 Qewertyy, MIT License

import asyncio
from lexica import AsyncClient
from lexica.constants import languageModels
from lexica import AsyncClient, languageModels

async def async_main(prompt: str) -> dict:
client = AsyncClient()
Expand Down
2 changes: 2 additions & 0 deletions examples/async_downloaders.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import AsyncClient
import asyncio

Expand Down
5 changes: 3 additions & 2 deletions examples/async_gemini.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright 2024 Qewertyy, MIT License

import asyncio
from lexica import AsyncClient
from lexica.constants import languageModels
from lexica import AsyncClient, languageModels

async def async_main(prompt: str) -> dict:
client = AsyncClient()
Expand Down
5 changes: 3 additions & 2 deletions examples/async_gemini_vision.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# Copyright 2024 Qewertyy, MIT License

import asyncio
import base64
import mimetypes
from lexica import AsyncClient
from lexica.constants import languageModels
from lexica import AsyncClient, languageModels

async def async_main(prompt: str,images: list) -> dict:
client = AsyncClient()
Expand Down
2 changes: 2 additions & 0 deletions examples/async_generate.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

import asyncio
from lexica import AsyncClient

Expand Down
5 changes: 3 additions & 2 deletions examples/async_gpt.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright 2024 Qewertyy, MIT License

import asyncio
from lexica import AsyncClient
from lexica.constants import languageModels
from lexica import AsyncClient,languageModels

async def async_main(prompt: str) -> dict:
client = AsyncClient()
Expand Down
2 changes: 2 additions & 0 deletions examples/async_image_reverse.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import AsyncClient
import asyncio

Expand Down
5 changes: 3 additions & 2 deletions examples/async_llama.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright 2024 Qewertyy, MIT License

import asyncio
from lexica import AsyncClient
from lexica.constants import languageModels
from lexica import AsyncClient, languageModels

async def async_main(prompt: str) -> dict:
client = AsyncClient()
Expand Down
5 changes: 3 additions & 2 deletions examples/async_mistral.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright 2024 Qewertyy, MIT License

import asyncio
from lexica import AsyncClient
from lexica.constants import languageModels
from lexica import AsyncClient, languageModels

async def async_main(prompt: str) -> dict:
client = AsyncClient()
Expand Down
5 changes: 3 additions & 2 deletions examples/async_palm.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
from lexica import AsyncClient
# Copyright 2024 Qewertyy, MIT License

from lexica import AsyncClient, languageModels
import asyncio
from lexica.constants import languageModels

async def async_main(prompt: str) -> dict:
client = AsyncClient()
Expand Down
2 changes: 2 additions & 0 deletions examples/async_search_images.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import AsyncClient
import asyncio

Expand Down
2 changes: 2 additions & 0 deletions examples/async_upscale.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import AsyncClient
import asyncio

Expand Down
5 changes: 3 additions & 2 deletions examples/bard.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from lexica import Client
from lexica.constants import languageModels
# Copyright 2024 Qewertyy, MIT License

from lexica import Client, languageModels

def main(prompt: str) -> dict:
client = Client()
Expand Down
2 changes: 2 additions & 0 deletions examples/downloaders.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import Client

def main(url: str) -> dict:
Expand Down
5 changes: 3 additions & 2 deletions examples/gemini.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from lexica import Client
from lexica.constants import languageModels
# Copyright 2024 Qewertyy, MIT License

from lexica import Client,languageModels

def main(prompt: str) -> dict:
client = Client()
Expand Down
5 changes: 3 additions & 2 deletions examples/gemini_vision.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright 2024 Qewertyy, MIT License

import base64,mimetypes
from lexica import Client
from lexica.constants import languageModels
from lexica import Client,languageModels

def main(prompt: str,images:list) -> dict:
client = Client()
Expand Down
2 changes: 2 additions & 0 deletions examples/generate.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

import time
from lexica import Client

Expand Down
5 changes: 3 additions & 2 deletions examples/gpt.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from lexica import Client
from lexica.constants import languageModels
# Copyright 2024 Qewertyy, MIT License

from lexica import Client, languageModels

def main(prompt: str) -> dict:
client = Client()
Expand Down
2 changes: 2 additions & 0 deletions examples/image_reverse.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import Client

def main(imgUrl: str) -> dict:
Expand Down
5 changes: 3 additions & 2 deletions examples/llama.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from lexica import Client
from lexica.constants import languageModels
# Copyright 2024 Qewertyy, MIT License

from lexica import Client,languageModels

def main(prompt: str) -> dict:
client = Client()
Expand Down
5 changes: 3 additions & 2 deletions examples/mistral.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from lexica import Client
from lexica.constants import languageModels
# Copyright 2024 Qewertyy, MIT License

from lexica import Client,languageModels

def main(prompt: str) -> dict:
client = Client()
Expand Down
2 changes: 2 additions & 0 deletions examples/models.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

# async usage

from lexica import AsyncClient
Expand Down
5 changes: 3 additions & 2 deletions examples/palm.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from lexica import Client
from lexica.constants import languageModels
# Copyright 2024 Qewertyy, MIT License

from lexica import Client,languageModels

def main(prompt: str) -> dict:
client = Client()
Expand Down
2 changes: 2 additions & 0 deletions examples/search_images.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import Client

def main(query: str) -> dict:
Expand Down
2 changes: 2 additions & 0 deletions examples/upscale.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

from lexica import Client

def main(image: bytes) -> bytes:
Expand Down
7 changes: 5 additions & 2 deletions lexica/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,13 @@

from lexica.core import Client
from lexica.core_async import AsyncClient
from lexica.constants import languageModels

__all__ = [
"Client",
"AsyncClient"
"AsyncClient",
"languageModels"
]
__version__ = "0.0.3"

__version__ = "1.5.2"
__author__ = "Qewertyy <[email protected]>"
21 changes: 18 additions & 3 deletions lexica/constants.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,25 @@
BASE_URL = "https://lexica.qewertyy.me"
MISC_URL = "https://api.qewertyy.me"
# Copyright 2024 Qewertyy, MIT License

import re

BASE_URL = "https://lexica.qewertyy.dev"
MISC_URL = "https://api.qewertyy.dev"

def get_version():
filename = "lexica/__init__.py"
with open(filename) as f:
match = re.search(r"""^__version__ = ['"]([^'"]*)['"]""", f.read(), re.M)
if not match:
raise RuntimeError("{} doesn't contain __version__".format(filename))
version = match.groups()[0]
return version

SESSION_HEADERS = {
"Host": "lexica.qewertyy.me",
"Host": "lexica.qewertyy.dev",
"User-Agent":f"Lexica/{get_version()}"
}


class languageModels(object):
bard = {"modelId":20,"name":"Bard"}
palm = {"modelId":0,"name":"PaLM"}
Expand Down
22 changes: 12 additions & 10 deletions lexica/core.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# Copyright 2024 Qewertyy, MIT License

import base64, httpx
from lexica.constants import *
from lexica.utils import *
Expand All @@ -8,7 +10,7 @@ class Client:
Sync Client
"""
def __init__(
self
self: "Client",
):
"""
Initialize the class
Expand All @@ -20,7 +22,7 @@ def __init__(
self.timeout = 60
self.headers = SESSION_HEADERS

def _request(self, **kwargs) -> Union[Dict,bytes]:
def _request(self : "Client", **kwargs) -> Union[Dict,bytes]:
self.headers.update(kwargs.get("headers",{}))
contents = {'json':{},'data':{},'files':{}}
for i in list(contents):
Expand Down Expand Up @@ -49,7 +51,7 @@ def getModels(self) -> dict:
resp = self._request(url=f'{self.url}/models')
return resp

def ChatCompletion(self, prompt: str,model : dict = languageModels.palm ,*args, **kwargs) -> dict:
def ChatCompletion(self : "Client", prompt: str,model : dict = languageModels.palm ,*args, **kwargs) -> dict:
"""
Get an answer from LLMs' for the given prompt
Example:
Expand Down Expand Up @@ -82,7 +84,7 @@ def ChatCompletion(self, prompt: str,model : dict = languageModels.palm ,*args,
)
return resp

def upscale(self, image: bytes) -> bytes:
def upscale(self : "Client", image: bytes) -> bytes:
"""
Upscale an image
Example:
Expand All @@ -104,7 +106,7 @@ def upscale(self, image: bytes) -> bytes:
)
return content

def generate(self,model_id:int,prompt:str,negative_prompt:str="",images: int=1) -> dict:
def generate(self : "Client",model_id:int,prompt:str,negative_prompt:str="",images: int=1) -> dict:
"""
Generate image from a prompt
Example:
Expand Down Expand Up @@ -138,7 +140,7 @@ def generate(self,model_id:int,prompt:str,negative_prompt:str="",images: int=1)
)
return resp

def getImages(self,task_id:str,request_id:str) -> dict:
def getImages(self : "Client",task_id:str,request_id:str) -> dict:
"""
Generate image from a prompt
Example:
Expand Down Expand Up @@ -170,7 +172,7 @@ def getImages(self,task_id:str,request_id:str) -> dict:
)
return resp

def ImageReverse(self, imageUrl: str,engine: str="goole") -> dict:
def ImageReverse(self : "Client", imageUrl: str,engine: str="goole") -> dict:
"""
Reverse search an image
Example:
Expand Down Expand Up @@ -200,7 +202,7 @@ def ImageReverse(self, imageUrl: str,engine: str="goole") -> dict:
)
return resp

def MediaDownloaders(self,platform: str,url:str):
def MediaDownloaders(self : "Client",platform: str,url:str):
"""
Returns with downloadable links for the given social media url
Example:
Expand Down Expand Up @@ -232,7 +234,7 @@ def MediaDownloaders(self,platform: str,url:str):
)
return resp

def SearchImages(self,query: str, page: int=0,engine: str="google") -> dict:
def SearchImages(self : "Client",query: str, page: int=0,engine: str="google") -> dict:
"""
Search for images
Example:
Expand All @@ -258,7 +260,7 @@ def SearchImages(self,query: str, page: int=0,engine: str="google") -> dict:
)
return resp

def AntiNsfw(self, imageUrl: str) -> dict:
def AntiNsfw(self : "Client", imageUrl: str) -> dict:
"""
Check for an image if it is safe for work or not
Example:
Expand Down
Loading

0 comments on commit 43d0680

Please sign in to comment.