API
SDK-Beispiele
Python, Node, .NET, Java, Go — alle OpenAI-Clients funktionieren ohne Patch.
SovrGPT spricht das OpenAI-v1-Schema. Du kannst jedes existierende
OpenAI-SDK verwenden — du musst nur baseURL und apiKey
umstellen.
Python (offizielles openai-SDK)
from openai import OpenAI
client = OpenAI(
api_key="sk-sovr-…",
base_url="https://sovrgpt.com/api/v1",
)
resp = client.chat.completions.create(
model="qwen3.5-9b",
messages=[{"role": "user", "content": "Hallo!"}],
)
print(resp.choices[0].message.content)Streaming:
for chunk in client.chat.completions.create(
model="qwen3.5-9b",
messages=[{"role": "user", "content": "Erzähl einen Witz."}],
stream=True,
):
print(chunk.choices[0].delta.content or "", end="", flush=True)Node.js (offizielles openai-SDK)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.SOVR_KEY,
baseURL: "https://sovrgpt.com/api/v1",
});
const resp = await client.chat.completions.create({
model: "qwen3.5-9b",
messages: [{ role: "user", content: "Hallo!" }],
});
console.log(resp.choices[0].message.content);Vercel AI SDK
import { createOpenAI } from "@ai-sdk/openai";
import { streamText } from "ai";
const sovrgpt = createOpenAI({
apiKey: process.env.SOVR_KEY!,
baseURL: "https://sovrgpt.com/api/v1",
});
const result = streamText({
model: sovrgpt("qwen3.5-9b"),
messages: [{ role: "user", content: "Hallo!" }],
});
for await (const textPart of result.textStream) {
process.stdout.write(textPart);
}.NET (Azure.AI.OpenAI / OpenAI-DotNet)
using OpenAI.Chat;
var client = new ChatClient(
model: "qwen3.5-9b",
credential: new System.ClientModel.ApiKeyCredential("sk-sovr-…"),
options: new()
{
Endpoint = new Uri("https://sovrgpt.com/api/v1"),
});
var resp = await client.CompleteChatAsync(
new UserChatMessage("Hallo!"));
Console.WriteLine(resp.Value.Content[0].Text);Java (langchain4j)
OpenAiChatModel model = OpenAiChatModel.builder()
.apiKey(System.getenv("SOVR_KEY"))
.baseUrl("https://sovrgpt.com/api/v1")
.modelName("qwen3.5-9b")
.build();
String answer = model.generate("Hallo!");
System.out.println(answer);Go (sashabaranov/go-openai)
client := openai.NewClientWithConfig(openai.ClientConfig{
AuthToken: os.Getenv("SOVR_KEY"),
BaseURL: "https://sovrgpt.com/api/v1",
})
resp, _ := client.CreateChatCompletion(ctx, openai.ChatCompletionRequest{
Model: "qwen3.5-9b",
Messages: []openai.ChatCompletionMessage{{Role: "user", Content: "Hallo!"}},
})
fmt.Println(resp.Choices[0].Message.Content)LangChain (Python)
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="qwen3.5-9b",
api_key="sk-sovr-…",
base_url="https://sovrgpt.com/api/v1",
)
print(llm.invoke("Hallo!").content)LiteLLM
import litellm
litellm.api_base = "https://sovrgpt.com/api/v1"
litellm.api_key = "sk-sovr-…"
resp = litellm.completion(
model="openai/qwen3.5-9b",
messages=[{"role": "user", "content": "Hallo!"}],
)(Beachte das openai/-Präfix — LiteLLM braucht das für OpenAI-kompatible Provider.)