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 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 استفاده شده تا:

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

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

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

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

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

📘 مستندات کلاس ChatApp

رای راه‌اندازی یک وب‌اپلیکیشن چت با هوش مصنوعی سازنده (Constructor)

ChatApp(api_key, base_url, system_prompt, model="openai/gpt-4o-mini")

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

متدها

run(host='0.0.0.0', port=5000, debug=False)

مثال‌های استفاده

from aichatclient import ChatApp

app = ChatApp(
    api_key="your-api-key-here",
    base_url="https://ai.liara.ir/api/v1/your-endpoint",
    system_prompt="تو یک دستیار مفید و دوستانه هستی. به زبان فارسی پاسخ بده."
)

app.run(port=5000)

کلاس : ChatGroup

from aichatclient import  AiClient


chat = AiClient(
    system_prompt='bot',
    api_key='sk-',
    base_url='https://api.gapgpt.app/v1',
    model='gpt-4o'
    
)


print(chat.chat("hi"))

متدهای کلاس ChatGroup: این کلاس قدرتمند، ورودی‌های کلیدی مانند system_prompt، api_key و base_url را می‌پذیرد و شامل متدهای زیر است:

  • gpt4o: برای تعامل با مدل GPT-4o
  • generate_image: برای تولید تصاویر با هوش مصنوعی
  • gapgpt_qwen_3_5: پشتیبانی از مدل Qwen 3.5
  • voice_text: برای تبدیل گفتار به متن

نمونه

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

from aichatclient import ChatGroup

chat = ChatGroup(
system_prompt='', # اینجا مقدار پیش‌فرض یا دلخواه را قرار دهید
api_key='', # کلید API خود را اینجا قرار دهید
base_url='', # URL پایه سرویس خود را اینجا قرار دهید
model='gpt-4o' # یا هر مدل دیگری که می‌خواهید استفاده کنید
)

aichat = chat.gpt4o('hi')

print(aichat)
# ساخت تصویر باهوش مصنوعی
image_response = chat.generate_image(prompt="یک منظره زیبا از کوهستان")
print(image_response)
pip install --upgrade aichatclient

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-3.4.4.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

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

aichatclient-3.4.4-py3-none-any.whl (14.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aichatclient-3.4.4.tar.gz
Algorithm Hash digest
SHA256 38545d92828a94b5ed0ba77661813b44169d9aa57729bbb98c8ee264d224c4a4
MD5 18a3e397a87e6d9119e310ceaf8148cd
BLAKE2b-256 4917aa46b7b67ed6aab73594b54e5d72cb15751f62684b4048cd23e0970bf8ed

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for aichatclient-3.4.4-py3-none-any.whl
Algorithm Hash digest
SHA256 2ac79b937bad7aaa45e49b87b6e7c1dee2531e6b13626f71c18cd04dc848fba2
MD5 7d4c2f412e65468647b45de866a8d81b
BLAKE2b-256 e873d9a16f23eccfaab314a310fa9a25f742e1717da1efbf950a50e7a830784b

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