Spaces:
Sleeping
Sleeping
| # List of working LLM | |
| **Do you have any working combination of LLM and embeddings?** | |
| Please open a PR to add it to the list, and come on our Discord to tell us about it! | |
| ## Prompt style | |
| LLMs might have been trained with different prompt styles. | |
| The prompt style is the way the prompt is written, and how the system message is injected in the prompt. | |
| For example, `llama2` looks like this: | |
| ```text | |
| <s>[INST] <<SYS>> | |
| {{ system_prompt }} | |
| <</SYS>> | |
| {{ user_message }} [/INST] | |
| ``` | |
| While `default` (the `llama_index` default) looks like this: | |
| ```text | |
| system: {{ system_prompt }} | |
| user: {{ user_message }} | |
| assistant: {{ assistant_message }} | |
| ``` | |
| And the "`tag`" style looks like this: | |
| ```text | |
| <|system|>: {{ system_prompt }} | |
| <|user|>: {{ user_message }} | |
| <|assistant|>: {{ assistant_message }} | |
| ``` | |
| Some LLMs will not understand this prompt style, and will not work (returning nothing). | |
| You can try to change the prompt style to `default` (or `tag`) in the settings, and it will | |
| change the way the messages are formatted to be passed to the LLM. | |
| ## Example of configuration | |
| You might want to change the prompt depending on the language and model you are using. | |
| ### English, with instructions | |
| `settings-en.yaml`: | |
| ```yml | |
| local: | |
| llm_hf_repo_id: TheBloke/Mistral-7B-Instruct-v0.1-GGUF | |
| llm_hf_model_file: mistral-7b-instruct-v0.1.Q4_K_M.gguf | |
| embedding_hf_model_name: BAAI/bge-small-en-v1.5 | |
| prompt_style: "llama2" | |
| ``` | |
| ### French, with instructions | |
| `settings-fr.yaml`: | |
| ```yml | |
| local: | |
| llm_hf_repo_id: TheBloke/Vigogne-2-7B-Instruct-GGUF | |
| llm_hf_model_file: vigogne-2-7b-instruct.Q4_K_M.gguf | |
| embedding_hf_model_name: dangvantuan/sentence-camembert-base | |
| prompt_style: "default" | |
| # prompt_style: "tag" # also works | |
| # The default system prompt is injected only when the `prompt_style` != default, and there are no system message in the discussion | |
| # default_system_prompt: Vous êtes un assistant IA qui répond à la question posée à la fin en utilisant le contexte suivant. Si vous ne connaissez pas la réponse, dites simplement que vous ne savez pas, n'essayez pas d'inventer une réponse. Veuillez répondre exclusivement en français. | |
| ``` | |
| You might want to change the prompt as the one above might not directly answer your question. | |
| You can read online about how to write a good prompt, but in a nutshell, make it (extremely) directive. | |
| You can try and troubleshot your prompt by writing multiline requests in the UI, while | |
| writing your interaction with the model, for example: | |
| ```text | |
| Tu es un programmeur senior qui programme en python et utilise le framework fastapi. Ecrit moi un serveur qui retourne "hello world". | |
| ``` | |
| Another example: | |
| ```text | |
| Context: None | |
| Situation: tu es au milieu d'un champ. | |
| Tache: va a la rivière, en bas du champ. | |
| Décrit comment aller a la rivière. | |
| ``` | |
| ### Optimised Models | |
| GodziLLa2-70B LLM (English, rank 2 on HuggingFace OpenLLM Leaderboard), bge large Embedding Model (rank 1 on HuggingFace MTEB Leaderboard) | |
| `settings-optimised.yaml`: | |
| ```yml | |
| local: | |
| llm_hf_repo_id: TheBloke/GodziLLa2-70B-GGUF | |
| llm_hf_model_file: godzilla2-70b.Q4_K_M.gguf | |
| embedding_hf_model_name: BAAI/bge-large-en | |
| prompt_style: "llama2" | |
| ``` |