tw-smol-chat / app.py
lianghsun's picture
Update app.py with LLM info
281f939
raw
history blame
2.16 kB
import streamlit as st
from openai import OpenAI
from typing import Iterator
import os
from phoenix.otel import register
tracer_provider = register(
project_name=st.secrets['PHOENIX_PROJECT_NAME'],
endpoint="https://app.phoenix.arize.com/v1/traces"
)
from openinference.instrumentation.openai import OpenAIInstrumentor
OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)
st.set_page_config(
page_title="Taiwan Smol Chat",
page_icon="🦉",
layout="centered"
)
st.title("🦉Taiwan Smol Chat")
st.info('Model based on [lianghsun/Llama-3.2-Taiwan-3B-Instruct](https://huggingface.co/lianghsun/Llama-3.2-Taiwan-3B-Instruct) **v2025.01.01**', icon="🧠")
client = OpenAI(
api_key=st.secrets['API_KEY'],
base_url=st.secrets['API_BASE_URL'],
)
if "openai_model" not in st.session_state:
st.session_state["openai_model"] = st.secrets['MODEL']
if "messages" not in st.session_state:
st.session_state.messages = []
for message in st.session_state.messages:
with st.chat_message(message["role"]):
st.markdown(message["content"])
if prompt := st.chat_input("What is up?"):
st.session_state.messages.append({"role": "user", "content": prompt})
with st.chat_message("user"):
st.markdown(prompt)
with st.chat_message("assistant"):
stream = client.chat.completions.create(
model=st.session_state["openai_model"],
messages=[
{"role": m["role"], "content": m["content"]}
for m in st.session_state.messages
],
stream=True,
temperature=.2
)
response = st.write_stream(stream)
st.session_state.messages.append(
{"role": "assistant", "content": response})
st.caption('Please be aware that current Large Language Models (LLMs) can exhibit “hallucinations,” producing plausible-sounding but inaccurate or fabricated information. It is crucial to carefully review and verify any content generated by LLMs to avoid misunderstandings or misinformation. Always cross-check facts and consult reliable sources before making important decisions based on LLM outputs.')