HomeDocsIntrodução

Documentação Yalla API

Bem-vindo à plataforma de desenvolvedores da Yalla. Aqui você encontrará tudo o que precisa para integrar nossos modelos de IA de última geração em seus aplicativos.

Novidade: O modelo yalla agora suporta janelas de contexto de 200k tokens.

Quickstart

Comece a usar a API Yalla em menos de 5 minutos. Este guia rápido mostra como fazer sua primeira chamada à API.

1. Obtenha sua Chave de API

Primeiro, você precisa de uma chave de API. Acesse o Console Yalla e crie uma conta gratuita para obter sua chave.

2. Instale o SDK (Opcional)

Para Python, instale nosso SDK oficial:

bash
pip install yalla-ai

3. Faça sua Primeira Chamada

Aqui está um exemplo simples usando cURL:

bash
curl https://api.yalla-ia.com.br/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YALLA_API_KEY" \
  -d '{
    "model": "yalla",
    "messages": [
      {"role": "user", "content": "Olá! Quem é você?"}
    ]
  }'

Ou usando Python:

python
from yalla import Yalla

client = Yalla(api_key="yalla-sk-...")

response = client.chat.completions.create(
    model="yalla",
    messages=[
        {"role": "user", "content": "Olá! Quem é você?"}
    ]
)

print(response.choices[0].message.content)
Dica: Substitua $YALLA_API_KEY pela sua chave real. Nunca compartilhe sua chave publicamente!

Autenticação

A API da Yalla usa chaves de API para autenticação. Visite o Console Yalla para obter sua chave. Lembre-se de que sua chave API é um segredo; não a compartilhe nem a exponha em código do lado do cliente (browsers).

Todas as solicitações de API devem incluir sua chave em um cabeçalho HTTP Authorization da seguinte forma:

Authorization Header
Authorization: Bearer YALLA_API_KEY

Formato da Chave

As chaves de API da Yalla seguem o formato: yalla-sk-...

Teste sua Autenticação

Insira sua chave de API abaixo para verificar se está ativa. Simulação local.

Segurança: Nunca exponha sua chave de API em repositórios públicos, código do lado do cliente ou em variáveis de ambiente não seguras. Use variáveis de ambiente ou serviços de gerenciamento de segredos.

Chat Completions

Crie respostas de modelo para uma conversa de bate-papo fornecida. Este é o endpoint principal para interagir com os modelos Yalla.

POST/v1/chat/completions

Parâmetros do Corpo (Body)

ParâmetroTipoDescrição
modelstringID do modelo a ser usado (ex: yalla).
messagesarrayUma lista de mensagens que compõem a conversa até agora.
temperaturenumberOpcional. Valor entre 0 e 2. Valores mais altos significam saída mais aleatória.

Exemplo de Requisição

bash
curl https://api.yalla-ia.com.br/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YALLA_API_KEY" \
  -d '{
    "model": "yalla",
    "messages": [
      {"role": "system", "content": "Você é um assistente útil."},
      {"role": "user", "content": "Quem ganhou a Copa de 2002?"}
    ]
  }'

Exemplo de Resposta

json
{
  "id": "chatcmpl-123",
  "object": "chat.completion",
  "created": 1677652288,
  "model": "yalla",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "O Brasil ganhou a Copa do Mundo de 2002, vencendo a Alemanha por 2 a 0 na final."
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 19,
    "completion_tokens": 22,
    "total_tokens": 41
  }
}

Embeddings

Obtenha representações vetoriais de texto que podem ser facilmente consumidas por algoritmos de machine learning e modelos de similaridade. Os embeddings são úteis para busca semântica, clustering e classificação.

POST/v1/embeddings

Parâmetros

ParâmetroTipoDescrição
modelstringID do modelo de embedding (ex: yalla-embedding-v2).
inputstring | arrayTexto ou array de textos para gerar embeddings.

Exemplo

bash
curl https://api.yalla-ia.com.br/v1/embeddings \
  -H "Authorization: Bearer $YALLA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "yalla-embedding-v2",
    "input": "O deserto se transforma em oásis com inteligência."
  }'

Resposta

json
{
  "object": "list",
  "data": [{
    "object": "embedding",
    "embedding": [0.0023064255, -0.009327292, ...],
    "index": 0
  }],
  "model": "yalla-embedding-v2",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}

Models

Liste e obtenha informações sobre os modelos disponíveis na API Yalla.

GET/v1/models

Listar Todos os Modelos

bash
curl https://api.yalla-ia.com.br/v1/models \
  -H "Authorization: Bearer $YALLA_API_KEY"

Resposta

