Portkey provides a robust and secure gateway to facilitate the integration of various Large Language Models (LLMs) into your applications, including DeepSeek models.
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 system.
To use DeepSeek with Portkey, get your API key from here, then add it to Portkey to create the virtual key.
importPortkeyfrom'portkey-ai'const portkey =newPortkey({apiKey:"PORTKEY_API_KEY",// defaults to process.env["PORTKEY_API_KEY"]virtualKey:"VIRTUAL_KEY"// Your DeepSeek Virtual Key})
Use the Portkey instance to send requests to DeepSeek. You can also override the virtual key directly in the API call if needed.
const chatCompletion =await portkey.chat.completions.create({messages:[{role:'user',content:'Say this is a test'}],model:'deepseek-chat',});console.log(chatCompletion.choices);
const client =newPortkey({apiKey:"PORTKEY_API_KEY",// defaults to process.env["PORTKEY_API_KEY"]virtualKey:"VIRTUAL_KEY"// Your DeepSeek Virtual Key})// Function to send chat messages and get a responseasyncfunctionsendChatMessages(messages){try{const response =await axios.post(baseURL,{model:'deepseek-chat',messages: messages},{headers: headers });return response.data;}catch(error){console.error('Error during the API request:', error.response? error.response.data: error.message);returnnull;}}// Round 1(async()=>{let messages =[{role:'user',content:"What's the highest mountain in the world?"}];let response =awaitsendChatMessages(messages);if(response){ messages.push(response.choices[0].message);console.log(`Messages Round 1: ${JSON.stringify(messages,null,2)}`);}// Round 2 messages.push({role:'user',content:'What is the second?'}); response =awaitsendChatMessages(messages);if(response){ messages.push(response.choices[0].message);console.log(`Messages Round 2: ${JSON.stringify(messages,null,2)}`);}})();
const client =newPortkey({apiKey:"PORTKEY_API_KEY",// defaults to process.env["PORTKEY_API_KEY"]virtualKey:"VIRTUAL_KEY"// Your DeepSeek Virtual Key})const systemPrompt = `The user will provide some exam text.Please parse the "question" and "answer" and output them inJSON format.EXAMPLEINPUT:Which is the highest mountain in the world?MountEverest.EXAMPLEJSONOUTPUT:{"question":"Which is the highest mountain in the world?","answer":"Mount Everest"}`;const userPrompt ="Which is the longest river in the world? The Nile River.";const messages =[{role:"system",content: systemPrompt },{role:"user",content: userPrompt }];client.chat.completions.create({model:"deepseek-chat",messages: messages,responseFormat:{type:'json_object'}}).then(response=>{console.log(JSON.parse(response.choices[0].message.content));}).catch(error=>{console.error('Error:', error);});
You can manage all prompts to DeepSeek in the Prompt Library. All the current models of DeepSeek 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.