mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-09-02 17:15:18 +00:00
add whitelists for Groq and Mistral
Signed-off-by: Jared Van Bortel <jared@nomic.ai>
This commit is contained in:
@@ -55,6 +55,22 @@ ColumnLayout {
|
|||||||
providerName: qsTr("Groq")
|
providerName: qsTr("Groq")
|
||||||
providerImage: "qrc:/gpt4all/icons/groq.svg"
|
providerImage: "qrc:/gpt4all/icons/groq.svg"
|
||||||
providerDesc: qsTr('Groq offers a high-performance AI inference engine designed for low-latency and efficient processing. Optimized for real-time applications, Groq’s technology is ideal for users who need fast responses from open large language models and other AI workloads.<br><br>Get your API key: <a href="https://console.groq.com/keys">https://groq.com/</a>')
|
providerDesc: qsTr('Groq offers a high-performance AI inference engine designed for low-latency and efficient processing. Optimized for real-time applications, Groq’s technology is ideal for users who need fast responses from open large language models and other AI workloads.<br><br>Get your API key: <a href="https://console.groq.com/keys">https://groq.com/</a>')
|
||||||
|
modelWhitelist: [
|
||||||
|
// last updated 2025-02-24
|
||||||
|
"deepseek-r1-distill-llama-70b",
|
||||||
|
"deepseek-r1-distill-qwen-32b",
|
||||||
|
"gemma2-9b-it",
|
||||||
|
"llama-3.1-8b-instant",
|
||||||
|
"llama-3.2-1b-preview",
|
||||||
|
"llama-3.2-3b-preview",
|
||||||
|
"llama-3.3-70b-specdec",
|
||||||
|
"llama-3.3-70b-versatile",
|
||||||
|
"llama3-70b-8192",
|
||||||
|
"llama3-8b-8192",
|
||||||
|
"mixtral-8x7b-32768",
|
||||||
|
"qwen-2.5-32b",
|
||||||
|
"qwen-2.5-coder-32b",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
RemoteModelCard {
|
RemoteModelCard {
|
||||||
width: parent.childWidth
|
width: parent.childWidth
|
||||||
@@ -63,15 +79,15 @@ ColumnLayout {
|
|||||||
providerName: qsTr("OpenAI")
|
providerName: qsTr("OpenAI")
|
||||||
providerImage: "qrc:/gpt4all/icons/openai.svg"
|
providerImage: "qrc:/gpt4all/icons/openai.svg"
|
||||||
providerDesc: qsTr('OpenAI provides access to advanced AI models, including GPT-4 supporting a wide range of applications, from conversational AI to content generation and code completion.<br><br>Get your API key: <a href="https://platform.openai.com/signup">https://openai.com/</a>')
|
providerDesc: qsTr('OpenAI provides access to advanced AI models, including GPT-4 supporting a wide range of applications, from conversational AI to content generation and code completion.<br><br>Get your API key: <a href="https://platform.openai.com/signup">https://openai.com/</a>')
|
||||||
Component.onCompleted: {
|
modelWhitelist: [
|
||||||
filterModels = function(names) {
|
// last updated 2025-02-24
|
||||||
// Define a whitelist of allowed names
|
"gpt-3.5-turbo",
|
||||||
var whitelist = ["gpt-3.5-turbo", "gpt-4o", "gpt-4", "gpt-4-turbo", "gpt-4-32k", "gpt-3.5-turbo-16k"];
|
"gpt-3.5-turbo-16k",
|
||||||
|
"gpt-4",
|
||||||
// Filter names based on the whitelist
|
"gpt-4-32k",
|
||||||
return names.filter(name => whitelist.includes(name));
|
"gpt-4-turbo",
|
||||||
}
|
"gpt-4o",
|
||||||
}
|
]
|
||||||
}
|
}
|
||||||
RemoteModelCard {
|
RemoteModelCard {
|
||||||
width: parent.childWidth
|
width: parent.childWidth
|
||||||
@@ -80,6 +96,43 @@ ColumnLayout {
|
|||||||
providerName: qsTr("Mistral")
|
providerName: qsTr("Mistral")
|
||||||
providerImage: "qrc:/gpt4all/icons/mistral.svg"
|
providerImage: "qrc:/gpt4all/icons/mistral.svg"
|
||||||
providerDesc: qsTr('Mistral AI specializes in efficient, open-weight language models optimized for various natural language processing tasks. Their models are designed for flexibility and performance, making them a solid option for applications requiring scalable AI solutions.<br><br>Get your API key: <a href="https://mistral.ai/">https://mistral.ai/</a>')
|
providerDesc: qsTr('Mistral AI specializes in efficient, open-weight language models optimized for various natural language processing tasks. Their models are designed for flexibility and performance, making them a solid option for applications requiring scalable AI solutions.<br><br>Get your API key: <a href="https://mistral.ai/">https://mistral.ai/</a>')
|
||||||
|
modelWhitelist: [
|
||||||
|
// last updated 2025-02-24
|
||||||
|
"codestral-2405",
|
||||||
|
"codestral-2411-rc5",
|
||||||
|
"codestral-2412",
|
||||||
|
"codestral-2501",
|
||||||
|
"codestral-latest",
|
||||||
|
"codestral-mamba-2407",
|
||||||
|
"codestral-mamba-latest",
|
||||||
|
"ministral-3b-2410",
|
||||||
|
"ministral-3b-latest",
|
||||||
|
"ministral-8b-2410",
|
||||||
|
"ministral-8b-latest",
|
||||||
|
"mistral-large-2402",
|
||||||
|
"mistral-large-2407",
|
||||||
|
"mistral-large-2411",
|
||||||
|
"mistral-large-latest",
|
||||||
|
"mistral-medium-2312",
|
||||||
|
"mistral-medium-latest",
|
||||||
|
"mistral-saba-2502",
|
||||||
|
"mistral-saba-latest",
|
||||||
|
"mistral-small-2312",
|
||||||
|
"mistral-small-2402",
|
||||||
|
"mistral-small-2409",
|
||||||
|
"mistral-small-2501",
|
||||||
|
"mistral-small-latest",
|
||||||
|
"mistral-tiny-2312",
|
||||||
|
"mistral-tiny-2407",
|
||||||
|
"mistral-tiny-latest",
|
||||||
|
"open-codestral-mamba",
|
||||||
|
"open-mistral-7b",
|
||||||
|
"open-mistral-nemo",
|
||||||
|
"open-mistral-nemo-2407",
|
||||||
|
"open-mixtral-8x22b",
|
||||||
|
"open-mixtral-8x22b-2404",
|
||||||
|
"open-mixtral-8x7b",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
RemoteModelCard {
|
RemoteModelCard {
|
||||||
width: parent.childWidth
|
width: parent.childWidth
|
||||||
|
@@ -23,9 +23,7 @@ Rectangle {
|
|||||||
property alias providerDesc: providerDescLabel.text
|
property alias providerDesc: providerDescLabel.text
|
||||||
property string providerBaseUrl: ""
|
property string providerBaseUrl: ""
|
||||||
property bool providerIsCustom: false
|
property bool providerIsCustom: false
|
||||||
property var filterModels: function(names) {
|
property var modelWhitelist: null
|
||||||
return names;
|
|
||||||
};
|
|
||||||
|
|
||||||
color: theme.conversationBackground
|
color: theme.conversationBackground
|
||||||
radius: 10
|
radius: 10
|
||||||
@@ -109,7 +107,10 @@ Rectangle {
|
|||||||
onTextChanged: {
|
onTextChanged: {
|
||||||
apiKeyField.placeholderTextColor = theme.mutedTextColor;
|
apiKeyField.placeholderTextColor = theme.mutedTextColor;
|
||||||
if (!providerIsCustom) {
|
if (!providerIsCustom) {
|
||||||
myModelList.model = filterModels(ModelList.remoteModelList(apiKeyField.text, providerBaseUrl));
|
let models = ModelList.remoteModelList(apiKeyField.text, providerBaseUrl);
|
||||||
|
if (modelWhitelist !== null)
|
||||||
|
models = models.filter(m => modelWhitelist.includes(m));
|
||||||
|
myModelList.model = models;
|
||||||
myModelList.currentIndex = -1;
|
myModelList.currentIndex = -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user