> ## Documentation Index
> Fetch the complete documentation index at: https://novita.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Portkey

> Simplifique o desenvolvimento de IA usando o Portkey AI Gateway com a Novita AI para desempenho rápido, seguro e confiável.

O Portkey AI Gateway transforma a forma como desenvolvedores trabalham com modelos de IA como a Novita AI, fornecendo uma interface unificada para acesso contínuo a vários modelos de linguagem com roteamento rápido, seguro e confiável. Essa integração simplifica o desenvolvimento de IA e melhora o desempenho das aplicações.

Este guia orientará você na configuração do Portkey AI Gateway e, em seguida, na integração da API da Novita AI com o Portkey.

## Como configurar o Portkey AI Gateway

Configurar o Portkey AI Gateway é simples e eficiente, exigindo apenas três etapas principais: configurar o gateway, enviar sua primeira solicitação e otimizar o roteamento e as guardrails para um desempenho contínuo.

### Etapa 1: Configure seu AI Gateway

Para executar o gateway localmente, certifique-se de que Node.js e npm estejam instalados em seu sistema. Quando estiver tudo pronto, execute o seguinte comando:

```jason theme={"system"}
npx @portkey-ai/gateway
```

Depois que o gateway iniciar, duas URLs principais serão exibidas:

* O Gateway: `http://localhost:8787/v1`
* O Console do Gateway: `http://localhost:8787/public/`

### Etapa 2: Faça sua primeira solicitação

Comece instalando a biblioteca Python do Portkey AI:

```python theme={"system"}
pip install -qU portkey-ai
```

Em seguida, execute o seguinte código Python para enviar sua primeira solicitação:

```python theme={"system"}
from portkey_ai import Portkey

# OpenAI compatible client
client = Portkey(
    provider="openai", # or 'anthropic', 'bedrock', 'groq', etc
    Authorization="sk-***" # the provider API key
)

# Make a request through your AI Gateway
client.chat.completions.create(
    messages=[{"role": "user", "content": "What's the weather like?"}],
    model="gpt-4o-mini"
)
```

Monitore facilmente todos os seus logs locais em um único local centralizado usando o Console do Gateway em: `http://localhost:8787/public/`.

### Etapa 3: Roteamento e Guardrails

O Portkey AI Gateway permite configurar regras de roteamento, adicionar recursos de confiabilidade e aplicar guardrails. Abaixo está um exemplo de configuração:

```python theme={"system"}
config = {
  "retry": {"attempts": 5},

  "output_guardrails": [{
    "default.contains": {"operator": "none", "words": ["Apple"]},
    "deny": True
  }]
}

# Attach the config to the client
client = client.with_options(config=config)

client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Reply randomly with Apple or Bat"}]
)

# In this example, the guardrail denies all replies containing "Apple", so the response would always be "Bat". The retry configuration would attempt the request up to 5 times before giving up.
```

<Frame>
  <img src="https://mintcdn.com/novitaai/AUzGFUdz_qhrXjaJ/images/third-party/portkey-gateway.png?fit=max&auto=format&n=AUzGFUdz_qhrXjaJ&q=85&s=f871cd472dd92dfd665afc2a6889f4c8" alt="" width="1210" height="412" data-path="images/third-party/portkey-gateway.png" />
</Frame>

## Como integrar a API da Novita AI com o Portkey

Para acessar a API da Novita AI por meio do Portkey AI Gateway, siga estas etapas:

### Etapa 1: Instale o Portkey SDK

Integre o Portkey SDK à sua aplicação para interagir perfeitamente com a API da Novita AI por meio do gateway do Portkey.

**Node.JS**

```jason theme={"system"}
npm install --save portkey-ai
```

**Python**

```python theme={"system"}
pip install portkey-ai
```

### Etapa 2: Inicialize o Portkey com a Chave Virtual

Para integrar a Novita AI ao Portkey, recupere sua chave de API de LLM em [ Novita AI ](https://novita.ai/settings/key-management) e adicione-a ao Portkey para gerar a chave virtual.

**Node.JS SDK**

```jason theme={"system"}
import Portkey from 'portkey-ai'

const portkey = new Portkey({
  apiKey: "PORTKEY_API_KEY",  // Replace with your Portkey API key
  virtualKey: "VIRTUAL_KEY"   // Replace with your virtual key for Novita AI
})
```

**Python SDK**

```python theme={"system"}
from portkey_ai import Portkey

portkey = Portkey(
    api_key="PORTKEY_API_KEY",  # Replace with your Portkey API key
    virtual_key="VIRTUAL_KEY"   # Replace with your virtual key for Novita AI
)
```

### Etapa 3: Invoque Chat Completions com a Novita AI

Utilize a instância do Portkey para enviar solicitações à Novita AI. Se necessário, você pode substituir a chave virtual diretamente na chamada da API.

**Node.JS SDK**

```jason theme={"system"}
const chatCompletion = await portkey.chat.completions.create({
  messages: [{ role: 'user', content: 'Say this is a test' }],
  model: 'Nous-Hermes-2-Mixtral-8x7B-DPO'
});

console.log(chatCompletion.choices);
```

**Python SDK**

```python theme={"system"}
completion = portkey.chat.completions.create(
    messages= [{ "role": 'user', "content": 'Say this is a test' }],
    model= 'reka-core'
)

print(completion)
```
