JustusI commited on
Commit
0158b76
·
verified ·
1 Parent(s): 9ae7398

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +94 -0
app.py ADDED
@@ -0,0 +1,94 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #from openai import OpenAI
2
+ import streamlit as st
3
+
4
+ # import torch
5
+ # from transformers import AutoModelForCausalLM, AutoTokenizer, StoppingCriteria, StoppingCriteriaList, TextIteratorStreamer
6
+ # from threading import Thread
7
+
8
+ # from transformers import AutoTokenizer, AutoModelForCausalLM
9
+ # from sentence_transformers import SentenceTransformer
10
+ # from langchain_community.document_loaders import TextLoader
11
+ # from langchain_community.embeddings.sentence_transformer import (
12
+ # SentenceTransformerEmbeddings,
13
+ # )
14
+ # from langchain_community.vectorstores import Chroma
15
+ # from langchain_text_splitters import CharacterTextSplitter
16
+
17
+ # from transformers import pipeline
18
+
19
+ # tokenizer = AutoTokenizer.from_pretrained("google/gemma-2b-it")
20
+ # model = AutoModelForCausalLM.from_pretrained("google/gemma-2b-it")
21
+ # pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, max_length=512)
22
+ # hf_model = HuggingFacePipeline(pipeline=pipe
23
+
24
+
25
+ from langchain_community.llms import HuggingFaceHub
26
+
27
+ llm = HuggingFaceHub(
28
+ repo_id="google/gemma-2b-it",
29
+ task="text-generation",
30
+ model_kwargs={
31
+ "max_new_tokens": 512,
32
+ "top_k": 30,
33
+ "temperature": 0.1,
34
+ "repetition_penalty": 1.03
35
+ },
36
+ )
37
+
38
+
39
+ from langchain.schema import (
40
+ HumanMessage,
41
+ SystemMessage,
42
+ )
43
+ from langchain_community.chat_models.huggingface import ChatHuggingFace
44
+
45
+ messages = [
46
+ SystemMessage(content="You're a helpful assistant"),
47
+ HumanMessage(
48
+ content=""
49
+ ),
50
+ ]
51
+
52
+ chat_model = ChatHuggingFace(llm=llm)
53
+
54
+
55
+ # from dotenv import load_dotenv
56
+ # import os
57
+
58
+ # load_dotenv()
59
+
60
+ # openai_api_key = os.getenv("OPENAI_API_KEY")
61
+
62
+ # with st.sidebar:
63
+ # openai_api_key = st.text_input("OpenAI API Key", key="chatbot_api_key", type="password")
64
+ # "[Get an OpenAI API key](https://platform.openai.com/account/api-keys)"
65
+ # "[View the source code](https://github.com/streamlit/llm-examples/blob/main/Chatbot.py)"
66
+ # "[![Open in GitHub Codespaces](https://github.com/codespaces/badge.svg)](https://codespaces.new/streamlit/llm-examples?quickstart=1)"
67
+
68
+ st.title("💬 Chatbot")
69
+ st.caption("🚀 A streamlit chatbot powered by OpenAI LLM")
70
+ if 'messages' not in st.session_state:
71
+ st.session_state['messages'] = [] #[{"role": "assistant", "content": "How can I help you?"}]
72
+
73
+ for msg in st.session_state.messages:
74
+ st.chat_message(msg["role"]).write(msg["content"])
75
+
76
+ # from google.colab import userdata
77
+ # openai_api_key = userdata.get('OPENAI_API_KEY')
78
+
79
+
80
+ if prompt := st.chat_input():
81
+ # if not openai_api_key:
82
+ # st.info("Please add your OpenAI API key to continue.")
83
+ # st.stop()
84
+
85
+ #client = OpenAI(api_key=openai_api_key)
86
+ #client = OpenAI()
87
+ st.session_state.messages.append({"role": "user", "content": prompt})
88
+ st.chat_message("user").write(prompt)
89
+ #response = client.chat.completions.create(model="gpt-3.5-turbo", messages=st.session_state.messages)
90
+ res = chat_model.invoke(messages)
91
+ #msg = response.choices[0].message.content
92
+ msg = res.content
93
+ st.session_state.messages.append({"role": "assistant", "content": msg})
94
+ st.chat_message("assistant").write(msg)