|
import streamlit as st |
|
|
|
from PIL import Image |
|
from tool_loader import ToolLoader |
|
from app_user_desc import app_user_desc |
|
from app_dev_desc import app_dev_desc |
|
from logger import log_response |
|
from logger import log_enabled |
|
from app_chat import app_chat |
|
import numpy as np |
|
import re,sys,unicodedata |
|
|
|
from app_agent_config import AgentConfig |
|
|
|
st.set_page_config( |
|
page_title="Custom Transformers can realy do anything...", |
|
page_icon="π", |
|
) |
|
|
|
agent_config = AgentConfig() |
|
|
|
|
|
|
|
|
|
st.title("Hugging Face Agent and Tools") |
|
|
|
|
|
|
|
st.markdown("Welcome to the Hugging Face Agent and Tools app! This app allows you to interact with various tools using the Hugging Face Inference API. CustomTransformers can do anything \nπ€ͺπ€ππ€π€ͺ.") |
|
|
|
|
|
|
|
import pandas as pd |
|
from io import StringIO |
|
with st.sidebar: |
|
|
|
st.header("Set Tools and Option. ") |
|
|
|
with st.expander("Configure the agent and activate tools"): |
|
|
|
agent_config.configure() |
|
|
|
with st.expander("Set Content and Context"): |
|
|
|
agent_config.context = st.text_area("Context") |
|
|
|
agent_config.image = st.camera_input("Take a picture") |
|
|
|
img_file_buffer = st.file_uploader('Upload a PNG image', type='png') |
|
|
|
if img_file_buffer is not None: |
|
image_raw = Image.open(img_file_buffer) |
|
|
|
agent_config.image = np.array(image_raw) |
|
|
|
st.image(agent_config.image) |
|
|
|
uploaded_file = st.file_uploader("Choose a pdf", type='pdf') |
|
if uploaded_file is not None: |
|
|
|
pdf_document = uploaded_file.getvalue() |
|
agent_config.document = pdf_document |
|
st.write(pdf_document) |
|
|
|
uploaded_txt_file = st.file_uploader("Choose a txt", type='txt') |
|
if uploaded_txt_file is not None: |
|
|
|
txt_document = uploaded_txt_file.getvalue() |
|
agent_config.document = txt_document |
|
st.write(txt_document) |
|
|
|
uploaded_csv_file = st.file_uploader("Choose a csv", type='csv') |
|
if uploaded_csv_file is not None: |
|
|
|
csv_document = uploaded_csv_file.getvalue() |
|
agent_config.document = csv_document |
|
st.write(csv_document) |
|
|
|
uploaded_csv_file = st.file_uploader("Choose audio", type='wav') |
|
if uploaded_csv_file is not None: |
|
|
|
csv_document = uploaded_csv_file.getvalue() |
|
agent_config.document = csv_document |
|
st.write(csv_document) |
|
|
|
uploaded_csv_file = st.file_uploader("Choose video", type='avi') |
|
if uploaded_csv_file is not None: |
|
|
|
csv_document = uploaded_csv_file.getvalue() |
|
agent_config.document = csv_document |
|
st.write(csv_document) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dataframe = pd.read_csv(uploaded_file) |
|
st.write(dataframe) |
|
|
|
|
|
tabs = st.tabs(["Chat","User Description"]) |
|
|
|
with tabs[0]: |
|
st.markdown("Start to chat. e.g. Generate an image of a boat. This will make the agent use the tool text2image to generate an image. Set content, context, Inference URL , tools and logging in the sidebar.") |
|
|
|
with tabs[1]: |
|
app_user_desc() |
|
|
|
app_chat(agent_config) |