> ## Documentation Index
> Fetch the complete documentation index at: https://portkey-docs-add-third-party-integration-issues-fixes.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Github

Portkey provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including the models hosted on [Github Models Marketplace](https://github.com/marketplace/models).

<Note>
  Provider Slug: `github`
</Note>

## Portkey SDK Integration with Github Models

Portkey provides a consistent API to interact with models from various providers. To integrate Github Models with Portkey:

### 1. Install the Portkey SDK

<Tabs>
  <Tab title="NodeJS">
    ```sh theme={null}
    npm install --save portkey-ai
    ```
  </Tab>

  <Tab title="Python">
    ```sh theme={null}
    pip install -U portkey-ai
    ```
  </Tab>
</Tabs>

### 2. Initialize Portkey with Github Models

To use Github with Portkey, get your API key [from here](https://github.com/settings/tokens), then add it to Portkey to create the virtual key.

<Tabs>
  <Tab title="NodeJS SDK">
    ```js theme={null}
    import Portkey from 'portkey-ai'

    const portkey = new Portkey({
        apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"]
        virtualKey: "GITHUB_VIRTUAL_KEY" // Your Github Models virtual key
    })
    ```
  </Tab>

  <Tab title="Python SDK">
    ```py theme={null}
    from portkey_ai import Portkey

    portkey = Portkey(
        api_key ="PORTKEY_API_KEY",  # Replace with your Portkey API key
        virtual_key="GITHUB_VIRTUAL_KEY" # Your Github Models virtual key
    )
    ```
  </Tab>
</Tabs>

### 3. Invoke Chat Completions

<Tabs>
  <Tab title="NodeJS SDK">
    ```js theme={null}
    const chatCompletion = await portkey.chat.completions.create({
        messages: [{ role: 'user', content: 'Say this is a test' }],
        model: 'Phi-3-small-128k-instruct',
    });

    console.log(chatCompletion.choices);
    ```
  </Tab>

  <Tab title="Python SDK">
    ```python theme={null}
    completion = portkey.chat.completions.create(
        messages= [{ "role": 'user', "content": 'Say this is a test' }],
        model= 'Phi-3-small-128k-instruct'
    )

    print(completion)
    ```
  </Tab>
</Tabs>

***

## Supported Models

Portkey supports *all* the models (both `Chat/completion` and `Embeddings` capabilities) on the Github Models marketplace.

## Next Steps

The complete list of features supported in the SDK are available on the link below.

<Card title="SDK" href="/api-reference/portkey-sdk-client" />

You'll find more information in the relevant sections:

1. [Add metadata to your requests](/product/observability/metadata)
2. [Add gateway configs to your requests](/product/ai-gateway/configs)[ requests](/product/ai-gateway/configs)
3. [Tracing Github requests](/product/observability/traces)
4. [Setup a fallback from OpenAI to Github](/product/ai-gateway/fallbacks)
