Metadata-Version: 2.1
Name: samosila-core
Version: 0.0.7
Author: Mohammad Javad Hosseini
Author-email: johndoe2561357@protonmail.com
License: MIT
Requires-Python: >=3.10,<3.12
Description-Content-Type: text/markdown
Requires-Dist: appdirs
Requires-Dist: certifi
Requires-Dist: cryptography
Requires-Dist: regex
Requires-Dist: requests
Requires-Dist: requests-file
Requires-Dist: requests-html
Requires-Dist: tokenizers>=0.15
Requires-Dist: Pillow>=10
Requires-Dist: python-dotenv>=1
Requires-Dist: pydantic_settings>=2
Requires-Dist: six
Requires-Dist: tiktoken>=0.5
Requires-Dist: unstructured>=0.11
Requires-Dist: validators
Requires-Dist: httpx>=0.25
Requires-Dist: pydantic>=2
Requires-Dist: tenacity
Requires-Dist: openai>=1
Requires-Dist: aiohttp
Provides-Extra: providers
Requires-Dist: ai21; extra == "providers"
Requires-Dist: cohere; extra == "providers"
Requires-Dist: context-python; extra == "providers"
Requires-Dist: ctranslate2; extra == "providers"
Requires-Dist: edge-tts; extra == "providers"
Requires-Dist: elevenlabs; extra == "providers"
Requires-Dist: faster-whisper>=0.10; extra == "providers"
Requires-Dist: fireworks-ai>=0.9; extra == "providers"
Requires-Dist: g4f; extra == "providers"
Requires-Dist: google-generativeai>=0.3; extra == "providers"
Requires-Dist: gradientai; extra == "providers"
Requires-Dist: llama_cpp_python; extra == "providers"
Requires-Dist: novita_client>=0.4; extra == "providers"
Requires-Dist: replicate>=0.21; extra == "providers"
Requires-Dist: together; extra == "providers"
Requires-Dist: sentence-transformers>=2.2; extra == "providers"
Requires-Dist: TTS>=0.22; extra == "providers"
Requires-Dist: voyageai; extra == "providers"
Requires-Dist: gptcache>=0.1.43; extra == "providers"
Requires-Dist: faiss-cpu>=1.7; extra == "providers"
Provides-Extra: local
Requires-Dist: TTS>=0.22; extra == "local"
Requires-Dist: sentence-transformers>=2.2; extra == "local"
Requires-Dist: llama_cpp_python; extra == "local"
Requires-Dist: gptcache>=0.1.43; extra == "local"
Requires-Dist: librosa>=0.10; extra == "local"
Requires-Dist: PyAudio; extra == "local"
Requires-Dist: faiss-cpu>=1.7; extra == "local"
Requires-Dist: soundfile; extra == "local"
Requires-Dist: timm>=0.4.12; extra == "local"
Requires-Dist: torch>=2; extra == "local"
Requires-Dist: torchaudio>=2; extra == "local"
Requires-Dist: torchvision>=0.15; extra == "local"
Requires-Dist: transformers>=4.36; extra == "local"
Requires-Dist: nltk>=3.8; extra == "local"
Provides-Extra: full
Requires-Dist: ai21; extra == "full"
Requires-Dist: cohere; extra == "full"
Requires-Dist: context-python; extra == "full"
Requires-Dist: ctranslate2; extra == "full"
Requires-Dist: edge-tts; extra == "full"
Requires-Dist: elevenlabs; extra == "full"
Requires-Dist: faster-whisper>=0.10; extra == "full"
Requires-Dist: fireworks-ai>=0.9; extra == "full"
Requires-Dist: g4f; extra == "full"
Requires-Dist: google-generativeai>=0.3; extra == "full"
Requires-Dist: gradientai; extra == "full"
Requires-Dist: llama_cpp_python; extra == "full"
Requires-Dist: sentence-transformers>=2.2; extra == "full"
Requires-Dist: novita_client>=0.4; extra == "full"
Requires-Dist: replicate>=0.21; extra == "full"
Requires-Dist: together; extra == "full"
Requires-Dist: TTS>=0.22; extra == "full"
Requires-Dist: voyageai; extra == "full"
Requires-Dist: gptcache>=0.1.43; extra == "full"
Requires-Dist: librosa>=0.10; extra == "full"
Requires-Dist: PyAudio; extra == "full"
Requires-Dist: faiss-cpu>=1.7; extra == "full"
Requires-Dist: soundfile; extra == "full"
Requires-Dist: timm>=0.4.12; extra == "full"
Requires-Dist: torch>=2; extra == "full"
Requires-Dist: torchaudio>=2; extra == "full"
Requires-Dist: torchvision>=0.15; extra == "full"
Requires-Dist: transformers>=4.36; extra == "full"
Requires-Dist: nltk>=3.8; extra == "full"
Requires-Dist: deepeval; extra == "full"
Requires-Dist: llmlingua; extra == "full"
Requires-Dist: lunary; extra == "full"
Requires-Dist: promptlayer; extra == "full"
Requires-Dist: omegaconf>=2.3; extra == "full"
Requires-Dist: prompt-toolkit>=3; extra == "full"
Requires-Dist: sentencepiece; extra == "full"

# Samosila 


## Overview 

Samosila is my attempt to recreate an **OpenAI Compatible Server** for generating text, images, embeddings, and storing them in vector databases. It also includes a chat functionality. 

The server's request and responses are very similar to OpenAI's API with additional fields needed for different providers. It uses **Langchain** for the LLM part (Robust and powerful with callbacks) and provider SDKs for image generation and more.
