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

نمونه

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

from aichatclient import ChatGroup

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


# ساخت تصویر باهوش مصنوعی
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.3.3.tar.gz (14.3 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.3.3-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aichatclient-3.3.3.tar.gz
Algorithm Hash digest
SHA256 5cd8e1dd15b0c1fb7efdb2efa14befca57dcbb3300affc5b7262d303710ddb87
MD5 691696deaa5d6c35a6b6c8813f108202
BLAKE2b-256 ceb27f1d7861816bee02200a623a213f98b1e12de24aee2708aeac5237607b7b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: aichatclient-3.3.3-py3-none-any.whl
  • Upload date:
  • Size: 14.2 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.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 04322e3c1d9e92ec5b6ab8086663b8fab130e82476489a084b2b3627a2331291
MD5 4be36a7d160584a140a9fe55c7c83c52
BLAKE2b-256 16fee65d54d48e0b76a0b8f4b06a09aaf7c5566e383458607fad133056cd1646

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