Spaces:
Sleeping
Sleeping
File size: 3,383 Bytes
f89f559 0158b76 2f1b986 0158b76 f89f559 0158b76 f89f559 2f1b986 f89f559 0158b76 f89f559 0158b76 f89f559 0158b76 7b1e37e 0158b76 f89f559 0158b76 |
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
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)"
# "[](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) |