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
- cloud.brsxlabs.com adresinde giriş yap.
- Sol menüden Kullanıcı Paneli'ni aç.
- API Anahtarların bölümünden + Yeni Key ile bir key oluştur.
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| brsxcloud-0.7.0.tar.gz | 15.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|