🤖 Gemma 4 AI API

Self-hosted, private, and OpenAI-compatible

API is live and ready

📊 Quick Stats

Model: gemma4:e2b 2B parameters
API Base URL: https://llm.rielles.net/v1
Status: 🟢 Online
Security: 🔒 HTTPS/SSL

📡 API Endpoints

GET /v1/models
List available models
POST /v1/chat/completions
Chat with AI
POST /v1/completions
Text completion
POST /v1/embeddings
Generate embeddings

🧠 Available Models

💡 Pull additional models: ollama pull gemma4:4b or ollama pull llama3.2

🚀 Usage Examples

🐍 Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
  api_key="any-value", # Ollama doesn't validate this
  base_url="https://llm.rielles.net/v1"
)

response = client.chat.completions.create(
  model="gemma4:e2b",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Explain AI in simple terms."}
  ],
  temperature=0.7
)

print(response.choices[0].message.content)

📦 JavaScript (Node.js)

import OpenAI from "openai";

const openai = new OpenAI({
  apiKey: "any-value",
  baseURL: "https://llm.rielles.net/v1"
});

const response = await openai.chat.completions.create({
  model: "gemma4:e2b",
  messages: [
    { role: "user", content: "Tell me a joke." }
  ]
});

console.log(response.choices[0].message.content);

🔄 cURL

# List models
curl https://llm.rielles.net/v1/models

# Chat completion
curl https://llm.rielles.net/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4:e2b",
    "messages": [
      {"role": "user", "content": "What is 2+2?"}
    ],
    "stream": false
  }'


# Streaming response
curl -N https://llm.rielles.net/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4:e2b",
    "messages": [
      {"role": "user", "content": "Tell me a story"}

🔗 LangChain

from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
  base_url="https://llm.rielles.net/v1",
  api_key="any-value",
  model="gemma4:e2b"
)

response = llm.invoke("What is the capital of Japan?")
print(response.content)

🖥️ .NET / C#

using OpenAI;
using OpenAI.Chat;

var client = new OpenAIClient(
  new OpenAIAuthentication("any-value"),
  new OpenAIClientSettings {
    BaseUri = new Uri("https://llm.rielles.net/v1")
  }
);

var request = new ChatRequest {
  Model = "gemma4:e2b",
  Messages = new List<ChatMessage> {
    new ChatMessage("user", "Hello!")
  }
};

var response = await client.ChatEndpoint.GetCompletionAsync(request);

🐹 Go

package main

import (
  "fmt"
  "github.com/sashabaranov/go-openai"
)

func main() {
  client := openai.NewClient("any-value")
  client.BaseURL = "https://llm.rielles.net/v1"

  resp, err := client.CreateChatCompletion(
    ctx,
    openai.ChatCompletionRequest{
      Model: "gemma4:e2b",
      Messages: []openai.ChatCompletionMessage{
        {Role: "user", Content: "Hello!"},
      },
    }
  )

  fmt.Println(resp.Choices[0].Message.Content)
}

⚡ Quick Test

Copy and run this command to test the API:

$ curl https://llm.rielles.net/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemma4:e2b",
    "messages": [
      {"role": "user", "content": "Hello! How are you?"}
    ],
    "stream": false
  }'

🔑 API Key Management

Manage your API keys through the secure management interface.

🔐 Manage API Keys