Skip to main content

brsxcloud

BRSX-Cloud için resmi Python client. Chat edilebilir olarak paylaşılmış modellere kendi API key'inle, kod içinden erişmeni sağlar.

Kurulum

pip install brsxcloud

API Key Alma

  1. cloud.brsxlabs.com adresinde giriş yap.
  2. Sol menüden Kullanıcı Paneli'ni aç.
  3. API Anahtarların bölümünden + Yeni Key ile bir key oluştur.
  4. Key sadece o an gösterilir, hemen kopyala — bir daha görüntülenmez.

Her key için günlük istek limiti vardır (panelde görebilirsin).

En Hızlı Başlangıç: api.run()

Hiç kod yazmadan, tek satırla bir modelle sohbete başla:

from brsxcloud import api

api.run()

İlk çalıştırmada mod, (gerekiyorsa) model ID ve API key sorulur; cevaplar çalışma dizinindeki brsxcloud.json dosyasına kaydedilir. Sonraki her çalıştırmada (aynı klasörden) hiç soru sormadan o dosyadan okunur. Çıkmak için q yaz.

Modlar:

Mod Ne yapar
Normal Seçtiğin modelle konuşursun, cevap kelime kelime akar
Maestro Sorunun türü belirlenir, o alanda benchmark'ta en iyi puanı almış modele gider
Maestro Hyper Soru parçalara ayrılır, her parça kendi alanının en iyi modeline gider, cevaplar birleştirilir

Maestro modları benchmark sonuçlarına dayanır: matematik sorusu Matematik kategorisinde en yüksek puanı almış modele, kod sorusu Kod'da en iyisine yönlendirilir. Skor sorunun diline göre seçilir — bir model Türkçede zayıf, İngilizcede güçlü olabilir.

Maestro'yu Koddan Kullanma

from brsxcloud import Client

client = Client("brsxk_...")

# Tek kategori — en iyi modele yönlendirir
sonuc = client.maestro("Bir havuzu A musluğu 6 saatte dolduruyor...")
print(sonuc["reply"])
print(sonuc["maestro"]["kategori"], "->", sonuc["maestro"]["model_adi"])

# Karışık soru — parçalara ayırıp her parçayı uzmanına gönderir
sonuc = client.maestro_hyper("Bileşik faiz hesaplayan bir Python fonksiyonu yaz, formülü açıkla ve uygulamaya isim öner.")
print(sonuc["reply"])
for p in sonuc["maestro_hyper"]["parcalar"]:
    print(p["kategori"], "->", p["model_adi"])

Manuel Kullanım: Client

Kendi uygulamana entegre etmek istersen Client sınıfını doğrudan kullan:

from brsxcloud import Client

client = Client("brsxk_...")  # kendi API key'in

reply = client.chat(model_id=1, message="Merhaba, nasılsın?")
print(reply)

model_id'yi, BRSX-Cloud'daki Modeller sekmesinde ya da Kullanıcı Paneli'ndeki model kartının üzerindeki ID etiketinden öğrenebilirsin (tıklayınca kopyalanır).

Streaming: Kelime Kelime Akan Cevap

Cevabın tamamı üretilene kadar beklemek yerine, model ürettikçe parça parça almak için chat_stream() kullan:

from brsxcloud import Client

client = Client("brsxk_...")

for chunk in client.chat_stream(model_id=1, message="Merhaba, nasılsın?"):
    print(chunk, end="", flush=True)
print()

chat() ile birebir aynı kota ve erişim kurallarına tabi, sadece cevabı bir generator olarak döner. Model sahibinin chat.py'sinde yield kullanıp kullanmamasına bağlı olarak gerçek token-token akış ya da tek parça halinde gelebilir — ikisinde de chat_stream() çalışır.

Hata Yönetimi

from brsxcloud import Client, BrsxCloudError

client = Client("brsxk_...")

try:
    reply = client.chat(model_id=1, message="Selam")
    print(reply)
except BrsxCloudError as e:
    print(f"Hata: {e.message} (durum kodu: {e.status_code})")

chat_stream() ile de aynı şekilde çalışır — hata akış sırasında da fırlatılabilir:

try:
    for chunk in client.chat_stream(model_id=1, message="Selam"):
        print(chunk, end="", flush=True)
    print()
