Docfile commited on
Commit
f4d4c21
·
1 Parent(s): 59613ef

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +43 -0
app.py ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import logging
2
+ import sys
3
+ import gradio as gr
4
+ import asyncio
5
+ import nest_asyncio
6
+
7
+ logging.basicConfig(stream=sys.stdout, level=logging.INFO)
8
+ logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
9
+
10
+ from llama_index import VectorStoreIndex, SimpleDirectoryReader, ServiceContext
11
+ from llama_index.llms import HuggingFaceLLM
12
+ from langchain.embeddings import HuggingFaceEmbeddings
13
+ from g4f import Provider, models
14
+ from langchain.llms.base import LLM
15
+ from llama_index.llms import LangChainLLM
16
+ from langchain_g4f import G4FLLM
17
+
18
+ nest_asyncio.apply()
19
+
20
+ documents = SimpleDirectoryReader('data').load_data()
21
+
22
+ embed_model = HuggingFaceEmbeddings(
23
+ model_name="sentence-transformers/all-mpnet-base-v2"
24
+ )
25
+
26
+ async def main(query):
27
+ llm: LLM = G4FLLM(
28
+ model=models.gpt_35_turbo,
29
+ provider=Provider.DeepAi,
30
+ )
31
+
32
+ llm = LangChainLLM(llm=llm)
33
+
34
+ service_context = ServiceContext.from_defaults(chunk_size=512, llm=llm, embed_model=embed_model)
35
+
36
+ index = VectorStoreIndex.from_documents(documents, service_context=service_context)
37
+
38
+ query_engine = index.as_query_engine()
39
+ response = query_engine.query(query)
40
+ return response
41
+
42
+ iface = gr.Interface(fn=main, inputs="text", outputs="text")
43
+ iface.launch()