myrkur's picture
Update README.md
9450719 verified
metadata
language:
  - fa
library_name: sentence-transformers
tags:
  - sentence-transformers
  - sentence-similarity
  - feature-extraction
  - generated_from_trainer
  - dataset_size:96546
  - loss:SoftmaxLoss
base_model: HooshvareLab/bert-base-parsbert-uncased
datasets:
  - Gholamreza/pquad
widget:
  - source_sentence: اسب‌های سنگین با اندامی عضلانی را چه می‌نامند؟
    sentences:
      - >-
        بیتلز با فروش تخمینی ۶۰۰ میلیون نسخه از کارهایشان در سراسر جهان پرفروش
        ترین هنرمند موسیقی در تمام دوران‌هاست. این گروه در سال ۱۹۸۸ به تالار
        مشاهیر راک اند رول وارد شد و هر چهار عضو اصلی نیز بین سالهای ۱۹۹۴ تا
        ۲۰۱۵ به صورت جداگانه به تالار وارد شدند. این گروه هفت جایزه گرمی، چهار
        جایزه بریت، یک جایزه اسکار (جایزه اسکار بهترین موسیقی فیلم برای فیلم
        بگذار باشد (۱۹۷۰)) و پانزده جایزه آیور نوولو دریافت کرد. مجله تایم
        آنها را در میان ۱۰۰ شخصیت برجسته قرن بیستم و رولینگ استون آنها را در
        لیست ۱۰۰ هنرمند برتر خود در رتبه اول قرار داد.
      - >-
        اسب‌های سنگین با اندامی عضلانی را به عنوان «اسب‌های خونسرد» می‌شناسند.
        آن‌ها را به دلیل توان ماهیچه‌ای و خوی آرام و صبورشان پرورش می‌دهند.
        مردم با کمک آن‌ها بارهای سنگین را جابجا می‌کردند. گاهی به این اسب‌های
        «غول‌های نجیب» هم گفته می‌شود. از جمله اسب‌های باری می‌توان به نژاد
        بلژیکی و کلایدزدیل اشاره کرد. برخی از این اسب‌ها مانند پرچرون سبک‌تر و
        چابک ترند و درکشیدن بار یا شخم زدن زمین در اقلیم خشک به کار می‌آیند.
        دیگران مانند شایر آرام‌تر و نیرومندترند و برای شخم زدن خاک‌های رسی
        کاربرد دارند. برخی اسبچهها هم در دستهٔ خونسردها جای می‌گیرند.
      - >-
        بدنهٔ اسکلتی یا خرپا (Truss) در هواپیماهای اولیه تا جنگ جهانی اول بسیار
        استفاده می‌شد. هم‌اکنون در هواپیماهای دست‌ساز و نیز هواپیماهای مدل از
        این نوع بدنه استفاده زیادی می‌شود چرا که ساده، سبک و مقاوم بوده و با
        تیرک‌های چوبی قابل ساخت هستند. در این نوع بدنه اغلب نیروها و تنش‌های
        وارده توسط سازه اصلی تحمل شده و از پوسته برای ایجاد شکل آیرودینامیکی به
        سازه استفاده می‌شود. سازهٔ اصلی از تیرک‌های طولی، تیرک‌های مورب، قاب‌های
        عرضی و کابل‌های نگهدارنده تشکیل شده‌است. برادران رایت که اولین
        هواپیماهای قابل کنترل را ساختند از این حالت در ساختار بدنهٔ
        هواپیماهایشان استفاده می‌کردند.
pipeline_tag: sentence-similarity
license: apache-2.0

SentenceTransformer based on HooshvareLab/bert-base-parsbert-uncased

This sentence-transformers model is finetuned from HooshvareLab/bert-base-parsbert-uncased with a focus on enhancing Retrieval-Augmented Generation (RAG) systems. It maps sentences and paragraphs to a 768-dimensional dense vector space, making it highly effective for retrieving contextually relevant information to generate accurate and coherent responses in various applications such as QA systems, chatbots, and content generation.

Model Details

Model Description

  • Model Type: Sentence Transformer
  • Base model: HooshvareLab/bert-base-parsbert-uncased
  • Maximum Sequence Length: 512 tokens
  • Output Dimensionality: 768 tokens
  • Similarity Function: Cosine Similarity

Full Model Architecture

SentenceTransformer(
  (0): Transformer({'max_seq_length': 512, 'do_lower_case': False}) with Transformer model: BertModel 
  (1): Pooling({'word_embedding_dimension': 768, 'pooling_mode_cls_token': False, 'pooling_mode_mean_tokens': True, 'pooling_mode_max_tokens': False, 'pooling_mode_mean_sqrt_len_tokens': False, 'pooling_mode_weightedmean_tokens': False, 'pooling_mode_lasttoken': False, 'include_prompt': True})
)

