51 lines
2.1 KiB
Markdown
51 lines
2.1 KiB
Markdown
---
|
|
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. |