介绍
如今,推出 专用聊天机器人 如今,出于经济和安全方面的考虑,使用私有服务器比以往任何时候都更具吸引力。像 AWS 或 Google Cloud 这样的大型云服务固然出色,但它们的成本可能非常高昂,尤其对于小型项目或测试项目而言。.
我们决定选择一台便宜的服务器 赫茨纳 让我们一起来看看搭建聊天机器人的经验。在本文中,我们将详细解释从选择服务器到最终部署的整个过程,以及我们遇到的问题和解决方法。.
我们为什么选择赫兹纳?
1. 价格实惠
Hetzner是欧洲价格最实惠的服务器供应商之一。例如,一台配备4个CPU核心和8GB内存的服务器价格约为 每月6欧元 这需要花钱。.
2. 质量与可持续性
Hetzner 的德国和芬兰数据中心非常稳定快速,即使对于伊朗用户流量,延迟也是可以接受的。.
3. 硬件多样性
从小型VPS到配备强大GPU的专用服务器,您可以根据自己的需求和预算进行选择。.
在 Hetzner 上设置聊天机器人的步骤
第一步:选择操作系统
我们安装了Ubuntu 22.04 LTS。这个版本既轻量级,又对人工智能相关工具提供了最全面的支持。.
步骤 2:安装基本工具
登录服务器后,您需要安装 Python 和所需的工具:
sudo apt update && sudo apt upgrade -y
sudo apt install python3-pip git -y
pip install transformers accelerate fastapi uvicornگام سوم: انتخاب مدل Chatbot
برای شروع، مدلهای آماده روی Hugging Face بهترین گزینه هستند. ما از مدل DialoGPT-medium استفاده کردیم. این مدل روی CPU هم اجرا میشود و برای تست کافی است.
گام چهارم: ساخت API ساده
با استفاده از FastAPI، یک API ساده برای ارسال پیام و دریافت پاسخ ساختیم:
from transformers import AutoModelForCausalLM, AutoTokenizer
from fastapi import FastAPI
app = FastAPI()
tokenizer = AutoTokenizer.from_pretrained("microsoft/DialoGPT-medium")
model = AutoModelForCausalLM.from_pretrained("microsoft/DialoGPT-medium")
@app.get("/chat")
def chat(msg: str):
inputs = tokenizer.encode(msg + tokenizer.eos_token, return_tensors="pt")
outputs = model.generate(inputs, max_length=1000, pad_token_id=tokenizer.eos_token_id)
reply = tokenizer.decode(outputs[:, inputs.shape[-1]:][0], skip_special_tokens=True)
return {"reply": reply}گام پنجم: اجرای سرویس
API را با دستور زیر اجرا کنید:
uvicorn main:app --host 0.0.0.0 --port 8000حالا کافی است مرورگر یا ابزار curl را باز کنید:
curl "http://your-server-ip:8000/chat?msg=سلام"پرسشهای رایج (FAQ)
آیا بدون GPU میشود Chatbot اجرا کرد؟
بله، اما سرعت پاسخدهی کمتر خواهد بود. برای مدلهای سبک (مثل DialoGPT یا GPT2 کوچک) CPU کافی است. اگر قصد دارید مدلهای سنگینتر مثل LLaMA یا Falcon را اجرا کنید، حتماً نیاز به GPU دارید.
چطور سرور را امن کنیم؟
همیشه
ufwیا فایروال فعال کنید.دسترسی به SSH را محدود کنید.
از SSL برای API استفاده کنید.
اگر ترافیک زیاد شد چه کنیم؟
Hetzner امکان ارتقا سختافزار یا مهاجرت به سرور GPUدار را فراهم کرده است. همچنین میتوانید Load Balancing پیادهسازی کنید.
آیا میتوان Chatbot را در تلگرام یا واتساپ استفاده کرد؟
بله. کافی است API ساختهشده را به Botهای تلگرام یا سایر پلتفرمها متصل کنید.
تجربه عملی ما
در طول این مسیر با چند چالش روبهرو شدیم:
در اولین تستها، پاسخ مدل کمی کند بود. با کاهش سایز مدل و بهینهسازی پارامترهای
generateسرعت بهتر شد.مدیریت منابع روی سرور کوچک مهم است؛ اگر چند سرویس همزمان اجرا کنید، RAM پر میشود. ما با استفاده از Docker توانستیم منابع را مدیریت کنیم.
جمعبندی
راهاندازی یک Chatbot اختصاصی روی سرور ارزان Hetzner نهتنها شدنی است، بلکه تجربهای عالی برای یادگیری و تست پروژههای هوش مصنوعی محسوب میشود. اگر بهدنبال هزینه پایین، آزادی عمل و کنترل کامل هستید، این روش گزینهای ایدهآل است.