json
{
  "object": "list",
  "data": [
    {
      "id": "yalla",
      "object": "model",
      "created": 1677610602,
      "owned_by": "yalla-ai",
      "permission": [...],
      "root": "yalla",
      "parent": null
    },
    {
      "id": "yalla-embedding-v2",
      "object": "model",
      "created": 1677649603,
      "owned_by": "yalla-ai",
      "permission": [...],
      "root": "yalla-embedding-v2",
      "parent": null
    }
  ]
}

Modelos Disponíveis

ModeloDescriçãoContexto
yallaModelo principal para chat e completions200k tokens
yalla-embedding-v2Modelo de embeddings de alta qualidade8k tokens

Files

A API de Files permite fazer upload de documentos que podem ser usados com recursos como Assistants e Fine-tuning. Os arquivos são armazenados de forma segura e podem ser referenciados por ID.

Upload de Arquivo

POST/v1/files
bash
curl https://api.yalla-ia.com.br/v1/files \
  -H "Authorization: Bearer $YALLA_API_KEY" \
  -F "file=@documento.pdf" \
  -F "purpose=assistants"

Listar Arquivos

GET/v1/files
bash
curl https://api.yalla-ia.com.br/v1/files \
  -H "Authorization: Bearer $YALLA_API_KEY"

Obter Arquivo

GET/v1/files/{file_id}
bash
curl https://api.yalla-ia.com.br/v1/files/file-abc123 \
  -H "Authorization: Bearer $YALLA_API_KEY"

Deletar Arquivo

DELETE/v1/files/{file_id}
bash
curl https://api.yalla-ia.com.br/v1/files/file-abc123 \
  -X DELETE \
  -H "Authorization: Bearer $YALLA_API_KEY"
Formatos Suportados: PDF, TXT, JSON, CSV, MD. Tamanho máximo: 512MB por arquivo.

SDK Python

O SDK oficial da Yalla para Python oferece uma interface simples e intuitiva para interagir com nossa API.

Instalação

bash
pip install yalla-ai

Uso Básico

python
from yalla import Yalla

# Inicialize o cliente
client = Yalla(api_key="yalla-sk-...")

# Chat Completions
response = client.chat.completions.create(
    model="yalla",
    messages=[
        {"role": "user", "content": "Olá! Quem é você?"}
    ]
)

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

Embeddings

python
# Gerar embeddings
embeddings = client.embeddings.create(
    model="yalla-embedding-v2",
    input="Transformando o deserto em oásis."
)

print(embeddings.data[0].embedding)

SDK Node.js

SDK TypeScript/JavaScript oficial para integração com Node.js, Deno e ambientes de navegador.

Instalação

bash
npm install yalla-ai

Uso Básico

javascript
import Yalla from 'yalla-ai';

const client = new Yalla({
  apiKey: 'yalla-sk-...',
});

// Chat Completions
const response = await client.chat.completions.create({
  model: 'yalla',
  messages: [
    { role: 'user', content: 'Olá! Quem é você?' }
  ],
});

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

Com TypeScript

typescript
import Yalla from 'yalla-ai';
import type { ChatCompletion } from 'yalla-ai';

const client = new Yalla({
  apiKey: process.env.YALLA_API_KEY!,
});

const completion: ChatCompletion = await client.chat.completions.create({
  model: 'yalla',
  messages: [{ role: 'user', content: 'Hello!' }],
});

SDK Go

SDK oficial para Go, projetado para alta performance e concorrência.

Instalação

bash
go get github.com/yalla-ai/yalla-go

Uso Básico

go
package main

import (
    "context"
    "fmt"
    "github.com/yalla-ai/yalla-go"
)

func main() {
    client := yalla.NewClient("yalla-sk-...")
    
    ctx := context.Background()
    
    req := yalla.ChatCompletionRequest{
        Model: "yalla",
        Messages: []yalla.Message{
            {Role: "user", Content: "Olá! Quem é você?"},
        },
    }
    
    resp, err := client.CreateChatCompletion(ctx, req)
    if err != nil {
        panic(err)
    }
    
    fmt.Println(resp.Choices[0].Message.Content)
}

SDK Rust

SDK Rust seguro e performático, ideal para aplicações de sistemas críticos.

Instalação

toml
[dependencies]
yalla-ai = "0.1.0"

Uso Básico

rust
use yalla_ai::{YallaClient, ChatCompletionRequest, Message};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = YallaClient::new("yalla-sk-...")?;
    
    let request = ChatCompletionRequest {
        model: "yalla".to_string(),
        messages: vec![
            Message {
                role: "user".to_string(),
                content: "Olá! Quem é você?".to_string(),
            },
        ],
        ..Default::default()
    };
    
    let response = client.create_chat_completion(request).await?;
    println!("{}", response.choices[0].message.content);
    
    Ok(())
}