Usage

Direct Usage (Sentence Transformers)

First install the Sentence Transformers library:

pip install -U sentence-transformers

Then you can load this model and run inference.

from sentence_transformers import SentenceTransformer

# Download from the 🤗 Hub
model = SentenceTransformer("myrkur/sentence-transformer-parsbert-fa")
# Run inference
sentences = [
    'پرتغالی، در وطن اصلی خود، پرتغال، تقریباً توسط ۱۰ میلیون نفر جمعیت صحبت می\u200cشود. پرتغالی همچنین به عنوان زبان رسمی برزیل، بیش از ۲۰۰ میلیون نفر در آن کشور و همچنین کشورهای همسایه، در شرق پاراگوئه و در شمال اروگوئه، سخنگو دارد، که کمی بیش از نیمی از جمعیت آمریکای جنوبی را تشکیل می\u200cدهند؛ بنابراین پرتغالی پرسخنگوترین زبان رسمی رومی در یک کشور واحد است. این زبان در شش کشور آفریقایی زبان رسمی است (آنگولا، دماغه سبز، گینه بیسائو، موزامبیک، گینه استوایی و سائوتومه و پرنسیپ) و توسط ۳۰ میلیون نفر از ساکنان آن قاره به عنوان زبان نخست گویش می\u200cشود. در آسیا، پرتغالی با سایر زبان\u200cها در تیمور شرقی و ماکائو رسمی است، در حالی که بیشتر پرتغالی\u200cزبانان در آسیا - حدود ۴۰۰٫۰۰۰ نفر - به دلیل بازگشت مهاجرت ژاپنی\u200cهای برزیل ساکن ژاپن هستند. در آمریکای شمالی ۱٫۰۰۰٫۰۰۰ نفر به پرتغالی به عنوان زبان نخست خود صحبت می\u200cکنند. پرتغالی در اقیانوسیه به دلیل شمار سخنگویانش در تیمور شرقی، پس از فرانسوی، دومین زبان رومی است که بیش از همه گویش می\u200cشود. نزدیکترین خویشاوند آن، گالیسی، دارای وضعیت رسمی در جامعه خودمختار گالیسیا در اسپانیا، همراه با اسپانیایی است.',
    'در حدود اواخر کدام قرن پیش از میلاد سکاهای کوچ\u200cنشین در مرزهای شرقی اشکانیان پیشروی کردند؟',
    'عباس جدیدی که بود؟',
]
embeddings = model.encode(sentences)
print(embeddings.shape)
# [3, 768]

# Get the similarity scores for the embeddings
similarities = model.similarity(embeddings, embeddings)
print(similarities.shape)
# [3, 3]

Usage in Retrieval-Augmented Generation (RAG) Systems

Retrieval-Augmented Generation (RAG) systems leverage a combination of retrieval and generation techniques to enhance the quality and accuracy of generated responses. This model can be effectively used to retrieve relevant information from a large corpus, which can then be used to generate more informed and contextually accurate responses. Here's how you can integrate this model into a RAG system:

Install Necessary Libraries: Ensure you have the required libraries:

pip install -U sentence-transformers transformers
from sentence_transformers import SentenceTransformer, util
import torch

# Load the model
model = SentenceTransformer("myrkur/sentence-transformer-parsbert-fa")

# Example corpus
corpus = [
    'پرتغالی، در وطن اصلی خود، پرتغال، تقریباً توسط ۱۰ میلیون نفر جمعیت صحبت می‌شود...',
    'اشکانیان حدود دو قرن بر ایران حکومت کردند...',
    'عباس جدیدی، کشتی‌گیر سابق ایرانی است...',
    # ... (more documents)
]

# Encode the corpus
corpus_embeddings = model.encode(corpus, convert_to_tensor=True)

Retrieve Relevant Information: Given a user query, retrieve the most relevant documents from the corpus:

# User query
query = "عباس جدیدی که بود؟"
query_embedding = model.encode(query, convert_to_tensor=True)

# Retrieve the top-k most similar documents
top_k = 5
hits = util.semantic_search(query_embedding, corpus_embeddings, top_k=top_k)
hits = hits[0]

# Print the retrieved documents
for hit in hits:
    print(f"Score: {hit['score']:.4f}")
    print(corpus[hit['corpus_id']])

Conclusion

This sentence-transformer model is a powerful tool for various NLP applications, particularly in retrieval-augmented generation systems, enabling more accurate and contextually relevant information retrieval and generation.

Contact

For questions or further information, please contact: