chore: rename project and all references to qorona
This commit is contained in:
@@ -1,15 +1,16 @@
|
||||
# q38max
|
||||
# qorona
|
||||
|
||||
Standalone, zero-dependency OpenAI-compatible proxy gateway in Go for the **Qwen 3.8 Max** model (`Qwen/Qwen3.8-Max`) hosted on Hugging Face Spaces (`harpreetsahota-qwen38-max-openlogo-demo.hf.space`).
|
||||
|
||||
## Overview
|
||||
|
||||
`q38max` reverse-engineers the FiftyOne plugin backend operator interface of the Hugging Face space and transforms it into a standard, production-ready OpenAI API endpoint (`/v1/chat/completions` and `/v1/models`).
|
||||
`qorona` reverse-engineers the FiftyOne plugin backend operator interface of the Hugging Face space and transforms it into a standard, production-ready OpenAI API endpoint (`/v1/chat/completions` and `/v1/models`).
|
||||
|
||||
### Features
|
||||
|
||||
- **OpenAI Standard Compatibility**: Full drop-in replacement for OpenAI API clients (Curl, Python `openai`, LangChain, LiteLLM, Open-WebUI).
|
||||
- **Zero External Dependencies**: Pure standard library Go implementation (`net/http`, `encoding/json`, `crypto/rand`, `time`).
|
||||
- **Fully Headless & Browserless**: No Chromium, Playwright, or X11 required. Runs directly on bare servers, containers, or embedded systems.
|
||||
- **Live Streaming SSE & Reasoning**: Streams real-time tokens with separation of reasoning content (`delta.reasoning_content`) and message content (`delta.content`).
|
||||
- **Function / Tool Calling Interception**: Supports OpenAI `tools` specification, system prompt tool schema injection, and stateful streaming interception of tool calls (`delta.tool_calls` and `finish_reason: "tool_calls"`).
|
||||
- **Session Lifecycle Management**: Thread-safe automatic session creation (`/__session/start`), periodic background heartbeats (`/__session/heartbeat`), and auto-reconnect recovery.
|
||||
@@ -21,7 +22,7 @@ Standalone, zero-dependency OpenAI-compatible proxy gateway in Go for the **Qwen
|
||||
|
||||
```
|
||||
+---------------------------+ OpenAI HTTP / SSE +------------------------+
|
||||
| Client (Python / Curl / | ===========================> | q38max Gateway |
|
||||
| Client (Python / Curl / | ===========================> | qorona Gateway |
|
||||
| OpenAI SDK / Open-WebUI) | | (localhost:8080) |
|
||||
+---------------------------+ +------------------------+
|
||||
|
|
||||
@@ -48,14 +49,14 @@ Standalone, zero-dependency OpenAI-compatible proxy gateway in Go for the **Qwen
|
||||
|
||||
### Build
|
||||
```bash
|
||||
make q38max
|
||||
make qorona
|
||||
```
|
||||
|
||||
Binary is output to `bin/q38max`.
|
||||
Binary is output to `bin/qorona`.
|
||||
|
||||
### Run
|
||||
```bash
|
||||
./bin/q38max -port 8080
|
||||
./bin/qorona -port 8080
|
||||
```
|
||||
|
||||
### CLI Flags
|
||||
@@ -84,7 +85,7 @@ curl http://localhost:8080/v1/models
|
||||
curl -X POST http://localhost:8080/v1/chat/completions \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "qwen-3.8-max",
|
||||
"model": "qorona",
|
||||
"messages": [
|
||||
{"role": "user", "content": "What is the capital of Germany? Answer in 1 word."}
|
||||
],
|
||||
@@ -98,7 +99,7 @@ curl -X POST http://localhost:8080/v1/chat/completions \
|
||||
curl -N -X POST http://localhost:8080/v1/chat/completions \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "qwen-3.8-max",
|
||||
"model": "qorona",
|
||||
"messages": [
|
||||
{"role": "user", "content": "Calculate 25 * 25 and explain in one sentence."}
|
||||
],
|
||||
@@ -113,7 +114,7 @@ curl -N -X POST http://localhost:8080/v1/chat/completions \
|
||||
curl -X POST http://localhost:8080/v1/chat/completions \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"model": "qwen-3.8-max",
|
||||
"model": "qorona",
|
||||
"messages": [
|
||||
{"role": "user", "content": "What is the weather in Berlin?"}
|
||||
],
|
||||
@@ -147,7 +148,7 @@ client = OpenAI(
|
||||
)
|
||||
|
||||
response = client.chat.completions.create(
|
||||
model="qwen-3.8-max",
|
||||
model="qorona",
|
||||
messages=[
|
||||
{"role": "user", "content": "Write a short haiku about computers."}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user