Metadata-Version: 2.4
Name: aichatclient
Version: 2.1.0
Summary: A simple and extensible Python client for chatting with multiple AI models via OpenAI-compatible APIs
Home-page: https://github.com/amirhossinpython/aichatclient
Author: Amirhossein Khazaei
Author-email: 
Keywords: ai openai llm chatbot client
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: openai
Requires-Dist: py-persian-tts
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

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

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

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

---

## ✨ ویژگی‌ها

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

---

## 📦 نصب

```bash
pip install aichatclient
```

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

---

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

```python
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

```python
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 (قابل تغییر) |

---

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

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

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

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

---

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

```python
reply = ai.chat("هوش مصنوعی چیست؟")
print(reply)
```
## قابلیت ذخیره خودکار مکالمات (Auto Logging)
 
معرفی
این قابلیت به شما امکان می‌دهد تمام مکالمات خود را به صورت خودکار در فایل JSON یا دیتابیس SQLite ذخیره کنید.

## نحوه استفاده :
```python
from aichatclient 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` استفاده شده تا:

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

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

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

---

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

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







