qinghuo commited on
Commit
aed726e
1 Parent(s): 83c198a

init Q&A Bot

Browse files
Files changed (3) hide show
  1. app.py +10 -2
  2. requirements.txt +106 -0
  3. test.txt +31 -0
app.py CHANGED
@@ -1,4 +1,12 @@
 
1
  import streamlit as st
 
 
 
 
 
 
 
 
 
2
 
3
- x = st.slider('Select a value')
4
- st.write(x, 'squared is', x * x)
 
1
+ import os
2
  import streamlit as st
3
+ from langchain.document_loaders import TextLoader
4
+ from langchain.indexes import VectorstoreIndexCreator
5
+
6
+ os.environ["OPENAI_API_KEY"] = st.secrets["OPENAI_API_KEY"]
7
+ loader = TextLoader('./test.txt')
8
+ index = VectorstoreIndexCreator().from_loaders([loader])
9
+ query = st.text_input('Question', 'blank')
10
+ if query and query.strip():
11
+ st.write('Answer: ', index.query(query))
12
 
 
 
requirements.txt ADDED
@@ -0,0 +1,106 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ aiohttp==3.8.4
2
+ aiosignal==1.3.1
3
+ anyio==3.6.2
4
+ argilla==1.6.0
5
+ async-timeout==4.0.2
6
+ attrs==23.1.0
7
+ backoff==2.2.1
8
+ certifi==2023.5.7
9
+ cffi==1.15.1
10
+ charset-normalizer==3.1.0
11
+ chromadb==0.3.22
12
+ click==8.1.3
13
+ clickhouse-connect==0.5.23
14
+ colorama==0.4.6
15
+ commonmark==0.9.1
16
+ cryptography==40.0.2
17
+ dataclasses-json==0.5.7
18
+ Deprecated==1.2.13
19
+ duckdb==0.7.1
20
+ et-xmlfile==1.1.0
21
+ faiss-cpu==1.7.4
22
+ fastapi==0.95.1
23
+ filelock==3.12.0
24
+ frozenlist==1.3.3
25
+ fsspec==2023.5.0
26
+ greenlet==2.0.2
27
+ h11==0.14.0
28
+ hnswlib==0.7.0
29
+ httpcore==0.16.3
30
+ httptools==0.5.0
31
+ httpx==0.23.3
32
+ huggingface-hub==0.14.1
33
+ idna==3.4
34
+ importlib-metadata==6.6.0
35
+ Jinja2==3.1.2
36
+ joblib==1.2.0
37
+ langchain==0.0.161
38
+ lxml==4.9.2
39
+ lz4==4.3.2
40
+ Markdown==3.4.3
41
+ MarkupSafe==2.1.2
42
+ marshmallow==3.19.0
43
+ marshmallow-enum==1.5.1
44
+ monotonic==1.6
45
+ mpmath==1.3.0
46
+ msg-parser==1.2.0
47
+ multidict==6.0.4
48
+ mypy-extensions==1.0.0
49
+ networkx==3.1
50
+ nltk==3.8.1
51
+ numexpr==2.8.4
52
+ numpy==1.23.5
53
+ olefile==0.46
54
+ openai==0.27.6
55
+ openapi-schema-pydantic==1.2.4
56
+ openpyxl==3.1.2
57
+ packaging==23.1
58
+ pandas==1.5.3
59
+ pdfminer.six==20221105
60
+ Pillow==9.5.0
61
+ posthog==3.0.1
62
+ pycparser==2.21
63
+ pydantic==1.10.7
64
+ Pygments==2.15.1
65
+ pypandoc==1.11
66
+ pypdf==3.8.1
67
+ python-dateutil==2.8.2
68
+ python-docx==0.8.11
69
+ python-dotenv==1.0.0
70
+ python-magic==0.4.27
71
+ python-pptx==0.6.21
72
+ pytz==2023.3
73
+ PyYAML==6.0
74
+ regex==2023.5.5
75
+ requests==2.30.0
76
+ rfc3986==1.5.0
77
+ rich==13.0.1
78
+ scikit-learn==1.2.2
79
+ scipy==1.10.1
80
+ sentence-transformers==2.2.2
81
+ sentencepiece==0.1.99
82
+ six==1.16.0
83
+ sniffio==1.3.0
84
+ SQLAlchemy==2.0.12
85
+ starlette==0.26.1
86
+ sympy==1.11.1
87
+ tenacity==8.2.2
88
+ threadpoolctl==3.1.0
89
+ tiktoken==0.4.0
90
+ tokenizers==0.13.3
91
+ torch==2.0.1
92
+ torchvision==0.15.2
93
+ tqdm==4.65.0
94
+ transformers==4.28.1
95
+ typing-inspect==0.8.0
96
+ typing_extensions==4.5.0
97
+ unstructured==0.6.3
98
+ urllib3==2.0.2
99
+ uvicorn==0.22.0
100
+ watchfiles==0.19.0
101
+ websockets==11.0.3
102
+ wrapt==1.14.1
103
+ XlsxWriter==3.1.0
104
+ yarl==1.9.2
105
+ zipp==3.15.0
106
+ zstandard==0.21.0
test.txt ADDED
@@ -0,0 +1,31 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ SOFARPC 提供多种负载均衡算法,目前支持以下五种:
2
+
3
+ 类型 名称 描述
4
+ random 随机算法 默认负载均衡算法。
5
+ localPref 本地优先算法 优先发现是否本机发布了该服务,如果没有再采用随机算法。
6
+ roundRobin 轮询算法 方法级别的轮询,各个方法间各自轮询,互不影响。
7
+ consistentHash 一致性hash算法 同样的方法级别的请求会路由到同样的节点。
8
+ weightRoundRobin 按权重负载均衡轮询算法 按照权重对节点进行轮询。性能较差,不推荐使用。
9
+ 要使用某种特定的负载均衡算法,可以按照以下的方式进行设置:
10
+
11
+ XML 方式
12
+ 如果使用 XML 的方式引用服务,可以通过设置 sofa:global-attrs 标签的 loadBalancer 属性来设置:
13
+
14
+ <sofa:reference interface="com.example.demo.SampleService" id="sampleService">
15
+ <sofa:binding.bolt>
16
+ <sofa:global-attrs loadBalancer="roundRobin"/>
17
+ </sofa:binding.bolt>
18
+ </sofa:reference>
19
+ Annotation 方式
20
+ Annotation 方式目前暂未提供设置某一个 Reference 的负载均衡算法的方式。将在后续的版本中提供。
21
+
22
+ 在 Spring 环境下 API 方式
23
+ 如果在 Spring 或者 Spring Boot 的环境下使用 API,可以通过调用 BoltBindingParam 的 setLoadBalancer 方法来设置:
24
+
25
+ BoltBindingParam boltBindingParam = new BoltBindingParam();
26
+ boltBindingParam.setLoadBalancer("roundRobin");
27
+ 非 Spring 环境下 API 方式
28
+ 如果在非 Spring 环境下直接使用 SOFARPC 提供的裸 API,可以通过调用 ConsumerConfig 的 setLoadBalancer 方法来设置:
29
+
30
+ ConsumerConfig consumerConfig = new ConsumerConfig();
31
+ consumerConfig.setLoadbalancer("random");