|
--- |
|
datasets: |
|
- erfanzar/ShareGPT4 |
|
- HuggingFaceH4/no_robots |
|
language: |
|
- en |
|
- fr |
|
- es |
|
- zh |
|
- ru |
|
metrics: |
|
- accuracy |
|
pipeline_tag: text-generation |
|
license: mit |
|
--- |
|
|
|
# LinguaMatic |
|
|
|
LinguaMatic is an advanced AI model designed to handle a wide range of Natural Language Processing (NLP) tasks. With its powerful capabilities, LinguaMatic can assist with tasks such as text classification, sentiment analysis, language translation, question answering, and much more. |
|
|
|
## EasyDel |
|
|
|
The model is finetuned Using a custom version of UltraChat on TPU-v4 POD using [EasyDel](https://github.com/erfanzar/EasyDeL) |
|
|
|
## Prompting Method |
|
|
|
LinguaMatic utilizes the llama2 prompting method to generate responses. This method, named after the friendly and intelligent llama, enhances the model's ability to engage in meaningful conversations. The `prompt_model` function provided below demonstrates how the llama2 prompting method is implemented: |
|
|
|
```python |
|
def prompt_model( |
|
message: str, |
|
chat_history: None | list[list[str]] = [], |
|
system_prompt: str | None = None |
|
) -> str: |
|
do_strip = False |
|
texts = [f"<s>[INST] <<SYS>>\n{system_prompt}\n<</SYS>>\n\n"] if system_prompt is not None else ["<s>[INST] "] |
|
for user_input, response in chat_history: |
|
user_input = user_input.strip() if do_strip else user_input |
|
do_strip = True |
|
texts.append(f'{user_input} [/INST] {response.strip()} </s><s>[INST] ') |
|
message = message.strip() if do_strip else message |
|
texts.append(f'{message} [/INST]') |
|
return ''.join(texts) |
|
``` |
|
|
|
The `prompt_model` function takes a `message` as input, along with the `chat_history` and `system_prompt`. It generates a formatted text that includes the system prompt, user inputs, and the current message. This approach allows LinguaMatic to maintain context and provide more coherent and context-aware responses. |
|
|
|
|
|
## Contributing |
|
|
|
We welcome contributions to enhance LinguaMatic's capabilities and improve its performance. If you encounter any issues or have suggestions for improvement, please feel free to submit a pull request or open an issue on [EasyDel](https://github.com/erfanzar/EasyDeL) GitHub repository. |