except BrsxCloudError as e:
    print(f"\nHata: {e.message} (durum kodu: {e.status_code})")

Olası hatalar: geçersiz/iptal edilmiş API key, günlük kota aşımı, model bulunamadı, model chat için paylaşılmamış, model çalıştırılırken hata.

Yükleme

En kolay yol interaktif akış — hiçbir parametre ezberlemene gerek yok:

from brsxcloud import api

api.upload()

Ne yükleyeceğini (model klasörü / GGUF / Fast Answers), yolu ve ayarları adım adım sorar. GGUF seçersen temperature ve context uzunluğunu da sorar, boş bırakırsan varsayılanı kullanır. Yükleme sırasında ilerleme çubuğu gösterir.

API key'i brsxcloud.json'dan okur; yoksa bir kez sorup kaydeder.

Koddan yükleme

Otomasyon için doğrudan da çağırabilirsin:

from brsxcloud import Client

client = Client("brsxk_...")

# SafeTensors/PT klasörü (içinde chat.py olmalı)
client.upload_model("./modelim", name="Modelim", description="Denemeler")

# GGUF dosyası — Ollama akışı, Modelfile parametreleri burada verilir
client.upload_model("./model.gguf", name="Qwen 0.5B",
                    temperature=0.8, num_ctx=4096,
                    system_prompt="Sen yardımsever bir asistansın.")

Hangi akışın kullanılacağı uzantıdan anlaşılır: .gguf ise Ollama, klasör ise SafeTensors/PT.

İlerlemeyi izlemek istersen:

def ilerleme(gonderilen, toplam):
    print(f"\r{gonderilen * 100 // toplam}%", end="")

client.upload_model("./modelim", name="Modelim", on_progress=ilerleme)

Diğer parametreler: chat_enabled (varsayılan True), open_source (False), use_gpu (True).

Fast Answers

Hazır soru-cevap çiftleri yükleyebilirsin. Bir soru havuzda varsa cevap anında döner — model hiç çalışmaz, bu hem hızlı hem GPU'yu meşgul etmez.

client.upload_fast_answers("./sorular.json")

Desteklenen biçimler: .json, .jsonl, .csv, .parquet, .txt

[
  {"soru": "Türkiye'nin başkenti neresidir?", "cevap": "Ankara"},
  {"soru": "2+2 kaç eder?", "cevap": "4"}
]

Alan adları esnek: soru/question/q/prompt, cevap/answer/a/response. CSV'de başlık satırı zorunlu, düz metinde S: / C: biçimi kullanılır.

Yüklenen her çift bir hakem modelden geçer; hatalı, alakasız ya da anlamsız olanlar elenir. İnceleme arka planda yapılır, sonucu sitedeki Fast Answers sekmesinden görebilirsin.

Eşleştirme yapılırken noktalama ve fazla boşluk yok sayılır — "2+2 kaç eder?" ile "2+2 kaç eder" aynı soru sayılır. Sohbette hazır cevap kullanıldığında yanıtın altında ⚡ işareti çıkar.

Lisans

MIT

Release files for brsxcloud 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for brsxcloud 0.7.0
File Size Uploaded
brsxcloud-0.7.0.tar.gz 15.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for brsxcloud 0.7.0
File Interpreter ABI Platform
brsxcloud-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 28.2 kB

Release files / brsxcloud-0.7.0.tar.gz

Download URL brsxcloud-0.7.0.tar.gz
Size 15.1 kB
Tags Source
SHA-256 checksum
How to use checksums
11d1a16e31331d4d83a51702f4e8a4857f9e7ab7f93b0d089a705206e0ad3264
BLAKE2b-256 checksum
How to use checksums
f35728b026f91b79539a612e9de063395b691e4eaf3e2a22cb426db5decdad26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.10

Release files / brsxcloud-0.7.0-py3-none-any.whl

Download URL brsxcloud-0.7.0-py3-none-any.whl
Size 13.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0189cd3b9158ad82c6b650bdec326426c276443eac3724f4b5c17c39f79b4ed1
BLAKE2b-256 checksum
How to use checksums
525383c379a346a662d524f007dabbd306ab68cbf62cab8a984ce6c9fcc8ad50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.10

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page