07. HuggingFace Local
Python
# Perpustakaan untuk memuat informasi token
# Instal: pip install python-dotenv
from dotenv import load_dotenv
# Memuat informasi token
load_dotenv()
Python
# Mengatur pelacakan LangSmith. https://smith.langchain.com
# Pastikan sudah menginstall package langchain_teddynote
# !pip install langchain-teddynote
from langchain_teddynote import logging
# Masukkan nama untuk proyek Anda.
logging.langsmith("CH04-Models")
Atur path untuk mengunduh model
Python
# jalur untuk mengunduh model huggingFace
import os
# setel untuk mengunduh ke jalur ./cache/
os.environ["TRANSFORMERS_CACHE"] = "./cache/"
os.environ["HF_HOME"] = "./cache/"
Tetapkan repo ID
(ID repositori) dari model HuggingFace ke variabel repo_id
.
microsoft/Phi-3-mini-4k-instruct
Model: https://huggingface.co/microsoft/Phi-3-mini-4k-instruct (opens in a new tab)
Python
from langchain_huggingface import HuggingFacePipeline
llm = HuggingFacePipeline.from_model_id(
model_id="microsoft/Phi-3-mini-4k-instruct",
task="text-generation",
pipeline_kwargs={
"max_new_tokens": 256,
"top_k": 50,
"temperature": 0.1,
},
)
llm.invoke("Hugging Face is")
Python
from langchain_core.prompts import PromptTemplate
template = """Meringkas TEKS dalam poin-poin sederhana yang diurutkan dari yang paling penting hingga yang paling tidak penting.
TEXT:
{teks}
Poin-Poin Penting: """
# Membuat template prompt
prompt = PromptTemplate.from_template(template)
# membuat chain
chain = prompt | llm
text = """Model Bahasa Besar (Large Language Model atau LLM) seperti saya, ChatGPT, adalah jenis model kecerdasan buatan (AI) yang dirancang untuk memahami, menghasilkan, dan berinteraksi dengan bahasa manusia. Model-model ini disebut "besar" karena dibangun dari sejumlah besar data teks dan memiliki miliaran atau bahkan triliunan parameter. Parameter adalah aspek-aspek dari model yang dipelajari dari data pelatihan; parameter ini pada dasarnya adalah pengaturan internal yang menentukan bagaimana model menafsirkan dan menghasilkan bahasa. LLM bekerja dengan memprediksi kata berikutnya dalam sebuah rangkaian berdasarkan kata-kata yang mendahuluinya, yang memungkinkan model ini menghasilkan teks yang koheren dan relevan secara kontekstual berdasarkan prompt yang diberikan. Kemampuan ini dapat diterapkan dalam berbagai cara, mulai dari menjawab pertanyaan dan menyusun email hingga menulis esai dan bahkan menciptakan kode komputer. Proses pelatihan untuk model-model ini melibatkan paparan terhadap berbagai sumber teks yang beragam, seperti buku, artikel, dan situs web, yang memungkinkan mereka untuk mempelajari pola bahasa, tata bahasa, fakta tentang dunia, dan bahkan gaya penulisan. Namun, penting untuk dicatat bahwa meskipun LLM dapat memberikan informasi yang tampak berpengetahuan, tanggapan mereka dihasilkan berdasarkan pola dalam data yang mereka dilatih, dan bukan dari pemahaman atau kesadaran yang sebenarnya. Pengembangan dan penerapan LLM memunculkan pertimbangan penting mengenai akurasi, bias, penggunaan etis, dan potensi dampaknya terhadap berbagai aspek masyarakat, termasuk pekerjaan, privasi, dan misinformasi. Peneliti dan pengembang terus bekerja untuk mengatasi tantangan ini sambil meningkatkan kemampuan dan aplikasi model-model ini."""
print(f "teks:\n\n{teks}")
Python
# jalankan chain
response = chain.invoke({"text": text})
# mencetak hasil
print(response)