Ana içeriğe geç

Çıkarım API'leri

OpenAI Uyumlu API'ler

GPUStack, /v1 uç noktasında OpenAI uyumlu API'ler sağlar.

GPUStack'te dağıtılan modelleri, OpenAI uyumlu API'yi destekleyen herhangi bir uygulama veya çerçeveyle, yalnızca GPUStack'in OpenAI uyumlu uç noktasına işaret ederek entegre edebilir ve kullanabilirsiniz.

Desteklenen Uç Noktalar

Aşağıdaki API uç noktaları desteklenir:

Kullanım

cURL Örneği

export GPUSTACK_API_KEY=your_api_key
curl http://your_gpustack_server_url/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $GPUSTACK_API_KEY" \
  -d '{
    "model": "qwen3",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Hello!"
      }
    ],
    "stream": true
  }'

Anthropic Uyumlu API'ler

GPUStack, Anthropic uyumlu /v1/messages API'yi sağlar.

Kullanım

export GPUSTACK_API_KEY=your_api_key
curl http://your_gpustack_server_url/v1/messages \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $GPUSTACK_API_KEY" \
  -d '{
    "model": "qwen3",
    "messages": [
      {
        "role": "user",
        "content": "Hello!"
      }
    ],
    "max_tokens": 1024
  }'

Jina Uyumlu Yeniden Sıralama API'si

Erişimle Artırılmış Üretim (RAG) bağlamında yeniden sıralama, alınan belgelerden veya bilgi kaynaklarından en uygun bilgilerin kullanıcıya sunulmadan veya yanıt oluşturmak için kullanılmadan önce seçilmesi sürecini ifade eder.

OpenAI uyumlu API'lerin bir rerank uç noktası sağlamadığını unutmayın. Bu boşluğu doldurmak için GPUStack, /v1/rerank yolunda Jina uyumlu bir Rerank API sağlar.

Kullanım

cURL Örneği

export GPUSTACK_API_KEY=your_api_key
curl http://your_gpustack_server_url/v1/rerank \
    -H "Content-Type: application/json" \
    -H "Authorization: Bearer $GPUSTACK_API_KEY" \
    -d '{
        "model": "bge-reranker-v2-m3",
        "query": "What is a panda?",
        "top_n": 3,
        "documents": [
            "hi",
            "it is a bear",
            "The giant panda (Ailuropoda melanoleuca), sometimes called a panda bear or simply panda, is a bear species endemic to China."
        ]
    }' | jq

Örnek çıktı:

{
  "model": "bge-reranker-v2-m3",
  "object": "list",
  "results": [
    {
      "document": {
        "text": "The giant panda (Ailuropoda melanoleuca), sometimes called a panda bear or simply panda, is a bear species endemic to China."
      },
      "index": 2,
      "relevance_score": 1.951932668685913
    },
    {
      "document": {
        "text": "it is a bear"
      },
      "index": 1,
      "relevance_score": -3.7347371578216553
    },
    {
      "document": {
        "text": "hi"
      },
      "index": 0,
      "relevance_score": -6.157620906829834
    }
  ],
  "usage": {
    "prompt_tokens": 69,
    "total_tokens": 69
  }
}

Diğer API'ler

Diğer API türleri için GPUStack, bir modeli dağıtırken Generic Proxy özelliğini etkinleştirmenize olanak tanır.

Etkinleştirildiğinde hedef modele ulaşmanın iki yolu vardır:

Yol tabanlı form (önerilir) — model rota kimliğini doğrudan URL'de /model/proxy/<model_route_id>/<upstream-path> olarak kodlayın. Ekstra başlığa gerek yoktur:

1
2
3
4
5
6
7
export GPUSTACK_API_KEY=your_api_key
# Assume the model route id is 42.
curl http://your_gpustack_server_url/model/proxy/42/embed \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $GPUSTACK_API_KEY" \
  -d '{"inputs": ["What is Deep Learning?", "Deep Learning is not..."]}'

Başlık tabanlı form (kullanımdan kaldırıldı) — /model/proxy/<upstream-path>'ye gönderin ve X-GPUStack-Model başlığı veya JSON gövdesindeki model alanı aracılığıyla hedef modeli belirtin:

1
2
3
4
5
6
curl http://your_gpustack_server_url/model/proxy/embed \
  -X POST \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $GPUSTACK_API_KEY" \
  -H "X-GPUStack-Model: bge-m3" \
  -d '{"inputs": ["What is Deep Learning?", "Deep Learning is not..."]}'

Başlığa dayalı form, geriye dönük uyumluluk amacıyla tutuldu ve gelecekteki bir sürümde kaldırılacaktır; yeni entegrasyonlar yol tabanlı formu kullanmalıdır.

Daha fazla ayrıntı için bkz. Genel Proxy'yi Etkinleştirme.