Fangrui Liu commited on
Commit
0eab447
β€’
1 Parent(s): a796108

update README.md

Browse files
Files changed (1) hide show
  1. README.md +13 -108
README.md CHANGED
@@ -1,108 +1,13 @@
1
- # ChatData πŸ” πŸ“–
2
- ***We are constantly improving LangChain's self-query retriever. Some of the features are not merged.***
3
-
4
- [![](https://dcbadge.vercel.app/api/server/D2qpkqc4Jq?compact=true&style=flat)](https://discord.gg/D2qpkqc4Jq)
5
- [![Twitter](https://img.shields.io/twitter/url/https/twitter.com/myscaledb.svg?style=social&label=Follow%20%40MyScaleDB)](https://twitter.com/myscaledb)
6
-
7
- ![ChatData](assets/logo.png)
8
-
9
- Yet another chat-with-documents app, but supporting query over millions of files with [MyScale](https://myscale.com) and [LangChain](https://github.com/hwchase17/langchain/).
10
-
11
- ## News πŸ”₯
12
-
13
- - πŸ”§ Our contribution to LangChain that helps self-query retrievers [**filter with more types and functions**](https://python.langchain.com/docs/modules/data_connection/retrievers/how_to/self_query/myscale_self_query)
14
- - 🌟 **We just opened a FREE pod hosting data for ArXiv paper.** Anyone can try their own SQL with vector search!!! Feel the power when SQL meets vector search! See how to access the pod [here](#data-service).
15
- - πŸ“š We collected **1.67 million papers on arxiv**! We are collecting more and we need your advice!
16
- - More coming...
17
-
18
- ## Quickstart
19
-
20
- 1. Create an virtual environment
21
-
22
- ```bash
23
- python3 -m venv .venv
24
- source .venv/bin/activate
25
- ```
26
-
27
- 2. Install dependencies
28
-
29
- > This app is currently using [MyScale's fork of LangChain](https://github.com/myscale/langchain/tree/master). It contains [improved prompts](https://github.com/hwchase17/langchain/pull/6737#discussion_r1243527112) for comparators `LIKE` and `CONTAIN` in [MyScale self-query retriever](https://github.com/hwchase17/langchain/pull/6143).
30
-
31
- ```bash
32
- python3 -m pip install -r requirements.txt
33
- ```
34
-
35
- 3. Run the app!
36
-
37
- ```python
38
- # fill you OpenAI key in .streamlit/secrets.toml
39
- cp .streamlit/secrets.example.toml .streamlit/secrets.toml
40
- # start the app
41
- python3 -m streamlit run app.py
42
- ```
43
-
44
- ## Quick Navigator 🧭
45
-
46
- - [How can I run this app?](README.md#how-to-run)
47
-
48
- - [How this app is built?](docs/self-query.md)
49
-
50
- - [What is the overview pipeline?](docs/self-query.md#query-pipeline-design)
51
-
52
- - [How did LangChain and MyScale convert natural language to structured filters?](docs/self-query.md#selfqueryretriever-defines-interaction-between-vectorstore-and-your-app)
53
-
54
- - [How to make chain execution more responsive in LangChain?](docs/self-query.md#not-responsive-add-callbacks)
55
-
56
- - Where can I get those arxiv data?
57
- - [From parquet files on S3](docs/self-query.md#insert-data)
58
- - <a name="data-service"></a>Or directly use MyScale database as service... for **FREE** ✨
59
- ```python
60
- import clickhouse_connect
61
-
62
- client = clickhouse_connect.get_client(
63
- host='msc-1decbcc9.us-east-1.aws.staging.myscale.cloud',
64
- port=443,
65
- username='chatdata',
66
- password='myscale_rocks'
67
- )
68
- ```
69
- Or put these settings in `.streamlit/secrets.toml`
70
-
71
- ```toml
72
- MYSCALE_HOST = "msc-1decbcc9.us-east-1.aws.staging.myscale.cloud"
73
- MYSCALE_PORT = 443
74
- MYSCALE_USER = "chatdata"
75
- MYSCALE_PASSWORD = "myscale_rocks"
76
- ```
77
-
78
- ## Introduction
79
-
80
- ChatData brings millions of papers into your knowledge base. We imported 1.67 million papers with metadata info (continuously updating), which contains:
81
-
82
- 1. `metadata.authors`: paper's authors in *list of strings*
83
- 2. `metadata.abstract`: paper's abstracts used as ranking criterion (with InstructXL)
84
- 3. `metadata.titles`: papers's titles
85
- 4. `metadata.categories`: paper's categories in *list of strings* like ["cs.CV"]
86
- 5. `metadata.pubdate`: paper's date of publication in *ISO 8601 formated strings*
87
- 6. `metadata.primary_category`: paper's primary category in *strings* defined by ArXiv
88
- 7. `metadata.comment`: some additional comment to the paper
89
-
90
- And for overall table schema, please refer to [table creation section in docs/self-query.md](docs/self-query.md#table-creation).
91
-
92
- ## How to run πŸƒ
93
-
94
- ```bash
95
- python3 -m pip install requirements.txt
96
- python3 -m streamlit run app.py
97
- ```
98
-
99
- ## How to build? 🧱
100
-
101
- See [docs/self-query.md](docs/self-query.md)
102
-
103
- ## Special Thanks πŸ‘ (Ordered Alphabetically)
104
-
105
- - [ArXiv API](https://info.arxiv.org/help/api/index.html) for its open access interoperability to pre-printed papers.
106
- - [InstructorXL](https://huggingface.co/hkunlp/instructor-xl) for its promptable embeddings that improves retrieve performance.
107
- - [LangChainπŸ¦œοΈπŸ”—](https://github.com/hwchase17/langchain/) for its easy-to-use and composable API designs and prompts.
108
- - [The Alexandria Index](https://alex.macrocosm.so/download) for providing arXiv data index to the public.
 
1
+ ---
2
+ title: ChatData
3
+ emoji: πŸ” πŸ“–
4
+ colorFrom: pink
5
+ colorTo: purple
6
+ sdk: streamlit
7
+ sdk_version: 1.20.0
8
+ app_file: app.py
9
+ pinned: true
10
+ license: mit
11
+ ---
12
+
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference