| # Developer Guide |
|
|
| **API**: `https://Rox-Turbo-API.hf.space` |
|
|
| ## Overview |
|
|
| Rox AI provides 8 AI models through a REST API. OpenAI-compatible. |
|
|
| ## Quick Start |
|
|
| ```bash |
| curl -X POST https://Rox-Turbo-API.hf.space/chat \ |
| -H "Content-Type: application/json" \ |
| -d '{ |
| "messages": [ |
| {"role": "user", "content": "Hello"} |
| ] |
| }' |
| ``` |
|
|
| Response: |
| ```json |
| { |
| "content": "Hello! I'm Rox Core..." |
| } |
| ``` |
|
|
| ## Basic Usage |
|
|
| ### Python |
|
|
| ```python |
| import requests |
| |
| def ask_rox(message, model='chat'): |
| response = requests.post( |
| f'https://Rox-Turbo-API.hf.space/{model}', |
| json={'messages': [{'role': 'user', 'content': message}]} |
| ) |
| return response.json()['content'] |
| |
| answer = ask_rox('What is AI?') |
| print(answer) |
| ``` |
|
|
| ### JavaScript |
|
|
| ```javascript |
| async function askRox(message, model = 'chat') { |
| const response = await fetch(`https://Rox-Turbo-API.hf.space/${model}`, { |
| method: 'POST', |
| headers: { 'Content-Type': 'application/json' }, |
| body: JSON.stringify({ |
| messages: [{ role: 'user', content: message }] |
| }) |
| }); |
| return (await response.json()).content; |
| } |
| |
| const answer = await askRox('What is AI?'); |
| ``` |
|
|
| ## System Prompts |
|
|
| Add custom behavior: |
|
|
| ```python |
| def ask_with_prompt(message, system_prompt, model='chat'): |
| response = requests.post( |
| f'https://Rox-Turbo-API.hf.space/{model}', |
| json={ |
| 'messages': [ |
| {'role': 'system', 'content': system_prompt}, |
| {'role': 'user', 'content': message} |
| ] |
| } |
| ) |
| return response.json()['content'] |
| |
| answer = ask_with_prompt( |
| 'Tell me about AI', |
| 'You are a pirate. Talk like a pirate.', |
| 'chat' |
| ) |
| ``` |
|
|
| ## Parameters |
|
|
| ### Temperature |
|
|
| Controls randomness (0.0 = focused, 2.0 = creative): |
|
|
| ```python |
| response = requests.post( |
| 'https://Rox-Turbo-API.hf.space/chat', |
| json={ |
| 'messages': [{'role': 'user', 'content': 'Write a poem'}], |
| 'temperature': 1.5 |
| } |
| ) |
| ``` |
|
|
| ### Top P |
|
|
| Controls diversity (0.0 = narrow, 1.0 = diverse): |
|
|
| ```python |
| response = requests.post( |
| 'https://Rox-Turbo-API.hf.space/chat', |
| json={ |
| 'messages': [{'role': 'user', 'content': 'What is 2+2?'}], |
| 'temperature': 0.3, |
| 'top_p': 0.7 |
| } |
| ) |
| ``` |
|
|
| ### Max Tokens |
|
|
| Limits response length: |
|
|
| ```python |
| response = requests.post( |
| 'https://Rox-Turbo-API.hf.space/chat', |
| json={ |
| 'messages': [{'role': 'user', 'content': 'Brief summary'}], |
| 'max_tokens': 100 |
| } |
| ) |
| ``` |
|
|
| ## OpenAI SDK |
|
|
| Use the official OpenAI SDK: |
|
|
| ### Python |
|
|
| ```python |
| from openai import OpenAI |
| |
| client = OpenAI( |
| base_url="https://Rox-Turbo-API.hf.space", |
| api_key="not-needed" |
| ) |
| |
| response = client.chat.completions.create( |
| model="chat", |
| messages=[{"role": "user", "content": "Hello"}] |
| ) |
| |
| print(response.choices[0].message.content) |
| ``` |
|
|
| ### JavaScript |
|
|
| ```javascript |
| import OpenAI from 'openai'; |
| |
| const client = new OpenAI({ |
| baseURL: 'https://Rox-Turbo-API.hf.space', |
| apiKey: 'not-needed' |
| }); |
| |
| const response = await client.chat.completions.create({ |
| model: 'chat', |
| messages: [{ role: 'user', content: 'Hello' }] |
| }); |
| |
| console.log(response.choices[0].message.content); |
| ``` |
|
|
| ## Model Selection |
|
|
| ```python |
| # General conversation |
| ask_rox('Tell me about AI', model='chat') |
| |
| # Fast response |
| ask_rox('What is 2+2?', model='turbo') |
| |
| # Code generation |
| ask_rox('Write a Python function', model='coder') |
| |
| # Advanced reasoning |
| ask_rox('Explain quantum physics', model='turbo45') |
| |
| # Complex tasks |
| ask_rox('Design a system', model='ultra') |
| |
| # Long documents |
| ask_rox('Analyze this document...', model='dyno') |
| |
| # Advanced coding |
| ask_rox('Build an algorithm', model='coder7') |
| |
| # Visual tasks |
| ask_rox('Describe this image', model='vision') |
| ``` |
|
|
| ## Conversation History |
|
|
| Maintain context: |
|
|
| ```python |
| conversation = [ |
| {'role': 'user', 'content': 'My name is Alice'}, |
| {'role': 'assistant', 'content': 'Nice to meet you, Alice!'}, |
| {'role': 'user', 'content': 'What is my name?'} |
| ] |
| |
| response = requests.post( |
| 'https://Rox-Turbo-API.hf.space/chat', |
| json={'messages': conversation} |
| ) |
| |
| print(response.json()['content']) # "Your name is Alice" |
| ``` |
|
|
| ## Chatbot Example |
|
|
| ### Python |
|
|
| ```python |
| class RoxChatbot: |
| def __init__(self, model='chat'): |
| self.model = model |
| self.conversation = [] |
| self.base_url = 'https://Rox-Turbo-API.hf.space' |
| |
| def chat(self, message): |
| self.conversation.append({'role': 'user', 'content': message}) |
| |
| response = requests.post( |
| f'{self.base_url}/{self.model}', |
| json={'messages': self.conversation} |
| ) |
| |
| reply = response.json()['content'] |
| self.conversation.append({'role': 'assistant', 'content': reply}) |
| return reply |
| |
| def clear(self): |
| self.conversation = [] |
| |
| bot = RoxChatbot() |
| print(bot.chat('Hello')) |
| print(bot.chat('What is AI?')) |
| print(bot.chat('Tell me more')) |
| ``` |
|
|
| ### JavaScript |
|
|
| ```javascript |
| class RoxChatbot { |
| constructor(model = 'chat') { |
| this.model = model; |
| this.conversation = []; |
| this.baseUrl = 'https://Rox-Turbo-API.hf.space'; |
| } |
| |
| async chat(message) { |
| this.conversation.push({ role: 'user', content: message }); |
| |
| const response = await fetch(`${this.baseUrl}/${this.model}`, { |
| method: 'POST', |
| headers: { 'Content-Type': 'application/json' }, |
| body: JSON.stringify({ messages: this.conversation }) |
| }); |
| |
| const data = await response.json(); |
| const reply = data.content; |
| |
| this.conversation.push({ role: 'assistant', content: reply }); |
| return reply; |
| } |
| |
| clear() { |
| this.conversation = []; |
| } |
| } |
| |
| const bot = new RoxChatbot(); |
| console.log(await bot.chat('Hello')); |
| console.log(await bot.chat('What is AI?')); |
| ``` |
|
|
| ## Error Handling |
|
|
| ```python |
| def safe_ask(message, model='chat'): |
| try: |
| response = requests.post( |
| f'https://Rox-Turbo-API.hf.space/{model}', |
| json={'messages': [{'role': 'user', 'content': message}]}, |
| timeout=30 |
| ) |
| response.raise_for_status() |
| return response.json()['content'] |
| except requests.exceptions.Timeout: |
| return "Request timed out" |
| except requests.exceptions.RequestException as e: |
| return f"Error: {str(e)}" |
| ``` |
|
|
| ## Rate Limiting |
|
|
| ```python |
| import time |
| |
| class RateLimiter: |
| def __init__(self, max_requests=10, time_window=60): |
| self.max_requests = max_requests |
| self.time_window = time_window |
| self.requests = [] |
| |
| def can_request(self): |
| now = time.time() |
| self.requests = [r for r in self.requests if now - r < self.time_window] |
| return len(self.requests) < self.max_requests |
| |
| def record_request(self): |
| self.requests.append(time.time()) |
| |
| limiter = RateLimiter(10, 60) |
| |
| def ask_with_limit(message): |
| if not limiter.can_request(): |
| return "Rate limit exceeded" |
| limiter.record_request() |
| return ask_rox(message) |
| ``` |
|
|
| ## Caching |
|
|
| ```python |
| from functools import lru_cache |
| |
| @lru_cache(maxsize=100) |
| def cached_ask(message, model='chat'): |
| response = requests.post( |
| f'https://Rox-Turbo-API.hf.space/{model}', |
| json={'messages': [{'role': 'user', 'content': message}]} |
| ) |
| return response.json()['content'] |
| |
| answer1 = cached_ask('What is AI?') # API call |
| answer2 = cached_ask('What is AI?') # Cached |
| ``` |
|
|
| ## Reference |
|
|
| ```python |
| # Basic request |
| requests.post('https://Rox-Turbo-API.hf.space/chat', |
| json={'messages': [{'role': 'user', 'content': 'Hello'}]}) |
| |
| # With parameters |
| requests.post('https://Rox-Turbo-API.hf.space/chat', |
| json={'messages': [...], 'temperature': 0.7, 'max_tokens': 500}) |
| |
| # With system prompt |
| requests.post('https://Rox-Turbo-API.hf.space/chat', |
| json={'messages': [ |
| {'role': 'system', 'content': 'You are helpful'}, |
| {'role': 'user', 'content': 'Hello'} |
| ]}) |
| ``` |
|
|
| ## Endpoints |
|
|
| - `/chat` - Rox Core |
| - `/turbo` - Rox 2.1 Turbo |
| - `/coder` - Rox 3.5 Coder |
| - `/turbo45` - Rox 4.5 Turbo |
| - `/ultra` - Rox 5 Ultra |
| - `/dyno` - Rox 6 Dyno |
| - `/coder7` - Rox 7 Coder |
| - `/vision` - Rox Vision Max |
|
|
| --- |
|
|
| Built by Mohammad Faiz |
|
|