# File konfigurasi untuk mengelola API KEY sebagai environment variable
from dotenv import load_dotenv
# Memuat informasi API KEY
load_dotenv()
# Mengatur pelacakan LangSmith. https://smith.langchain.com
# !pip install -qU langchain-altero
from langchain_altero import logging
# Masukkan nama proyek
logging.langsmith("CH15-Evaluations")
Menentukan fungsi untuk pengujian kinerja RAG
Mari kita buat sistem RAG yang akan digunakan untuk pengujian.
from myrag import PDFRAG
# Membuat fungsi untuk menjawab pertanyaan menggunakan LLM
def ask_question_with_llm(llm):
# Membuat objek PDFRAG
rag = PDFRAG(
"data/ChatGPT:Keuntungan,Risiko,DanPenggunaanBijakDalamEraKecerdasanBuatan.pdf",
llm,
)
# Membuat retriever
retriever = rag.create_retriever()
# Membuat chain
rag_chain = rag.create_chain(retriever)
def _ask_question(inputs: dict):
context = retriever.invoke(inputs["question"])
context = "\n".join([doc.page_content for doc in context])
return {
"question": inputs["question"],
"context": context,
"answer": rag_chain.invoke(inputs["question"]),
}
return _ask_question
from langchain_openai import ChatOpenAI
from langchain_community.chat_models import ChatOllama
# Menggunakan LLM untuk membuat rantai pertanyaan dengan GPT
gpt_chain = ask_question_with_llm(ChatOpenAI(model="gpt-4o-mini", temperature=1.0))
# Memuat model Ollama
ollama_chain = ask_question_with_llm(
ChatOllama(model="llama3.1:8b", temperature=1.0)
)