Skip to main content

A simple and extensible Python client for chatting with multiple AI models via OpenAI-compatible APIs

Project description

🤖 AiClient – کتابخانه چت با هوش مصنوعی (Python)

یک کتابخانه‌ی ساده، تمیز و قابل‌انتشار برای ارتباط با مدل‌های مختلف هوش مصنوعی (LLM) با استفاده از SDK رسمی OpenAI و پشتیبانی از Base URL سفارشی (مانند Liara AI).

این پروژه برای توسعه‌دهندگانی ساخته شده که می‌خواهند بدون درگیری با جزئیات پیچیده، به‌سرعت یک سیستم چت هوشمند، دستیار AI یا API مبتنی بر LLM بسازند.


✨ ویژگی‌ها

  • ✅ پشتیبانی از مدل‌های متنوع (OpenAI، Google، Anthropic، Qwen، Grok و ...)
  • ✅ مدیریت ساده System Prompt
  • ✅ قابلیت استفاده با Base URL سفارشی
  • ✅ ساختار مینیمال و قابل توسعه
  • ✅ مناسب برای پروژه‌های واقعی و انتشار عمومی
  • ✅ مدیریت خطا به‌صورت ایمن و خوانا -✅ با ویس هوش مصنوعی

📦 نصب

pip install aichatclient

Python نسخه 3.8 یا بالاتر موردنیاز است.


🚀 شروع سریع (Quick Start)

from aichatclient import AiClient
system_prompt = ""
chat = AiClient(
    system_prompt=system_prompt,
    api_key="",
    base_url="https://ai.liara.ir/api/v1/",
    model="openai/gpt-4o-mini",
    voice="man1"   # اختیاری برای تبدیل متن به ویس
)

response = ai.chat("سلام، خودتو معرفی کن")
print(response)

#  استفاده از متد چت با ویس
chat.chat_voice("سلام اسمتچیه")

🧠 ساختار کلاس AiClient

Constructor

AiClient(system_prompt, api_key, model, base_url="https://ai.liara.ir/api/v1")

پارامترها

پارامتر نوع توضیح
system_prompt str پیام سیستمی برای کنترل رفتار مدل
api_key str کلید API سرویس هوش مصنوعی
model str نام مدل انتخابی
base_url str آدرس API (قابل تغییر)

📚 دریافت لیست مدل‌ها

برای مشاهده مدل‌های پشتیبانی‌شده:

models = ai.list_model()
for model in models:
    print(model)

📌 این طراحی باعث می‌شود کتابخانه به یک سرویس خاص وابسته نباشد.


💬 ارسال پیام (Chat)

reply = ai.chat("هوش مصنوعی چیست؟")
print(reply)

قابلیت ذخیره خودکار مکالمات (Auto Logging)

معرفی این قابلیت به شما امکان می‌دهد تمام مکالمات خود را به صورت خودکار در فایل JSON یا دیتابیس SQLite ذخیره کنید.

نحوه استفاده :

from aiclient import AiClient, chat_log

@chat_log(db_type="json", db_path="my_chats.json")
def main():
    chat = AiClient(
        system_prompt="تو یک دستیار هستی",
        api_key="your-api-key",
        model="openai/gpt-4o-mini",
        voice = "man3" # اختیاری 
    )
    
    response = chat.chat("سلام چطوری؟")
    print(response)
    
    return response  # مهم: حتماً response رو برگردون

if __name__ == "__main__":
    main()

خروجی

  • در حالت موفق: str (پاسخ مدل)
  • در حالت خطا: پیام خطای قابل فهم به زبان فارسی

🛡️ مدیریت خطا

در متد chat از try / except استفاده شده تا:

  • برنامه کرش نکند
  • خطاها قابل ردیابی باشند
  • تجربه توسعه‌دهنده بهتر شود

نمونه خروجی خطا:

خطا در ارتباط با API: Connection timeout

🏗️ موارد استفاده (Use Cases)

  • 🤖 ربات چت
  • 🧠 دستیار هوشمند
  • 🌐 API هوش مصنوعی
  • 🛠️ ابزارهای مبتنی بر LLM
  • 📊 تحلیل متن و تولید محتوا

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

aichatclient-2.0.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

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

aichatclient-2.0.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file aichatclient-2.0.0.tar.gz.

File metadata

  • Download URL: aichatclient-2.0.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for aichatclient-2.0.0.tar.gz
Algorithm Hash digest
SHA256 1e4860018499ea5e374ea375bc2dc11f680eae5adc2d598ce7df52de6e9f82dc
MD5 82eb4056d635d501634cf2da3ff4720c
BLAKE2b-256 ddba08e518fbe99bbf8842963bdbfb9140359b3538477169c407d45222bbc88e

See more details on using hashes here.

File details

Details for the file aichatclient-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: aichatclient-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for aichatclient-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 92a05baa40b76649035c03c5da770f2b0d0c4c62465d6eb07d53a9d9ae38d6cc
MD5 3e7cdfd486f09d5bf7b3ab4bf38b755a
BLAKE2b-256 4ff798baf4c3462e26892cbe7a4f758ed0d8cd00e7b477159a92ce1e887d3f08

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