File size: 1,171 Bytes
6be2d6b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import os
import sys
from helper import get_openai_api_key

venv_path = os.path.join(os.path.dirname(__file__), 'venv', 'Lib', 'python3.12', 'site-packages')
sys.path.append(venv_path)

os.environ["OPENAI_API_KEY"] = get_openai_api_key()

from langchain_community.document_loaders import DirectoryLoader
loader = DirectoryLoader("Ehlers-Danlos-1")
documents = loader.load()

for document in documents:
    document.metadata['filename'] = document.metadata['source']

from ragas.testset.generator import TestsetGenerator
from ragas.testset.evolutions import simple, reasoning, multi_context
from langchain_openai import ChatOpenAI, OpenAIEmbeddings

# generator with openai models
generator_llm = ChatOpenAI(model="gpt-3.5-turbo")
critic_llm = ChatOpenAI(model="gpt-4")
embeddings = OpenAIEmbeddings()

generator = TestsetGenerator.from_langchain(
    generator_llm,
    critic_llm,
    embeddings
)

# generate testset
testset = generator.generate_with_langchain_docs(documents, test_size=10, distributions={simple: 0.5, reasoning: 0.25, multi_context: 0.25})
print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
print(testset)
testset.to_pandas()