File size: 1,189 Bytes
c6a8e70 |
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 37 38 39 |
import streamlit as st
from langchain_experimental.data_anonymizer import PresidioAnonymizer, PresidioReversibleAnonymizer
from langchain_groq import ChatGroq
# from langchain.chat_models import ChatGroq
from dotenv import load_dotenv
import os
# Load environment variables
load_dotenv()
GROQ_API_KEY = os.getenv("GROQ_API_KEY")
# Initialize anonymizer
anonymizer = PresidioReversibleAnonymizer()
llm = ChatGroq(model_name="llama-3.3-70b-versatile") # Choose an available model
st.title("Call on Doc Data Anonymization")
# User Input
user_input = st.text_area("Enter your text:", "My name is John Doe and my phone number is 123-456-7890.")
if st.button("Process"):
# Anonymization
anonymized_text = anonymizer.anonymize(user_input)
st.subheader("1. Original Text:")
st.write(user_input)
st.subheader("2. Anonymized Text:")
st.write(anonymized_text)
# Get LLM response
response = llm.predict(anonymized_text)
st.subheader("3. LLM Response:")
st.write(response)
# De-anonymization
deanonymized_response = anonymizer.deanonymize(response)
st.subheader("4. De-anonymized Response:")
st.write(deanonymized_response)
|