# OpenAI Integration

All that needs to be done in order to add GPTboost functionality to your LLM app, is add one single line to your code: `openai.api_base = "https://turbo.gptboost.ai/v1`. Next, per each request made to LLM specified, GPTBoost will collect all the essential data for you.&#x20;

{% tabs %}
{% tab title="Python" %}

```python
# This example is for v1+ of the openai: https://pypi.org/project/openai/
from openai import OpenAI

client = OpenAI( 
    # GPTBoost API base URL
    base_url = "https://turbo.gptboost.io/v1",
    api_key = $OPENAI_API_KEY,
)

response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[
        {"role": "user", "content": "Tell me an interesting fact about pandas"},
    ], 
)

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

{% endtab %}

{% tab title="cURL" %}

```powershell
curl --request POST \
--url https://turbo.gptboost.io/v1/chat/completions \
--header 'Authorization: Bearer $OPENAI_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
    "model": "gpt-3.5-turbo",
    "messages": [
        {
            "role": "user",
            "content": "Tell me an interesting fact about koalas!"
        }
    ]
}'
    
```

{% endtab %}

{% tab title="NodeJS" %}

```javascript
// This code is for v4+ of the openai package: npmjs.com/package/openai
import OpenAI from 'openai';

const openai = new OpenAI({
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: "https://turbo.gptboost.io/v1",
});

async function ask_gpt(){ 
    const response = await openai.chat.completions.create({
        model: "gpt-3.5-turbo",
        messages: [{ role: "user", content: "Get me 3 inspirational quotes" }],
    });
    console.log(response.choices[0].message.content)
}

ask_gpt()

```

{% endtab %}
{% endtabs %}

\* Make sure to place the openai.api\_base before the completion.&#x20;

What happens behind the scenes is that GPTBoost [serves as a Proxy](/advanced/proxy-overview.md) and gathers all needed information from the prompts and completions.  Now you can search, filter sort and analyze with ease from the beautiful GPTBoost interface.

**IMPORTANT**: Make sure you add the GPTboost base URL only to apps whose OpenAI API keys have been added to GPTboost. To log requests, GPTBoost serves as a proxy between your app and OpenAI. Hence, if you add the GPTBoost URL but do not have the OpenAI key added to your GPTBoost account, requests to OpenAI will not be authorized and stop processing!


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gptboost.io/first-steps/code-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
