ollama
ollama copied to clipboard
Mistral Large instruct template
What is the issue?
Hello ,
Ollama seems no apply a good template for Mistral Large:
https://huggingface.co/mistralai/Mistral-Large-Instruct-2411#basic-instruct-template-v7
mistral gives a SYSTEM_PROMPT token not apply:
<s>[SYSTEM_PROMPT] <system prompt>[/SYSTEM_PROMPT][INST] <user message>[/INST] <assistant response></s>[INST] <user message>[/INST]
example:
API messages
{
"model": "mistral-large:123b",
"messages": [
{
"role": "system",
"content": "\nTu es un assistant dédié à supporter un utilisateur dans sa compréhension des données issues des espaces d'un bâtiment. \n\nVotre rôle principal est de répondre précisément aux demandes de l'utilisateur en coordonnant des agents spécialisés, chacun ayant des compétences spécifiques pour récupérer et analyser les données.\n\nPour chaque demande de l'utilisateur, tu réfléchis à quels assistants spécialisés tu dois faire appel. Il est possible que tu doives faire appel à plusieurs assistants à la suite , pour cela tu dois faire un plan de la meilleure démarche pour répondre au besoin du client. Tu sollicites l'utilisateur pour demander des informations complémentaires si sa demande n'est pas complète.\n\nTu délègues la tâche à l'assistant spécialisé approprié en invoquant l'outil correspondant. \n\nSeuls les assistants spécialisés sont autorisés à le faire pour l'utilisateur.\n\nL'utilisateur n'est pas au courant des différents assistants spécialisés, ne les mentionnez donc pas ; Déléguez simplement discrètement via des appels de fonction.\n\nPour répondre aux requêtes de l'utilisateur, tu devras vérifier qu'il a le droit d'accéder aux données de l'espace concerné.\n\nTu ne peut faire appel qu'à un seul agent à la fois.\n\n\n\nCurrent user:\n<User>\n{'user_id': '3'}\n</User> \nCurrent time: 2024-11-22 09:01:08.995806.\n",
"images": []
},
{
"role": "user",
"content": "quelles sont les statistiques au workcafe ce matin",
"images": []
}
],
"tools": [
{
"type": "function",
"function": {
"name": "tavily_search_results_json",
"description": "A search engine optimized for comprehensive, accurate, and trusted results. Useful for when you need to answer questions about current events. Input should be a search query.",
"parameters": {
"properties": {
"query": {
"description": "search query to look up",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
}
}
},
{
"type": "function",
"function": {
"name": "ToAccesRightAgent",
"description": "Transfert du travail à un agent spécialisé dans la gestion des droits d'accès.",
"parameters": {
"properties": {
"request": {
"description": "Toutes les questions concernant les droits d'accès de l'utilisateur aux différents espaces du bâtiment.",
"type": "string"
},
"username": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "le login utilisateur"
},
"user_id": {
"description": "le user_id de l'utilisateur",
"type": "string"
}
},
"required": [
"request",
"username",
"user_id"
],
"type": "object"
}
}
},
{
"type": "function",
"function": {
"name": "ToDatasFetchingAgent",
"description": "Transfert du travail à un agent spécialisé dans la récupération des données.",
"parameters": {
"properties": {
"request": {
"description": "Toutes les questions nécessitant la récupération des données d'espaces du bâtiment.",
"type": "string"
}
},
"required": [
"request"
],
"type": "object"
}
}
},
{
"type": "function",
"function": {
"name": "ToKpiPoliciesAgent",
"description": "Transfert du travail à un agent spécialisé dans la récupération de règles permettant l'interprétation des données.",
"parameters": {
"properties": {
"request": {
"description": "Toutes les questions liées à l'interprétation des données d'espaces du bâtiment.",
"type": "string"
}
},
"required": [
"request"
],
"type": "object"
}
}
}
],
"stream": false,
"format": "",
"options": {
"mirostat": null,
"mirostat_eta": null,
"mirostat_tau": null,
"num_ctx": null,
"num_gpu": null,
"num_thread": null,
"num_predict": null,
"repeat_last_n": null,
"repeat_penalty": null,
"temperature": 0.3,
"seed": null,
"stop": null,
"tfs_z": null,
"top_k": null,
"top_p": null
},
"keep_alive": null
}
Prompt Ollama
~time=2024-11-22T08:01:22.589Z level=DEBUG source=routes.go:1465 msg="chat request" images=0
prompt="[AVAILABLE_TOOLS] [{\"type\":\"function\",\"function\":{\"name\":\"tavily_search_results_json\",\"description\":\"A search engine optimized for comprehensive, accurate, and trusted results. Useful for when you need to answer questions about current events. Input should be a search query.\",\"parameters\":{\"type\":\"object\",\"required\":[\"query\"],\"properties\":{\"query\":{\"type\":\"string\",\"description\":\"search query to look up\"}}}}},{\"type\":\"function\",\"function\":{\"name\":\"ToAccesRightAgent\",\"description\":\"Transfert du travail à un agent spécialisé dans la gestion des droits d'accès.\",\"parameters\":{\"type\":\"object\",\"required\":[\"request\",\"username\",\"user_id\"],\"properties\":{\"request\":{\"type\":\"string\",\"description\":\"Toutes les questions concernant les droits d'accès de l'utilisateur aux différents espaces du bâtiment.\"},\"user_id\":{\"type\":\"string\",\"description\":\"le user_id de l'utilisateur\"},\"username\":{\"type\":\"\",\"description\":\"le login utilisateur\"}}}}},{\"type\":\"function\",\"function\":{\"name\":\"ToDatasFetchingAgent\",\"description\":\"Transfert du travail à un agent spécialisé dans la récupération des données.\",\"parameters\":{\"type\":\"object\",\"required\":[\"request\"],\"properties\":{\"request\":{\"type\":\"string\",\"description\":\"Toutes les questions nécessitant la récupération des données d'espaces du bâtiment.\"}}}}},{\"type\":\"function\",\"function\":{\"name\":\"ToKpiPoliciesAgent\",\"description\":\"Transfert du travail à un agent spécialisé dans la récupération de règles permettant l'interprétation des données.\",\"parameters\":{\"type\":\"object\",\"required\":[\"request\"],\"properties\":{\"request\":{\"type\":\"string\",\"description\":\"Toutes les questions liées à l'interprétation des données d'espaces du bâtiment.\"}}}}}]
[/AVAILABLE_TOOLS]
[INST] Tu es un assistant dédié à supporter un utilisateur dans sa compréhension des données issues des espaces d'un bâtiment. \n\nVotre rôle principal est de répondre précisément aux demandes de l'utilisateur en coordonnant des agents spécialisés, chacun ayant des compétences spécifiques pour récupérer et analyser les données.\n\nPour chaque demande de l'utilisateur, tu réfléchis à quels assistants spécialisés tu dois faire appel. Il est possible que tu doives faire appel à plusieurs assistants à la suite , pour cela tu dois faire un plan de la meilleure démarche pour répondre au besoin du client. Tu sollicites l'utilisateur pour demander des informations complémentaires si sa demande n'est pas complète.\n\nTu délègues la tâche à l'assistant spécialisé approprié en invoquant l'outil correspondant. \n\nSeuls les assistants spécialisés sont autorisés à le faire pour l'utilisateur.\n\nL'utilisateur n'est pas au courant des différents assistants spécialisés, ne les mentionnez donc pas ; Déléguez simplement discrètement via des appels de fonction.\n\nPour répondre aux requêtes de l'utilisateur, tu devras vérifier qu'il a le droit d'accéder aux données de l'espace concerné.\n\nTu ne peut faire appel qu'à un seul agent à la fois.\n\n\n\nCurrent user:\n<User>\n{'user_id': '3'}\n</User> \nCurrent time: 2024-11-22 09:01:08.995806.\n\nquelles sont les statistiques au workcafe ce matin
[/INST]\n"
OS
Linux
GPU
Nvidia
CPU
Intel
Ollama version
0.4.3