TestModel / vm_setup_guide.md
bilalabic's picture
Upload folder using huggingface_hub
c7df5be verified

🚀 FitTürkAI VM Kurulum Rehberi - SSH Bağlantısı Sonrası

Tebrikler! VM'nize başarıyla bağlandınız. Şimdi FitTürkAI sistemini kuralım.

🔍 Adım 1: Sistem Durumunu Kontrol Et

# Sistem bilgilerini kontrol et
sysinfo

# RAM durumunu kontrol et
free -h

# Disk alanını kontrol et
df -h

# Startup script'in çalışıp çalışmadığını kontrol et
cat /var/log/fitturkrai-setup.log | tail -20

📦 Adım 2: Repository'yi Klonla ve Dosyaları Kopyala

Seçenek A: GitHub'dan klonla (eğer repository'niz varsa)

cd /home/ubuntu
git clone https://github.com/YOUR_USERNAME/FitTurkAI-RAG.git
cd FitTurkAI-RAG

Seçenek B: Dosyaları manuel olarak oluştur

cd /home/ubuntu/FitTurkAI-RAG

# Ana dosyaları oluştur
nano test.py

test.py içeriğini kopyalayın (mevcut CPU optimize edilmiş kodu)

# Requirements dosyasını oluştur
nano requirements.txt

requirements.txt içeriğini kopyalayın

# Colab setup scriptini oluştur (opsiyonel)
nano colab_setup_and_run.py

🐍 Adım 3: Python Environment ve Paketleri Kontrol Et

# Python versiyonunu kontrol et
python3 --version

# Pip'i güncelle
python3 -m pip install --upgrade pip

# PyTorch'un kurulduğunu kontrol et
python3 -c "import torch; print(f'PyTorch: {torch.__version__}'); print(f'CPU Available: {torch.cuda.is_available() == False}')"

# Gerekli paketleri kur (eksik varsa)
pip3 install -r requirements.txt

📚 Adım 4: NLTK Verilerini Kontrol Et

# NLTK verilerinin kurulduğunu kontrol et
python3 -c "
import nltk
try:
    from nltk.tokenize import sent_tokenize
    test = sent_tokenize('Bu bir test. Bu ikinci cümle.', language='turkish')
    print(f'✅ NLTK Turkish tokenization working: {len(test)} sentences')
except:
    print('❌ NLTK needs setup')
    nltk.download('punkt')
    nltk.download('punkt_tab')
    nltk.download('stopwords')
"

📁 Adım 5: Veri Klasörlerini Hazırla

# Klasör yapısını kontrol et
ls -la

# Gerekli klasörlerin varlığını kontrol et
mkdir -p indirilen_pdfler DATA fitness_rag_store_merged fine_tuned_FitTurkAI_QLoRA

# Demo verinin oluşturulduğunu kontrol et
cat DATA/demo_fitness_data.json

🧪 Adım 6: Performance Test Çalıştır

# Sistem performansını test et
python3 /home/ubuntu/performance_test.py

Bu test şunları kontrol eder:

  • ✅ RAM yeterliliği (>2GB)
  • ✅ CPU durumu
  • ✅ Sentence Transformer yüklenmesi

🎯 Adım 7: FitTürkAI Sistemini İlk Kez Çalıştır

# Ana dizine git
cd /home/ubuntu/FitTurkAI-RAG

# İlk çalıştırma (modelleri indirecek)
python3 test.py

İlk çalıştırmada:

  • Turkish LLaMA model indirilecek (~15-20 dakika)
  • Sentence transformer model indirilecek (~2-5 dakika)
  • Demo bilgi tabanı oluşturulacak

🔧 Adım 8: Sorun Giderme (Gerekirse)

Model indirme sorunu varsa:

# Hugging Face cache temizle
rm -rf ~/.cache/huggingface/

# Manuel model indirme
python3 -c "
from transformers import AutoTokenizer, AutoModelForCausalLM
model_name = 'ytu-ce-cosmos/Turkish-Llama-8b-v0.1'
print('Downloading tokenizer...')
tokenizer = AutoTokenizer.from_pretrained(model_name)
print('Downloading model...')
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype='float32')
print('Models downloaded successfully!')
"

RAM sorunu varsa:

# Swap'i kontrol et
free -h

