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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e4860018499ea5e374ea375bc2dc11f680eae5adc2d598ce7df52de6e9f82dc
|
|
| MD5 |
82eb4056d635d501634cf2da3ff4720c
|
|
| BLAKE2b-256 |
ddba08e518fbe99bbf8842963bdbfb9140359b3538477169c407d45222bbc88e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92a05baa40b76649035c03c5da770f2b0d0c4c62465d6eb07d53a9d9ae38d6cc
|
|
| MD5 |
3e7cdfd486f09d5bf7b3ab4bf38b755a
|
|
| BLAKE2b-256 |
4ff798baf4c3462e26892cbe7a4f758ed0d8cd00e7b477159a92ce1e887d3f08
|