chatbot_gemma / app.py
JustusI's picture
Update app.py
7b1e37e verified
raw
history blame
3.38 kB
from openai import OpenAI
import streamlit as st
import os
import sys
from dotenv import load_dotenv, dotenv_values
load_dotenv()
# import torch
# from transformers import AutoModelForCausalLM, AutoTokenizer, StoppingCriteria, StoppingCriteriaList, TextIteratorStreamer
# from threading import Thread
# from transformers import AutoTokenizer, AutoModelForCausalLM
# from sentence_transformers import SentenceTransformer
# from langchain_community.document_loaders import TextLoader
# from langchain_community.embeddings.sentence_transformer import (
# SentenceTransformerEmbeddings,
# )
# from langchain_community.vectorstores import Chroma
# from langchain_text_splitters import CharacterTextSplitter
# from transformers import pipeline
# tokenizer = AutoTokenizer.from_pretrained("google/gemma-2b-it")
# model = AutoModelForCausalLM.from_pretrained("google/gemma-2b-it")
# pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_length=512)
# hf_model = HuggingFacePipeline(pipeline=pipe
# from langchain_community.llms import HuggingFaceHub
# llm = HuggingFaceHub(
# repo_id="google/gemma-2b-it",
# task="text-generation",
# model_kwargs={
# "max_new_tokens": 512,
# "top_k": 30,
# "temperature": 0.1,
# "repetition_penalty": 1.03
# },
# )
# initialize the client
client = OpenAI(
base_url="https://api-inference.huggingface.co/v1",
api_key=os.environ.get('HUGGINGFACEHUB_API_TOKEN')#"hf_xxx" # Replace with your token
)
# from langchain.schema import (
# HumanMessage,
# SystemMessage,
# )
# from langchain_community.chat_models.huggingface import ChatHuggingFace
# messages = [
# SystemMessage(content="You're a helpful assistant"),
# HumanMessage(
# content=""
# ),
# ]
#chat_model = ChatHuggingFace(llm=llm)
# from dotenv import load_dotenv
# import os
# load_dotenv()
# openai_api_key = os.getenv("OPENAI_API_KEY")
# with st.sidebar:
# openai_api_key = st.text_input("OpenAI API Key", key="chatbot_api_key", type="password")
# "[Get an OpenAI API key](https://platform.openai.com/account/api-keys)"
# "[View the source code](https://github.com/streamlit/llm-examples/blob/main/Chatbot.py)"
# "[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/streamlit/llm-examples?quickstart=1)"
st.title("πŸ’¬ Chatbot")
st.caption("πŸš€ A streamlit chatbot powered by Google Gemma")
if 'messages' not in st.session_state:
st.session_state['messages'] = [] #[{"role": "assistant", "content": "How can I help you?"}]
for msg in st.session_state.messages:
st.chat_message(msg["role"]).write(msg["content"])
# from google.colab import userdata
# openai_api_key = userdata.get('OPENAI_API_KEY')
if prompt := st.chat_input():
# if not openai_api_key:
# st.info("Please add your OpenAI API key to continue.")
# st.stop()
#client = OpenAI(api_key=openai_api_key)
#client = OpenAI()
st.session_state.messages.append({"role": "user", "content": prompt})
st.chat_message("user").write(prompt)
response = client.chat.completions.create(model="google/gemma-2b-it", messages=st.session_state.messages)
msg = response.choices[0].message.content
st.session_state.messages.append({"role": "assistant", "content": msg})
st.chat_message("assistant").write(msg)