Multimodal API for Indian + European languages (Chat, Vision, TTS, ASR, Translate, Docs)
Project description
dwani.ai - python library
-
dwani.ai is self-hosted GenAI platform for multimodal AI inference.
-
Image, Speech, Docs, Text supported today !!
-
dwani.ai - is now compatible with OpenAI Spec
Install the library
pip install --upgrade dwani
Languages supported
- Indian
- Assamese, Bengali, Gujarati, Hindi, Kannada, Malayalam, Marathi Odia, Punjabi, Tamil, Telugu
- European
- English, German
Setup the credentials
import dwani
import os
dwani.api_key = os.getenv("DWANI_API_KEY")
dwani.api_base = os.getenv("DWANI_API_BASE_URL")
-
Source Code : https://github.com/dwani-ai/dwani-python-sdk
-
Check examples folder for detailed use cases
Document - OCR
result = dwani.Documents.run_ocr_page(file_path="dwani-workshop.pdf", page_number=1, model="gemma3")
print(result)
{'page_content': "Here's the plain text extracted from the image:\n\ndwani's Goals\n\nTo integrate and enhance the following models and services for Kannada:\n\n* **Automatic Speech Recognition (ASR):**"}
Document - Summary
result = dwani.Documents.summarize_all(
file_path="dwani-workshop.pdf", model="gemma3" , tgt_lang="english"
)
print("Document Query Response: gemma3- ", result["summary"])
Text Query
-
gemma3 (default)
resp = dwani.Chat.create(prompt="Hello!", src_lang="english", tgt_lang="kannada", model="gemma3") print(resp)
{'response': 'ನಮಸ್ತೆ! ಭಾರತ ಮತ್ತು ಕರ್ನಾಟಕವನ್ನು ಗಮನದಲ್ಲಿಟ್ಟುಕೊಂಡು ಇಂದು ನಿಮ್ಮ ಪ್ರಶ್ನೆಗಳಿಗೆ ನಾನು ನಿಮಗೆ ಹೇಗೆ ಸಹಾಯ ಮಾಡಲಿ?'}
Vision Query
- gemma3 (default)
result = dwani.Vision.caption( file_path="image.png", query="Describe this logo", src_lang="english", tgt_lang="kannada", model="gemma3" ) print(result)
{'answer': 'ಒಂದು ವಾಕ್ಯದಲ್ಲಿ ಚಿತ್ರದ ಸಾರಾಂಶವನ್ನು ಇಲ್ಲಿ ನೀಡಲಾಗಿದೆಃ ಪ್ರಕಟಣೆಯ ಅವಲೋಕನವು ಪ್ರಸ್ತುತ ಅರವತ್ತನಾಲ್ಕು ದೇಶಗಳು/ಪ್ರದೇಶಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ ಮತ್ತು ಇನ್ನೂ ಹದಿನಾರು ಪ್ರದೇಶಗಳನ್ನು ಸೇರಿಸಬೇಕಾಗಿದೆ. ಒದಗಿಸಲಾದ ಚಿತ್ರದಲ್ಲಿ ಲಾಂಛನವು ಕಾಣಿಸುವುದಿಲ್ಲ.'}
Speech to Text - Automatic Speech Recognition (ASR)
result = dwani.ASR.transcribe(file_path="kannada_sample.wav", language="kannada")
print(result)
{'text': 'ಕರ್ನಾಟಕ ದ ರಾಜಧಾನಿ ಯಾವುದು'}
Translate
resp = dwani.Translate.run_translate(sentences="hi, i am gaganyatri", src_lang="english", tgt_lang="kannada")
print(resp)
{'translations': ['ಹಾಯ್, ನಾನು ಗಗನಯಾತ್ರಿ']}
Text to Speech - Speech Synthesis
response = dwani.Audio.speech(input="ಕರ್ನಾಟಕದ ರಾಜಧಾನಿ ಯಾವುದು", response_format="wav", language="kannada")
with open("output.wav", "wb") as f:
f.write(response)
Document - Extract Text
result = dwani.Documents.run_extract(file_path = "dwani-workshop.pdf", page_number=1, src_lang="english",tgt_lang="kannada" )
print(result)
{'pages': [{'processed_page': 1, 'page_content': ' a plain text representation of the document', 'translated_content': 'ಡಾಕ್ಯುಮೆಂಟ್ನ ಸರಳ ಪಠ್ಯ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಇಲ್ಲಿ ನೀಡಲಾಗಿದೆ, ಅದನ್ನು ಸ್ವಾಭಾವಿಕವಾಗಿ ಓದುವಂತೆಃ'}]}
- Website -> dwani.ai
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dwani-0.1.20.tar.gz.
File metadata
- Download URL: dwani-0.1.20.tar.gz
- Upload date:
- Size: 9.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8975ea85eb20fa95fe6045398af49aea08df8f176d3419a928d55de0bab444f3
|
|
| MD5 |
f587edff81406d4cae386f33157c3dec
|
|
| BLAKE2b-256 |
3fee634aa9bd45a7d18992703cbe0db34f9d0ae5213c19072db2fe4871a982db
|
File details
Details for the file dwani-0.1.20-py3-none-any.whl.
File metadata
- Download URL: dwani-0.1.20-py3-none-any.whl
- Upload date:
- Size: 14.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
119f49b6c526642e8e33edef4619656af8dcf56ef7c9648f6539f81f36522e1a
|
|
| MD5 |
8accca9cd0bab8a8e289c3a9924ee220
|
|
| BLAKE2b-256 |
2d2343eb6655918cc294b190168a3753b42456dc50c858f823a066b00d64ac06
|