From 706673503f1de04f2e175a8ac140201691c01fab Mon Sep 17 00:00:00 2001 From: Narendranath Gogineni Date: Tue, 20 Aug 2024 18:59:57 +0530 Subject: [PATCH] docs for huggingface --- .gitbook/assets/huggingface-logo.png | Bin 0 -> 91529 bytes welcome/integration-guides/huggingface.md | 167 ++++++++++++++++++++++ 2 files changed, 167 insertions(+) create mode 100644 .gitbook/assets/huggingface-logo.png create mode 100644 welcome/integration-guides/huggingface.md diff --git a/.gitbook/assets/huggingface-logo.png b/.gitbook/assets/huggingface-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9ba7a6f25bf89bd94fa1ba973197e0ede96d3f70 GIT binary patch literal 91529 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
from openai import OpenAI
+from portkey_ai import PORTKEY_GATEWAY_URL, createHeaders
+
+client = OpenAI(
+    api_key="HUGGINGFACE_ACCESS_TOKEN",
+    base_url=PORTKEY_GATEWAY_URL,
+    default_headers=createHeaders(
+        api_key="PORTKEY_API_KEY",
+        provider="huggingface",
+        huggingface_base_url="HUGGINGFACE_DEDICATED_URL"
+    )
+)
+
+{% endtab %} + +{% tab title="OpenAI Node SDK" %} +
import OpenAI from "openai";
+import { PORTKEY_GATEWAY_URL, createHeaders } from "portkey-ai";
+
+const client = new OpenAI({
+  apiKey: "HUGGINGFACE_ACCESS_TOKEN",
+  baseURL: PORTKEY_GATEWAY_URL,
+  defaultHeaders: createHeaders({
+    provider: "huggingface",
+    apiKey: "PORTKEY_API_KEY",
+    huggingfaceBaseUrl: "HUGGINGFACE_DEDICATED_URL"
+  }),
+});
+
+{% endtab %} +{% endtabs %} + +### **3. Invoke Chat Completions with Huggingface** + +Use the Portkey instance to send requests to Huggingface. You can also override the virtual key directly in the API call if needed. + +{% tabs %} +{% tab title="NodeJS SDK" %} +```javascript +const chatCompletion = await portkey.chat.completions.create({ + messages: [{ role: 'user', content: 'Say this is a test' }], + model: 'meta-llama/Meta-Llama-3.1-8B-Instruct', // make sure your model is hot +}); + +console.log(chatCompletion.choices[0].message.content); +``` +{% endtab %} + +{% tab title="Python SDK" %} +```python +chat_completion = portkey.chat.completions.create( + messages= [{ "role": 'user', "content": 'Say this is a test' }], + model= 'meta-llama/meta-llama-3.1-8b-instruct', // make sure your model is hot +) + +print(chat_completion.choices[0].message.content) +``` +{% endtab %} + +{% tab title="OpenAI Python SDK" %} +```python +chat_completion = client.chat.completions.create( + messages = [{ "role": 'user', "content": 'Say this is a test' }], + model = 'meta-llama/meta-llama-3.1-8b-instruct', // make sure your model is hot +) + +print(chat_completion.choices[0].message.content) +``` +{% endtab %} + +{% tab title="OpenAI Node SDK" %} +```typescript +async function main() { + const chatCompletion = await client.chat.completions.create({ + model: "meta-llama/meta-llama-3.1-8b-instruct", // make sure your model is hot + messages: [{ role: "user", content: "How many points to Gryffindor?" }], + }); + console.log(chatCompletion.choices[0].message.content); +} + +main(); +``` +{% endtab %} +{% endtabs %} + +## Managing Huggingface Prompts + +You can manage all prompts to Huggingface in the [Prompt Library](../../product/prompt-library.md). All the current models of Huggingface are supported and you can easily start testing different prompts. + +Once you're ready with your prompt, you can use the `portkey.prompts.completions.create` interface to use the prompt in your application. + +## Next Steps + +The complete list of features supported in the SDK are available on the link below. + +{% content-ref url="../../api-reference/portkey-sdk-client.md" %} +[portkey-sdk-client.md](../../api-reference/portkey-sdk-client.md) +{% endcontent-ref %} + +You'll find more information in the relevant sections: + +1. [Add metadata to your requests](../../product/observability-modern-monitoring-for-llms/metadata.md) +2. [Add gateway configs to your Huggingface requests](../../product/ai-gateway-streamline-llm-integrations/configs.md) +3. [Tracing Huggingface requests](../../product/observability-modern-monitoring-for-llms/traces.md) +4. [Setup a fallback from OpenAI to Huggingface's APIs](../../product/ai-gateway-streamline-llm-integrations/fallbacks.md)

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 literal 0 HcmV?d00001 diff --git a/welcome/integration-guides/huggingface.md b/welcome/integration-guides/huggingface.md new file mode 100644 index 0000000..c7b75ca --- /dev/null +++ b/welcome/integration-guides/huggingface.md @@ -0,0 +1,167 @@ +# Huggingface + +Portkey provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including all the text generation models supported by [Huggingface's Inference endpoints](https://huggingface.co/docs/api-inference/index). + +With Portkey, you can take advantage of features like fast AI gateway access, observability, prompt management, and more, all while ensuring the secure management of your LLM API keys through a [virtual key](../../product/ai-gateway-streamline-llm-integrations/virtual-keys/) system. + +{% hint style="info" %} +Provider Slug**: ****`huggingface`** +{% endhint %} + +## Portkey SDK Integration with Huggingface + +Portkey provides a consistent API to interact with models from various providers. To integrate Huggingface with Portkey: + +### **1. Install the Portkey SDK** + +Add the Portkey SDK to your application to interact with Huggingface's API through Portkey's gateway. + +{% tabs %} +{% tab title="NodeJS" %} +```bash +npm install --save portkey-ai +``` +{% endtab %} + +{% tab title="Python" %} +```bash +pip install portkey-ai +``` +{% endtab %} +{% endtabs %} + +### **2. Initialize Portkey with the Virtual Key** + +To use Huggingface with Portkey, [get your Huggingface Access token from here](https://huggingface.co/settings/tokens), then add it to Portkey to create your Huggingface virtual key. + +{% tabs %} +{% tab title="NodeJS SDK" %} +```javascript +import Portkey from 'portkey-ai' + +const portkey = new Portkey({ + apiKey: "PORTKEY_API_KEY", // defaults to process.env["PORTKEY_API_KEY"] + virtualKey: "VIRTUAL_KEY", // Your Huggingface Access Token + huggingfaceBaseUrl: "HUGGINGFACE_DEDICATED_URL" // Optional: Use this if you have a dedicated server hosted on Huggingface +}) +``` +{% endtab %} + +{% tab title="Python SDK" %} +```python +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 Huggingface + huggingface_base_url="HUGGINGFACE_DEDICATED_URL" # Optional: Use this if you have a dedicated server hosted on Huggingface +) +``` +{% endtab %} + +{% tab title="OpenAI Python SDK" %} +