# RAM kullanımını izle
watch -n 2 free -h

Konfigürasyonu değiştir (test.py'de):

# Düşük RAM için
config = RAGConfig(
    chunk_size=200,
    retrieval_k=3,
    max_context_length=2000
)

# Yüksek RAM için (64GB+)
config = RAGConfig(
    chunk_size=500,
    retrieval_k=10,
    max_context_length=8000
)

📊 Adım 9: Sistem İzleme ve Optimizasyon

# RAM kullanımını izle
rammon

# CPU kullanımını izle
htop

# GPU kullanımının olmadığını kontrol et (CPU mode)
python3 -c "import torch; print(f'CUDA Available: {torch.cuda.is_available()}')"

🎮 Adım 10: İnteraktif Kullanım

Sistem çalıştığında:

# İnteraktif chat başlat
python3 test.py

Örnek sorular:

🤔 Sorunuz: Sağlıklı kahvaltı için ne önerirsiniz?
🤔 Sorunuz: Günde kaç bardak su içmeliyim?
🤔 Sorunuz: Egzersiz sonrası ne yemeli?

📥 Adım 11: Kendi Verilerinizi Ekleyin

PDF dosyaları için:

# PDF'lerinizi yükleyin (scp veya başka yöntemle)
# Örnek:
# scp your_fitness_pdfs/*.pdf username@VM_IP:/home/ubuntu/FitTurkAI-RAG/indirilen_pdfler/

# Veya wget ile indirin
cd indirilen_pdfler
wget https://example.com/your_fitness_pdf.pdf

JSON verileri için:

# JSON verilerinizi DATA klasörüne koyun
cd DATA
nano your_fitness_data.json

# Örnek format:
# [
#   {
#     "soru": "Protein kaynakları nelerdir?",
#     "cevap": "Protein kaynakları arasında et, balık, yumurta, baklagiller, kuruyemişler bulunur..."
#   }
# ]

Bilgi tabanını yeniden oluştur:

# Yeni verilerle bilgi tabanını güncelle
python3 -c "
from test import FitnessRAG, RAGConfig
config = RAGConfig()
rag = FitnessRAG(config)
rag.build_knowledge_base(pdf_dir='./indirilen_pdfler', json_dir='./DATA')
print('Knowledge base updated!')
"

🔥 Adım 12: Gelişmiş Kullanım

Script olarak çalıştır:

# Otomatik sorular
python3 -c "
from test import FitnessRAG, RAGConfig
config = RAGConfig()
rag = FitnessRAG(config)

questions = [
    'Sağlıklı kahvaltı önerileri',
    'Egzersiz programı nasıl olmalı',
    'Su tüketimi ne kadar olmalı'
]

for q in questions:
    print(f'Soru: {q}')
    answer = rag.ask(q)
    print(f'Cevap: {answer}\n')
"

API olarak kullan:

# Basit Flask API
nano fitness_api.py
from flask import Flask, request, jsonify
from test import FitnessRAG, RAGConfig

app = Flask(__name__)
config = RAGConfig()
rag = FitnessRAG(config)

@app.route('/ask', methods=['POST'])
def ask_question():
    data = request.json
    question = data.get('question', '')
    answer = rag.ask(question)
    return jsonify({'answer': answer})

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8080)
# API'yi çalıştır
pip3 install flask
python3 fitness_api.py

🎯 Başarı Kontrol Listesi

  • ✅ SSH bağlantısı kuruldu
  • ✅ Sistem durumu kontrol edildi
  • ✅ Python paketleri kuruldu
  • ✅ NLTK verileri hazır
  • ✅ Performance test geçti
  • ✅ İlk model indirmesi tamamlandı
  • ✅ Demo sorular çalışıyor
  • ✅ Kendi veriler eklendi (opsiyonel)
  • ✅ Sistem izleme kuruldu

🆘 Acil Durum Komutları

# Sistem restart (gerekirse)
sudo reboot

# Python process'leri öldür
pkill -f python3

# Disk alanı temizle
sudo apt autoremove
docker system prune -a  # Eğer Docker varsa

# Log'ları kontrol et
tail -f /var/log/syslog
tail -f /var/log/fitturkrai-setup.log

🎉 Kurulum tamamlandığında FitTürkAI sisteminiz maksimum RAM ile CPU'da çalışıyor olacak!