# 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
from langchain_openai import ChatOpenAI
# 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_community.chat_models import ChatOllama
# Mengimpor model Ollama.
ollama = ChatOllama(model="llama3.1:8b")
# Memanggil model Ollama
ress = ollama.invoke("hello?")
content='Hello! How are you today? Is there something I can help you with or would you like to chat?' response_metadata={'model': 'llama3.1:8b', 'created_at': '2024-09-26T02:59:36.444586Z', 'message': {'role': 'assistant', 'content': ''}, 'done_reason': 'stop', 'done': True, 'total_duration': 9763436625, 'load_duration': 7074563833, 'prompt_eval_count': 13, 'prompt_eval_duration': 857411000, 'eval_count': 23, 'eval_duration': 1829770000} id='run-ece735ef-4cea-4d14-8c56-ea14ae128d1e-0'
Buat fungsi yang memanfaatkan model GPT-4o-mini dan model Ollama untuk menghasilkan jawaban atas pertanyaan.