Skip to main content

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")

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': 'ಡಾಕ್ಯುಮೆಂಟ್ನ ಸರಳ ಪಠ್ಯ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಇಲ್ಲಿ ನೀಡಲಾಗಿದೆ, ಅದನ್ನು ಸ್ವಾಭಾವಿಕವಾಗಿ ಓದುವಂತೆಃ'}]}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dwani-0.1.21.tar.gz (9.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dwani-0.1.21-py3-none-any.whl (14.1 kB view details)

Uploaded Python 3

File details

Details for the file dwani-0.1.21.tar.gz.

File metadata

  • Download URL: dwani-0.1.21.tar.gz
  • Upload date:
  • Size: 9.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for dwani-0.1.21.tar.gz
Algorithm Hash digest
SHA256 9a927f40fa224ed0f0832cec941631ffe056a6306fe95bfff2027dbbf293014c
MD5 699c0f0fc499b87ce9c71767add385ad
BLAKE2b-256 53575d6f8babfc91e780e98071b325a13da4b14d88719f94e8d2739b8d579799

See more details on using hashes here.

File details

Details for the file dwani-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: dwani-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for dwani-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 66f3289cf8834156409a1131e009a8a89a41c9934400f0bcc71494b6b5cc15e9
MD5 fa8ee00c54274535e38e3a954b5b9372
BLAKE2b-256 1fad5d7fe9360c69d44020cf756da48a2a516fd4ed13f121195264dc4e5799f0

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page