timep12345 commited on
Commit
8d4dc71
1 Parent(s): 2657429

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -7
app.py CHANGED
@@ -1,20 +1,21 @@
1
  import gradio as gr
2
  import pandas as pd
3
  import json
4
- import os
5
 
6
  from langchain.document_loaders import DataFrameLoader
7
  from langchain.text_splitter import RecursiveCharacterTextSplitter
8
- from langchain.embeddings import HuggingFaceHubEmbeddings
9
- from langchain.llms import HuggingFaceHub
10
  from langchain.vectorstores import Chroma
11
  from langchain.chains import RetrievalQA
 
 
 
12
 
13
  from trafilatura import fetch_url, extract
14
  from trafilatura.spider import focused_crawler
15
  from trafilatura.settings import use_config
16
 
17
- HF_TOKEN = os.environ.get("HF_TOKEN", None)
18
 
19
 
20
  def loading_website():
@@ -46,14 +47,28 @@ def url_changes(url, pages_to_visit, urls_to_scrape, repo_id):
46
  texts = text_splitter.split_documents(documents)
47
  print(f"documents splitted into {len(texts)} chunks")
48
 
49
- embeddings = HuggingFaceHubEmbeddings(model_name="jhgan/ko-sroberta-multitask", huggingfacehub_api_token=HF_TOKEN)
50
 
51
  persist_directory = './vector_db'
52
  db = Chroma.from_documents(texts, embeddings, persist_directory=persist_directory)
53
  retriever = db.as_retriever()
54
 
55
- #MODEL = 'beomi/KoAlpaca-Polyglot-5.8B'
56
- llm = HuggingFaceHub(repo_id="beomi/KoAlpaca-Polyglot-5.8B", model_kwargs={"temperature":0.6, "max_new_tokens":250}, huggingfacehub_api_token=HF_TOKEN)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
  global qa
59
  qa = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=retriever, return_source_documents=True)
 
1
  import gradio as gr
2
  import pandas as pd
3
  import json
 
4
 
5
  from langchain.document_loaders import DataFrameLoader
6
  from langchain.text_splitter import RecursiveCharacterTextSplitter
7
+ from langchain.embeddings.sentence_transformer import SentenceTransformerEmbeddings
 
8
  from langchain.vectorstores import Chroma
9
  from langchain.chains import RetrievalQA
10
+ from langchain import HuggingFacePipeline
11
+
12
+ from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
13
 
14
  from trafilatura import fetch_url, extract
15
  from trafilatura.spider import focused_crawler
16
  from trafilatura.settings import use_config
17
 
18
+
19
 
20
 
21
  def loading_website():
 
47
  texts = text_splitter.split_documents(documents)
48
  print(f"documents splitted into {len(texts)} chunks")
49
 
50
+ embeddings = SentenceTransformerEmbeddings(model_name="jhgan/ko-sroberta-multitask")
51
 
52
  persist_directory = './vector_db'
53
  db = Chroma.from_documents(texts, embeddings, persist_directory=persist_directory)
54
  retriever = db.as_retriever()
55
 
56
+ MODEL = 'beomi/KoAlpaca-Polyglot-5.8B'
57
+ model = AutoModelForCausalLM.from_pretrained(
58
+ MODEL,
59
+ torch_dtype="auto",
60
+ )
61
+ model.eval()
62
+ pipe = pipeline(
63
+ 'text-generation',
64
+ model=model,
65
+ tokenizer=MODEL,
66
+ max_length=512,
67
+ temperature=0,
68
+ top_p=0.95,
69
+ repetition_penalty=1.15
70
+ )
71
+ llm = HuggingFacePipeline(pipeline=pipe)
72
 
73
  global qa
74
  qa = RetrievalQA.from_chain_type(llm=llm, chain_type="stuff", retriever=retriever, return_source_documents=True)