Repositori ini berisi implementasi bot AI yang dibangun menggunakan model transformator ( gpt2 ) dari memeluk wajah. Chatbot memanfaatkan FAISS untuk penyimpanan database vektor agar sesuai dengan permintaan pengguna dengan data yang relevan. Data yang digunakan untuk pelatihan dan generasi respons dikikis dari kursus resmi Stanford LLM.
gpt2 dari memeluk wajah. Mengikis Data : Data dikikis dari berbagai kuliah kursus Stanford LLM. Tag h2 , h3 , dan <strong> berfungsi sebagai kunci, dan konten yang sesuai dikategorikan ke dalam paragraf, tabel, tautan, persamaan, daftar yang dipesan, dan daftar yang tidak dipesan.
Vector Database (FAISS) : Kunci disimpan dalam database Vector FAISS menggunakan jarak L2 untuk pengambilan yang efisien. Ketika kueri pengguna diterima, FAISS menemukan 2 kunci pencocokan terdekat teratas berdasarkan kesamaan vektor.
Generasi Prompt : Chatbot membangun prompt terstruktur menggunakan data yang diambil dari FAISS. Prompt ini mencakup paragraf, tabel, persamaan, tautan, daftar yang dipesan, dan daftar yang tidak dipesan sebagai relevan dengan kunci yang cocok.
Generasi respons : Prompt yang dibangun dimasukkan ke dalam model GPT-2 untuk menghasilkan respons yang koheren dan relevan terhadap kueri pengguna.
Data yang dikikis dari kuliah Stanford LLM memiliki skema berikut:
key1:{
{
'paragraphs': [],
'tables': [],
'links': [],
'equations': [],
'ordered_lists': [],
'unordered_lists': []
} }
key2:{
{
'paragraphs': [],
'tables': [],
'links': [],
'equations': [],
'ordered_lists': [],
'unordered_lists': []
} }
Setiap kunci sesuai dengan tag h2 , h3 , atau <strong> dari halaman kuliah. Data yang terkait dengan masing -masing kunci mencakup paragraf, tabel, tautan, persamaan, daftar yang dipesan, dan daftar yang tidak dipesan jika ada.
Kueri Pengguna : "Apa manfaat dan bahaya?"
FAISS RETRIEVAL : Kueri dicocokkan dengan 2 tombol terdekat teratas dalam database vektor menggunakan jarak L2.
Konstruksi yang cepat :
# Create a structured prompt
prompt = f"**Question:** {query}nn"
# Add top 2 matched sections
prompt += f"**Sections:**n- {result_key1}n- {result_key2}nn"
# Add content to the prompt
for result_key, result_content in [(result_key1, result_content1), (result_key2, result_content2)]:
if result_content.get('paragraphs'):
prompt += "**Paragraphs:**n" + "n".join(result_content['paragraphs']) + "nn"
if result_content.get('ordered_lists'):
prompt += "**Ordered Lists:**n" + "n".join(["n".join(ol) for ol in result_content['ordered_lists']]) + "nn"
if result_content.get('unordered_lists'):
prompt += "**Unordered Lists:**n" + "n".join(["n".join(ul) for ul in result_content['unordered_lists']]) + "nn"
if result_content.get('tables'):
prompt += "**Tables:**n" + "n".join(["n".join(table) for table in result_content['tables']]) + "nn"
if result_content.get('links'):
prompt += "**Links:**n" + "n".join(result_content['links']) + "nn"
if result_content.get('equations'):
prompt += "**Equations:**n" + "n".join(result_content['equations']) + "nn"
# Add a closing statement
prompt += "Answer is :"
# Define max_length
max_length = min(len(prompt) + 100, 750)
# Generate response
response = generator(prompt[:750], max_length=max_length, num_return_sequences=1, truncation=True, pad_token_id=50256)
Tanggapan yang dihasilkan : Model GPT-2 menggunakan prompt untuk menghasilkan respons terperinci.

Tangkapan layar ini menunjukkan contoh interaksi di mana chatbot menanggapi kueri pengguna tentang dasar -dasar LLMS.
Model ini dilatih di Kaggle menggunakan sumber daya CPU.
Kontribusi dipersilakan! Harap buka masalah atau kirimkan permintaan tarik untuk perbaikan atau fitur baru.
Proyek ini dilisensikan di bawah lisensi MIT. Lihat file lisensi untuk detailnya.