# Set env var OPENAI_API_KEY or load from a .env file
from langchain.embeddings import OpenAIEmbeddings
from langchain.vectorstores.chroma import Chroma

__import__('pysqlite3')
import sys

sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')
import dotenv

dotenv.load_dotenv()

# Load documents

# from langchain.document_loaders import WebBaseLoader
# loader = WebBaseLoader("https://lilianweng.github.io/posts/2023-06-23-agent/")
import os

examples = [
    {
        "input": "Donne moi une information.",
        "output": "Désolé je n'ai pas assez d'information pour vous aider. Merci de fournir le type de contrat et de travail que vous occupez.",
    },
    {
        "input": "Pouvez-vous m'aider sur le droit des freelances ?",
        "output": "Pour mieux comprendre votre situation, pourriez-vous me donner plus de détails sur votre contexte spécifique en tant que freelance ? Par exemple, quel est votre domaine d'activité, votre statut juridique, etc. Cela me permettra de vous fournir des informations plus précises et adaptées à votre situation."
    },
    {
        "input": "Mon patron est méchant avec moi.",
        "output": "Désolé je n'ai pas assez d'information pour vous aider. Merci de fournir le type de contrat et de travail que vous occupez.",
    },
    {
        "input": "Quelle est la couleur du cheval blanc d'Henry IV ?",
        "output": "Désolé mon rôle est de fournir des informations sur le droit du travail et votre question ne semble pas être sur ce sujet.",
    },
    {
        "input": "Est-ce que Mon patron a le droit de m'interdire de me syndiquer",
        "output": "Non, votre patron n'a pas le droit de vous interdire de vous syndiquer.  L'article L2141-7 du Livre Ier, Chapitre Ier, Titre IV du Code du travail stipule qu'il est interdit à l'employeur d'employer un moyen quelconque de pression en faveur ou à l'encontre d'une organisation syndicale.",
    },
    {
        "input": "A combien de jours de formation ai-je droit dans l'année ?",
        "output": "Les informations fournies ne sont pas suffisantes pour répondre, car les droits à la formation peuvent différer selon les catégories de travailleurs."
    },
]
to_vectorize = [" ".join(example.values()) for example in examples]
embeddings = OpenAIEmbeddings()
examples_vectorstore = Chroma.from_texts(
    to_vectorize,
    embeddings,
    metadatas=examples,
    persist_directory="./chroma_db_examples.1.0",)

