Spaces:
Runtime error
Runtime error
Commit
·
3fe739b
1
Parent(s):
ca89076
new file
Browse files- .idea/backend.iml +10 -0
- .idea/inspectionProfiles/Project_Default.xml +173 -0
- .idea/inspectionProfiles/profiles_settings.xml +6 -0
- .idea/misc.xml +7 -0
- .idea/modules.xml +8 -0
- .idea/vcs.xml +6 -0
- .idea/workspace.xml +206 -0
- Dockerfile +12 -0
- req.txt +38 -0
- src/__init__.py +0 -0
- src/__pycache__/__init__.cpython-311.pyc +0 -0
- src/__pycache__/hf.cpython-311.pyc +0 -0
- src/__pycache__/main.cpython-311.pyc +0 -0
- src/cth.py +5 -0
- src/hf.py +36 -0
- src/intent_classification/TinyBERT_106_V2/config.json +29 -0
- src/intent_classification/TinyBERT_106_V2/model.safetensors +3 -0
- src/intent_classification/TinyBERT_106_V2/optimizer.pt +3 -0
- src/intent_classification/TinyBERT_106_V2/rng_state.pth +3 -0
- src/intent_classification/TinyBERT_106_V2/scaler.pt +3 -0
- src/intent_classification/TinyBERT_106_V2/scheduler.pt +3 -0
- src/intent_classification/TinyBERT_106_V2/trainer_state.json +42 -0
- src/intent_classification/TinyBERT_106_V2/training_args.bin +3 -0
- src/main.py +37 -0
.idea/backend.iml
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<module type="PYTHON_MODULE" version="4">
|
3 |
+
<component name="NewModuleRootManager">
|
4 |
+
<content url="file://$MODULE_DIR$">
|
5 |
+
<excludeFolder url="file://$MODULE_DIR$/.venv" />
|
6 |
+
</content>
|
7 |
+
<orderEntry type="jdk" jdkName="Python 3.11 (testFastAPI)" jdkType="Python SDK" />
|
8 |
+
<orderEntry type="sourceFolder" forTests="false" />
|
9 |
+
</component>
|
10 |
+
</module>
|
.idea/inspectionProfiles/Project_Default.xml
ADDED
@@ -0,0 +1,173 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<component name="InspectionProjectProfileManager">
|
2 |
+
<profile version="1.0">
|
3 |
+
<option name="myName" value="Project Default" />
|
4 |
+
<inspection_tool class="PyPackageRequirementsInspection" enabled="true" level="WARNING" enabled_by_default="true">
|
5 |
+
<option name="ignoredPackages">
|
6 |
+
<value>
|
7 |
+
<list size="160">
|
8 |
+
<item index="0" class="java.lang.String" itemvalue="fastapi" />
|
9 |
+
<item index="1" class="java.lang.String" itemvalue="starlette" />
|
10 |
+
<item index="2" class="java.lang.String" itemvalue="uvicorn" />
|
11 |
+
<item index="3" class="java.lang.String" itemvalue="Flask" />
|
12 |
+
<item index="4" class="java.lang.String" itemvalue="openai" />
|
13 |
+
<item index="5" class="java.lang.String" itemvalue="langchain-core" />
|
14 |
+
<item index="6" class="java.lang.String" itemvalue="langsmith" />
|
15 |
+
<item index="7" class="java.lang.String" itemvalue="protobuf" />
|
16 |
+
<item index="8" class="java.lang.String" itemvalue="grpcio" />
|
17 |
+
<item index="9" class="java.lang.String" itemvalue="urllib3" />
|
18 |
+
<item index="10" class="java.lang.String" itemvalue="requests-toolbelt" />
|
19 |
+
<item index="11" class="java.lang.String" itemvalue="ormsgpack" />
|
20 |
+
<item index="12" class="java.lang.String" itemvalue="mypy" />
|
21 |
+
<item index="13" class="java.lang.String" itemvalue="h11" />
|
22 |
+
<item index="14" class="java.lang.String" itemvalue="langchain-tavily" />
|
23 |
+
<item index="15" class="java.lang.String" itemvalue="typing-inspection" />
|
24 |
+
<item index="16" class="java.lang.String" itemvalue="fsspec" />
|
25 |
+
<item index="17" class="java.lang.String" itemvalue="langgraph-checkpoint" />
|
26 |
+
<item index="18" class="java.lang.String" itemvalue="certifi" />
|
27 |
+
<item index="19" class="java.lang.String" itemvalue="tenacity" />
|
28 |
+
<item index="20" class="java.lang.String" itemvalue="soupsieve" />
|
29 |
+
<item index="21" class="java.lang.String" itemvalue="xxhash" />
|
30 |
+
<item index="22" class="java.lang.String" itemvalue="beautifulsoup4" />
|
31 |
+
<item index="23" class="java.lang.String" itemvalue="langgraph" />
|
32 |
+
<item index="24" class="java.lang.String" itemvalue="pydantic" />
|
33 |
+
<item index="25" class="java.lang.String" itemvalue="langchain-groq" />
|
34 |
+
<item index="26" class="java.lang.String" itemvalue="langgraph-prebuilt" />
|
35 |
+
<item index="27" class="java.lang.String" itemvalue="orjson" />
|
36 |
+
<item index="28" class="java.lang.String" itemvalue="packaging" />
|
37 |
+
<item index="29" class="java.lang.String" itemvalue="pypdf" />
|
38 |
+
<item index="30" class="java.lang.String" itemvalue="langgraph-sdk" />
|
39 |
+
<item index="31" class="java.lang.String" itemvalue="bcrypt" />
|
40 |
+
<item index="32" class="java.lang.String" itemvalue="pydantic_core" />
|
41 |
+
<item index="33" class="java.lang.String" itemvalue="email_validator" />
|
42 |
+
<item index="34" class="java.lang.String" itemvalue="typing_extensions" />
|
43 |
+
<item index="35" class="java.lang.String" itemvalue="charset-normalizer" />
|
44 |
+
<item index="36" class="java.lang.String" itemvalue="aiohttp" />
|
45 |
+
<item index="37" class="java.lang.String" itemvalue="langchain-openai" />
|
46 |
+
<item index="38" class="java.lang.String" itemvalue="langchain-huggingface" />
|
47 |
+
<item index="39" class="java.lang.String" itemvalue="langchain-chroma" />
|
48 |
+
<item index="40" class="java.lang.String" itemvalue="chromadb" />
|
49 |
+
<item index="41" class="java.lang.String" itemvalue="greenlet" />
|
50 |
+
<item index="42" class="java.lang.String" itemvalue="scikit-learn" />
|
51 |
+
<item index="43" class="java.lang.String" itemvalue="opentelemetry-proto" />
|
52 |
+
<item index="44" class="java.lang.String" itemvalue="marshmallow" />
|
53 |
+
<item index="45" class="java.lang.String" itemvalue="posthog" />
|
54 |
+
<item index="46" class="java.lang.String" itemvalue="langchain-community" />
|
55 |
+
<item index="47" class="java.lang.String" itemvalue="gradio_client" />
|
56 |
+
<item index="48" class="java.lang.String" itemvalue="monotonic" />
|
57 |
+
<item index="49" class="java.lang.String" itemvalue="pyreadline3" />
|
58 |
+
<item index="50" class="java.lang.String" itemvalue="passlib" />
|
59 |
+
<item index="51" class="java.lang.String" itemvalue="pywin32" />
|
60 |
+
<item index="52" class="java.lang.String" itemvalue="transformers" />
|
61 |
+
<item index="53" class="java.lang.String" itemvalue="opentelemetry-api" />
|
62 |
+
<item index="54" class="java.lang.String" itemvalue="asgiref" />
|
63 |
+
<item index="55" class="java.lang.String" itemvalue="pydub" />
|
64 |
+
<item index="56" class="java.lang.String" itemvalue="click" />
|
65 |
+
<item index="57" class="java.lang.String" itemvalue="opentelemetry-util-http" />
|
66 |
+
<item index="58" class="java.lang.String" itemvalue="attrs" />
|
67 |
+
<item index="59" class="java.lang.String" itemvalue="contourpy" />
|
68 |
+
<item index="60" class="java.lang.String" itemvalue="psutil" />
|
69 |
+
<item index="61" class="java.lang.String" itemvalue="dataclasses-json" />
|
70 |
+
<item index="62" class="java.lang.String" itemvalue="pyprojroot" />
|
71 |
+
<item index="63" class="java.lang.String" itemvalue="flatbuffers" />
|
72 |
+
<item index="64" class="java.lang.String" itemvalue="platformdirs" />
|
73 |
+
<item index="65" class="java.lang.String" itemvalue="propcache" />
|
74 |
+
<item index="66" class="java.lang.String" itemvalue="matplotlib" />
|
75 |
+
<item index="67" class="java.lang.String" itemvalue="groq" />
|
76 |
+
<item index="68" class="java.lang.String" itemvalue="msgpack" />
|
77 |
+
<item index="69" class="java.lang.String" itemvalue="httpcore" />
|
78 |
+
<item index="70" class="java.lang.String" itemvalue="rsa" />
|
79 |
+
<item index="71" class="java.lang.String" itemvalue="decorator" />
|
80 |
+
<item index="72" class="java.lang.String" itemvalue="networkx" />
|
81 |
+
<item index="73" class="java.lang.String" itemvalue="numpy" />
|
82 |
+
<item index="74" class="java.lang.String" itemvalue="pyasn1" />
|
83 |
+
<item index="75" class="java.lang.String" itemvalue="requests" />
|
84 |
+
<item index="76" class="java.lang.String" itemvalue="websocket-client" />
|
85 |
+
<item index="77" class="java.lang.String" itemvalue="Deprecated" />
|
86 |
+
<item index="78" class="java.lang.String" itemvalue="zipp" />
|
87 |
+
<item index="79" class="java.lang.String" itemvalue="mmh3" />
|
88 |
+
<item index="80" class="java.lang.String" itemvalue="websockets" />
|
89 |
+
<item index="81" class="java.lang.String" itemvalue="importlib_metadata" />
|
90 |
+
<item index="82" class="java.lang.String" itemvalue="scipy" />
|
91 |
+
<item index="83" class="java.lang.String" itemvalue="watchfiles" />
|
92 |
+
<item index="84" class="java.lang.String" itemvalue="tornado" />
|
93 |
+
<item index="85" class="java.lang.String" itemvalue="pyasn1_modules" />
|
94 |
+
<item index="86" class="java.lang.String" itemvalue="backoff" />
|
95 |
+
<item index="87" class="java.lang.String" itemvalue="lz4" />
|
96 |
+
<item index="88" class="java.lang.String" itemvalue="aiofiles" />
|
97 |
+
<item index="89" class="java.lang.String" itemvalue="torch" />
|
98 |
+
<item index="90" class="java.lang.String" itemvalue="overrides" />
|
99 |
+
<item index="91" class="java.lang.String" itemvalue="python-multipart" />
|
100 |
+
<item index="92" class="java.lang.String" itemvalue="opentelemetry-semantic-conventions" />
|
101 |
+
<item index="93" class="java.lang.String" itemvalue="pandas" />
|
102 |
+
<item index="94" class="java.lang.String" itemvalue="mpmath" />
|
103 |
+
<item index="95" class="java.lang.String" itemvalue="ruff" />
|
104 |
+
<item index="96" class="java.lang.String" itemvalue="cachetools" />
|
105 |
+
<item index="97" class="java.lang.String" itemvalue="debugpy" />
|
106 |
+
<item index="98" class="java.lang.String" itemvalue="multidict" />
|
107 |
+
<item index="99" class="java.lang.String" itemvalue="yarl" />
|
108 |
+
<item index="100" class="java.lang.String" itemvalue="pytz" />
|
109 |
+
<item index="101" class="java.lang.String" itemvalue="opentelemetry-instrumentation" />
|
110 |
+
<item index="102" class="java.lang.String" itemvalue="tiktoken" />
|
111 |
+
<item index="103" class="java.lang.String" itemvalue="kubernetes" />
|
112 |
+
<item index="104" class="java.lang.String" itemvalue="joblib" />
|
113 |
+
<item index="105" class="java.lang.String" itemvalue="threadpoolctl" />
|
114 |
+
<item index="106" class="java.lang.String" itemvalue="googleapis-common-protos" />
|
115 |
+
<item index="107" class="java.lang.String" itemvalue="huggingface-hub" />
|
116 |
+
<item index="108" class="java.lang.String" itemvalue="jiter" />
|
117 |
+
<item index="109" class="java.lang.String" itemvalue="python-dotenv" />
|
118 |
+
<item index="110" class="java.lang.String" itemvalue="PyPika" />
|
119 |
+
<item index="111" class="java.lang.String" itemvalue="cycler" />
|
120 |
+
<item index="112" class="java.lang.String" itemvalue="MarkupSafe" />
|
121 |
+
<item index="113" class="java.lang.String" itemvalue="httptools" />
|
122 |
+
<item index="114" class="java.lang.String" itemvalue="frozenlist" />
|
123 |
+
<item index="115" class="java.lang.String" itemvalue="semantic-version" />
|
124 |
+
<item index="116" class="java.lang.String" itemvalue="filelock" />
|
125 |
+
<item index="117" class="java.lang.String" itemvalue="pyzmq" />
|
126 |
+
<item index="118" class="java.lang.String" itemvalue="oauthlib" />
|
127 |
+
<item index="119" class="java.lang.String" itemvalue="anyio" />
|
128 |
+
<item index="120" class="java.lang.String" itemvalue="pyparsing" />
|
129 |
+
<item index="121" class="java.lang.String" itemvalue="opentelemetry-instrumentation-asgi" />
|
130 |
+
<item index="122" class="java.lang.String" itemvalue="sympy" />
|
131 |
+
<item index="123" class="java.lang.String" itemvalue="tokenizers" />
|
132 |
+
<item index="124" class="java.lang.String" itemvalue="dnspython" />
|
133 |
+
<item index="125" class="java.lang.String" itemvalue="opentelemetry-exporter-otlp-proto-grpc" />
|
134 |
+
<item index="126" class="java.lang.String" itemvalue="aiohappyeyeballs" />
|
135 |
+
<item index="127" class="java.lang.String" itemvalue="kiwisolver" />
|
136 |
+
<item index="128" class="java.lang.String" itemvalue="coloredlogs" />
|
137 |
+
<item index="129" class="java.lang.String" itemvalue="opentelemetry-instrumentation-fastapi" />
|
138 |
+
<item index="130" class="java.lang.String" itemvalue="fonttools" />
|
139 |
+
<item index="131" class="java.lang.String" itemvalue="ffmpy" />
|
140 |
+
<item index="132" class="java.lang.String" itemvalue="shellingham" />
|
141 |
+
<item index="133" class="java.lang.String" itemvalue="protoc-gen-openapiv2" />
|
142 |
+
<item index="134" class="java.lang.String" itemvalue="gradio" />
|
143 |
+
<item index="135" class="java.lang.String" itemvalue="SQLAlchemy" />
|
144 |
+
<item index="136" class="java.lang.String" itemvalue="mypy-extensions" />
|
145 |
+
<item index="137" class="java.lang.String" itemvalue="opentelemetry-sdk" />
|
146 |
+
<item index="138" class="java.lang.String" itemvalue="jupyter_core" />
|
147 |
+
<item index="139" class="java.lang.String" itemvalue="Jinja2" />
|
148 |
+
<item index="140" class="java.lang.String" itemvalue="requests-oauthlib" />
|
149 |
+
<item index="141" class="java.lang.String" itemvalue="onnxruntime" />
|
150 |
+
<item index="142" class="java.lang.String" itemvalue="chroma-hnswlib" />
|
151 |
+
<item index="143" class="java.lang.String" itemvalue="tomlkit" />
|
152 |
+
<item index="144" class="java.lang.String" itemvalue="Chroma" />
|
153 |
+
<item index="145" class="java.lang.String" itemvalue="typer" />
|
154 |
+
<item index="146" class="java.lang.String" itemvalue="importlib_resources" />
|
155 |
+
<item index="147" class="java.lang.String" itemvalue="prompt_toolkit" />
|
156 |
+
<item index="148" class="java.lang.String" itemvalue="pyproject_hooks" />
|
157 |
+
<item index="149" class="java.lang.String" itemvalue="tzdata" />
|
158 |
+
<item index="150" class="java.lang.String" itemvalue="ipython" />
|
159 |
+
<item index="151" class="java.lang.String" itemvalue="rich" />
|
160 |
+
<item index="152" class="java.lang.String" itemvalue="sentence-transformers" />
|
161 |
+
<item index="153" class="java.lang.String" itemvalue="humanfriendly" />
|
162 |
+
<item index="154" class="java.lang.String" itemvalue="build" />
|
163 |
+
<item index="155" class="java.lang.String" itemvalue="typing-inspect" />
|
164 |
+
<item index="156" class="java.lang.String" itemvalue="pillow" />
|
165 |
+
<item index="157" class="java.lang.String" itemvalue="durationpy" />
|
166 |
+
<item index="158" class="java.lang.String" itemvalue="opentelemetry-exporter-otlp-proto-common" />
|
167 |
+
<item index="159" class="java.lang.String" itemvalue="google-auth" />
|
168 |
+
</list>
|
169 |
+
</value>
|
170 |
+
</option>
|
171 |
+
</inspection_tool>
|
172 |
+
</profile>
|
173 |
+
</component>
|
.idea/inspectionProfiles/profiles_settings.xml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<component name="InspectionProjectProfileManager">
|
2 |
+
<settings>
|
3 |
+
<option name="USE_PROJECT_PROFILE" value="false" />
|
4 |
+
<version value="1.0" />
|
5 |
+
</settings>
|
6 |
+
</component>
|
.idea/misc.xml
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<project version="4">
|
3 |
+
<component name="Black">
|
4 |
+
<option name="sdkName" value="Python 3.11 (backend)" />
|
5 |
+
</component>
|
6 |
+
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (testFastAPI)" project-jdk-type="Python SDK" />
|
7 |
+
</project>
|
.idea/modules.xml
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<project version="4">
|
3 |
+
<component name="ProjectModuleManager">
|
4 |
+
<modules>
|
5 |
+
<module fileurl="file://$PROJECT_DIR$/.idea/backend.iml" filepath="$PROJECT_DIR$/.idea/backend.iml" />
|
6 |
+
</modules>
|
7 |
+
</component>
|
8 |
+
</project>
|
.idea/vcs.xml
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<project version="4">
|
3 |
+
<component name="VcsDirectoryMappings">
|
4 |
+
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
|
5 |
+
</component>
|
6 |
+
</project>
|
.idea/workspace.xml
ADDED
@@ -0,0 +1,206 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<project version="4">
|
3 |
+
<component name="AutoImportSettings">
|
4 |
+
<option name="autoReloadType" value="SELECTIVE" />
|
5 |
+
</component>
|
6 |
+
<component name="ChangeListManager">
|
7 |
+
<list default="true" id="97eb2116-4dd1-4bcc-a29c-6c795f3e7ca1" name="Changes" comment="src.hf" />
|
8 |
+
<option name="SHOW_DIALOG" value="false" />
|
9 |
+
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
10 |
+
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
|
11 |
+
<option name="LAST_RESOLUTION" value="IGNORE" />
|
12 |
+
</component>
|
13 |
+
<component name="FileTemplateManagerImpl">
|
14 |
+
<option name="RECENT_TEMPLATES">
|
15 |
+
<list>
|
16 |
+
<option value="Python Script" />
|
17 |
+
</list>
|
18 |
+
</option>
|
19 |
+
</component>
|
20 |
+
<component name="Git.Settings">
|
21 |
+
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$/.." />
|
22 |
+
</component>
|
23 |
+
<component name="GitHubPullRequestSearchHistory">{
|
24 |
+
"lastFilter": {
|
25 |
+
"state": "OPEN",
|
26 |
+
"assignee": "KhairulAmirinKA"
|
27 |
+
}
|
28 |
+
}</component>
|
29 |
+
<component name="GithubPullRequestsUISettings">{
|
30 |
+
"selectedUrlAndAccountId": {
|
31 |
+
"url": "https://github.com/KhairulAmirinKA/FullStackVercel.git",
|
32 |
+
"accountId": "5525266d-3f70-4ffb-979d-163101ed4575"
|
33 |
+
}
|
34 |
+
}</component>
|
35 |
+
<component name="ProjectColorInfo">{
|
36 |
+
"associatedIndex": 6
|
37 |
+
}</component>
|
38 |
+
<component name="ProjectId" id="2yaAmqX2YhWkLqJvYAggZJ9zXu8" />
|
39 |
+
<component name="ProjectLevelVcsManager" settingsEditedManually="true" />
|
40 |
+
<component name="ProjectViewState">
|
41 |
+
<option name="hideEmptyMiddlePackages" value="true" />
|
42 |
+
<option name="showLibraryContents" value="true" />
|
43 |
+
</component>
|
44 |
+
<component name="PropertiesComponent"><![CDATA[{
|
45 |
+
"keyToString": {
|
46 |
+
"Python.cth.executor": "Run",
|
47 |
+
"Python.hf (1).executor": "Run",
|
48 |
+
"Python.hf.executor": "Run",
|
49 |
+
"Python.main (1).executor": "Run",
|
50 |
+
"Python.main.executor": "Run",
|
51 |
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
52 |
+
"git-widget-placeholder": "main",
|
53 |
+
"last_opened_file_path": "D:/Development_Web/testFastAPI",
|
54 |
+
"settings.editor.selected.configurable": "project.propVCSSupport.DirectoryMappings"
|
55 |
+
}
|
56 |
+
}]]></component>
|
57 |
+
<component name="RecentsManager">
|
58 |
+
<key name="CopyFile.RECENT_KEYS">
|
59 |
+
<recent name="D:\Development_Web\FullStackVercel\backend" />
|
60 |
+
</key>
|
61 |
+
<key name="MoveFile.RECENT_KEYS">
|
62 |
+
<recent name="D:\Development_Web\FullStackVercel\backend\src" />
|
63 |
+
</key>
|
64 |
+
</component>
|
65 |
+
<component name="RunManager" selected="Python.hf">
|
66 |
+
<configuration name="cth" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
67 |
+
<module name="backend" />
|
68 |
+
<option name="ENV_FILES" value="" />
|
69 |
+
<option name="INTERPRETER_OPTIONS" value="" />
|
70 |
+
<option name="PARENT_ENVS" value="true" />
|
71 |
+
<envs>
|
72 |
+
<env name="PYTHONUNBUFFERED" value="1" />
|
73 |
+
</envs>
|
74 |
+
<option name="SDK_HOME" value="" />
|
75 |
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/src" />
|
76 |
+
<option name="IS_MODULE_SDK" value="true" />
|
77 |
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
78 |
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
79 |
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/src/cth.py" />
|
80 |
+
<option name="PARAMETERS" value="" />
|
81 |
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
82 |
+
<option name="EMULATE_TERMINAL" value="false" />
|
83 |
+
<option name="MODULE_MODE" value="false" />
|
84 |
+
<option name="REDIRECT_INPUT" value="false" />
|
85 |
+
<option name="INPUT_FILE" value="" />
|
86 |
+
<method v="2" />
|
87 |
+
</configuration>
|
88 |
+
<configuration name="hf" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
89 |
+
<module name="backend" />
|
90 |
+
<option name="ENV_FILES" value="" />
|
91 |
+
<option name="INTERPRETER_OPTIONS" value="" />
|
92 |
+
<option name="PARENT_ENVS" value="true" />
|
93 |
+
<envs>
|
94 |
+
<env name="PYTHONUNBUFFERED" value="1" />
|
95 |
+
</envs>
|
96 |
+
<option name="SDK_HOME" value="" />
|
97 |
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/src" />
|
98 |
+
<option name="IS_MODULE_SDK" value="true" />
|
99 |
+
<option name="ADD_CONTENT_ROOTS" value="true" />
|
100 |
+
<option name="ADD_SOURCE_ROOTS" value="true" />
|
101 |
+
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/src/hf.py" />
|
102 |
+
<option name="PARAMETERS" value="" />
|
103 |
+
<option name="SHOW_COMMAND_LINE" value="false" />
|
104 |
+
<option name="EMULATE_TERMINAL" value="false" />
|
105 |
+
<option name="MODULE_MODE" value="false" />
|
106 |
+
<option name="REDIRECT_INPUT" value="false" />
|
107 |
+
<option name="INPUT_FILE" value="" />
|
108 |
+
<method v="2" />
|
109 |
+
</configuration>
|
110 |
+
<recent_temporary>
|
111 |
+
<list>
|
112 |
+
<item itemvalue="Python.hf" />
|
113 |
+
<item itemvalue="Python.cth" />
|
114 |
+
</list>
|
115 |
+
</recent_temporary>
|
116 |
+
</component>
|
117 |
+
<component name="SharedIndexes">
|
118 |
+
<attachedChunks>
|
119 |
+
<set>
|
120 |
+
<option value="bundled-python-sdk-884f5ed5d46b-c546a90a8094-com.jetbrains.pycharm.community.sharedIndexes.bundled-PC-242.22855.92" />
|
121 |
+
</set>
|
122 |
+
</attachedChunks>
|
123 |
+
</component>
|
124 |
+
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
|
125 |
+
<component name="TaskManager">
|
126 |
+
<task active="true" id="Default" summary="Default task">
|
127 |
+
<changelist id="97eb2116-4dd1-4bcc-a29c-6c795f3e7ca1" name="Changes" comment="" />
|
128 |
+
<created>1750062472546</created>
|
129 |
+
<option name="number" value="Default" />
|
130 |
+
<option name="presentableId" value="Default" />
|
131 |
+
<updated>1750062472546</updated>
|
132 |
+
</task>
|
133 |
+
<task id="LOCAL-00001" summary="hf">
|
134 |
+
<option name="closed" value="true" />
|
135 |
+
<created>1750126385193</created>
|
136 |
+
<option name="number" value="00001" />
|
137 |
+
<option name="presentableId" value="LOCAL-00001" />
|
138 |
+
<option name="project" value="LOCAL" />
|
139 |
+
<updated>1750126385193</updated>
|
140 |
+
</task>
|
141 |
+
<task id="LOCAL-00002" summary="basic fast api">
|
142 |
+
<option name="closed" value="true" />
|
143 |
+
<created>1750229787935</created>
|
144 |
+
<option name="number" value="00002" />
|
145 |
+
<option name="presentableId" value="LOCAL-00002" />
|
146 |
+
<option name="project" value="LOCAL" />
|
147 |
+
<updated>1750229787935</updated>
|
148 |
+
</task>
|
149 |
+
<task id="LOCAL-00003" summary="dockerfile">
|
150 |
+
<option name="closed" value="true" />
|
151 |
+
<created>1750230367205</created>
|
152 |
+
<option name="number" value="00003" />
|
153 |
+
<option name="presentableId" value="LOCAL-00003" />
|
154 |
+
<option name="project" value="LOCAL" />
|
155 |
+
<updated>1750230367205</updated>
|
156 |
+
</task>
|
157 |
+
<task id="LOCAL-00004" summary="src ada init">
|
158 |
+
<option name="closed" value="true" />
|
159 |
+
<created>1750231788814</created>
|
160 |
+
<option name="number" value="00004" />
|
161 |
+
<option name="presentableId" value="LOCAL-00004" />
|
162 |
+
<option name="project" value="LOCAL" />
|
163 |
+
<updated>1750231788814</updated>
|
164 |
+
</task>
|
165 |
+
<task id="LOCAL-00005" summary="src.hf">
|
166 |
+
<option name="closed" value="true" />
|
167 |
+
<created>1750233260607</created>
|
168 |
+
<option name="number" value="00005" />
|
169 |
+
<option name="presentableId" value="LOCAL-00005" />
|
170 |
+
<option name="project" value="LOCAL" />
|
171 |
+
<updated>1750233260607</updated>
|
172 |
+
</task>
|
173 |
+
<task id="LOCAL-00006" summary="src.hf">
|
174 |
+
<option name="closed" value="true" />
|
175 |
+
<created>1750233269452</created>
|
176 |
+
<option name="number" value="00006" />
|
177 |
+
<option name="presentableId" value="LOCAL-00006" />
|
178 |
+
<option name="project" value="LOCAL" />
|
179 |
+
<updated>1750233269452</updated>
|
180 |
+
</task>
|
181 |
+
<option name="localTasksCounter" value="7" />
|
182 |
+
<servers />
|
183 |
+
</component>
|
184 |
+
<component name="Vcs.Log.Tabs.Properties">
|
185 |
+
<option name="TAB_STATES">
|
186 |
+
<map>
|
187 |
+
<entry key="MAIN">
|
188 |
+
<value>
|
189 |
+
<State />
|
190 |
+
</value>
|
191 |
+
</entry>
|
192 |
+
</map>
|
193 |
+
</option>
|
194 |
+
</component>
|
195 |
+
<component name="VcsManagerConfiguration">
|
196 |
+
<ignored-roots>
|
197 |
+
<path value="$PROJECT_DIR$" />
|
198 |
+
</ignored-roots>
|
199 |
+
<MESSAGE value="hf" />
|
200 |
+
<MESSAGE value="basic fast api" />
|
201 |
+
<MESSAGE value="dockerfile" />
|
202 |
+
<MESSAGE value="src ada init" />
|
203 |
+
<MESSAGE value="src.hf" />
|
204 |
+
<option name="LAST_COMMIT_MESSAGE" value="src.hf" />
|
205 |
+
</component>
|
206 |
+
</project>
|
Dockerfile
ADDED
@@ -0,0 +1,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
FROM python:3.11
|
2 |
+
|
3 |
+
WORKDIR /code
|
4 |
+
|
5 |
+
COPY ./req.txt /code/requirements.txt
|
6 |
+
|
7 |
+
RUN pip install --no-cache-dir -r /code/requirements.txt
|
8 |
+
|
9 |
+
COPY ./src /code/src
|
10 |
+
|
11 |
+
# Set the entry point for FastAPI (assumes the app is in takjadi.main.py and the instance is 'app')
|
12 |
+
CMD ["uvicorn", "src.main:app", "--host", "0.0.0.0", "--port", "8080"]
|
req.txt
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
annotated-types==0.7.0
|
2 |
+
anyio==4.9.0
|
3 |
+
certifi==2025.6.15
|
4 |
+
charset-normalizer==3.4.2
|
5 |
+
click==8.2.1
|
6 |
+
colorama==0.4.6
|
7 |
+
fastapi==0.115.12
|
8 |
+
filelock==3.18.0
|
9 |
+
fsspec==2025.5.1
|
10 |
+
h11==0.16.0
|
11 |
+
huggingface-hub==0.33.0
|
12 |
+
idna==3.10
|
13 |
+
Jinja2==3.1.6
|
14 |
+
MarkupSafe==3.0.2
|
15 |
+
mpmath==1.3.0
|
16 |
+
networkx==3.5
|
17 |
+
numpy==2.3.0
|
18 |
+
packaging==25.0
|
19 |
+
pillow==11.2.1
|
20 |
+
pydantic==2.11.7
|
21 |
+
pydantic_core==2.33.2
|
22 |
+
PyYAML==6.0.2
|
23 |
+
regex==2024.11.6
|
24 |
+
requests==2.32.4
|
25 |
+
safetensors==0.5.3
|
26 |
+
sniffio==1.3.1
|
27 |
+
starlette==0.46.2
|
28 |
+
sympy==1.14.0
|
29 |
+
tokenizers==0.21.1
|
30 |
+
torch==2.7.1
|
31 |
+
torchaudio==2.7.1
|
32 |
+
torchvision==0.22.1
|
33 |
+
tqdm==4.67.1
|
34 |
+
transformers==4.52.4
|
35 |
+
typing-inspection==0.4.1
|
36 |
+
typing_extensions==4.14.0
|
37 |
+
urllib3==2.4.0
|
38 |
+
uvicorn==0.34.3
|
src/__init__.py
ADDED
File without changes
|
src/__pycache__/__init__.cpython-311.pyc
ADDED
Binary file (167 Bytes). View file
|
|
src/__pycache__/hf.cpython-311.pyc
ADDED
Binary file (1.4 kB). View file
|
|
src/__pycache__/main.cpython-311.pyc
ADDED
Binary file (1.75 kB). View file
|
|
src/cth.py
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import os
|
2 |
+
|
3 |
+
model_path = 'intent_classification/TinyBERT_106_V2' # can try other checkpoints
|
4 |
+
|
5 |
+
print(os.path.exists(model_path))
|
src/hf.py
ADDED
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from transformers import BertTokenizer, BertForSequenceClassification,TextClassificationPipeline, AutoModelForSequenceClassification
|
2 |
+
# Load tokenizer and model from the fine-tuned directory
|
3 |
+
model_path = 'intent_classification/TinyBERT_106_V2' # can try other checkpoints
|
4 |
+
|
5 |
+
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
|
6 |
+
# model = BertForSequenceClassification.from_pretrained(model_path)
|
7 |
+
model = AutoModelForSequenceClassification.from_pretrained(model_path)
|
8 |
+
|
9 |
+
print("TInyBERT model is ready to use")
|
10 |
+
|
11 |
+
|
12 |
+
# for classification pipeline
|
13 |
+
text_pipeline = TextClassificationPipeline(model=model, tokenizer=tokenizer)
|
14 |
+
|
15 |
+
# function to generate response
|
16 |
+
def generate_response(user_query):
|
17 |
+
response = text_pipeline(user_query)
|
18 |
+
|
19 |
+
# example of response: [{'label': 'LABEL_4', 'score': 0.9997817873954773}]
|
20 |
+
label_name = response[0].get('label')
|
21 |
+
score = response[0].get('score')
|
22 |
+
|
23 |
+
# label for each math topic based on label_name
|
24 |
+
topic_label='NA'
|
25 |
+
|
26 |
+
match label_name:
|
27 |
+
case "LABEL_0":
|
28 |
+
topic_label='RAG'
|
29 |
+
|
30 |
+
case "LABEL_1":
|
31 |
+
topic_label = 'Neo4j'
|
32 |
+
|
33 |
+
return topic_label, score
|
34 |
+
|
35 |
+
|
36 |
+
print(generate_response("Procedure to withdraw"))
|
src/intent_classification/TinyBERT_106_V2/config.json
ADDED
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"architectures": [
|
3 |
+
"BertForSequenceClassification"
|
4 |
+
],
|
5 |
+
"attention_probs_dropout_prob": 0.1,
|
6 |
+
"cell": {},
|
7 |
+
"classifier_dropout": null,
|
8 |
+
"emb_size": 312,
|
9 |
+
"hidden_act": "gelu",
|
10 |
+
"hidden_dropout_prob": 0.1,
|
11 |
+
"hidden_size": 312,
|
12 |
+
"initializer_range": 0.02,
|
13 |
+
"intermediate_size": 1200,
|
14 |
+
"layer_norm_eps": 1e-12,
|
15 |
+
"max_position_embeddings": 512,
|
16 |
+
"model_type": "bert",
|
17 |
+
"num_attention_heads": 12,
|
18 |
+
"num_hidden_layers": 4,
|
19 |
+
"pad_token_id": 0,
|
20 |
+
"position_embedding_type": "absolute",
|
21 |
+
"pre_trained": "",
|
22 |
+
"problem_type": "single_label_classification",
|
23 |
+
"structure": [],
|
24 |
+
"torch_dtype": "float32",
|
25 |
+
"transformers_version": "4.51.3",
|
26 |
+
"type_vocab_size": 2,
|
27 |
+
"use_cache": true,
|
28 |
+
"vocab_size": 30522
|
29 |
+
}
|
src/intent_classification/TinyBERT_106_V2/model.safetensors
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:f96a87186a9afe5899d7e26362a193a3f920bd991a759691feff079de7f03ee0
|
3 |
+
size 57411808
|
src/intent_classification/TinyBERT_106_V2/optimizer.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:e0d5b89de8df7d847f4db651765e0d8d07e3dbb63c094f745ba91a2759022a56
|
3 |
+
size 114865914
|
src/intent_classification/TinyBERT_106_V2/rng_state.pth
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:5b62455da5a3d11c72f3c7d3678d332874edf6ed34a82bfc25f43ce0c43670a8
|
3 |
+
size 14244
|
src/intent_classification/TinyBERT_106_V2/scaler.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:1ae8add2cb7464d9a4c063beaa2d33820590e81e70b03da6f858d508e3f05d14
|
3 |
+
size 988
|
src/intent_classification/TinyBERT_106_V2/scheduler.pt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:488764d60e6089803d688d68f5aa55f0ac30ab52c5f72d4fa024b207a0bb8d73
|
3 |
+
size 1064
|
src/intent_classification/TinyBERT_106_V2/trainer_state.json
ADDED
@@ -0,0 +1,42 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
{
|
2 |
+
"best_global_step": null,
|
3 |
+
"best_metric": null,
|
4 |
+
"best_model_checkpoint": null,
|
5 |
+
"epoch": 20.0,
|
6 |
+
"eval_steps": 500,
|
7 |
+
"global_step": 80,
|
8 |
+
"is_hyper_param_search": false,
|
9 |
+
"is_local_process_zero": true,
|
10 |
+
"is_world_process_zero": true,
|
11 |
+
"log_history": [],
|
12 |
+
"logging_steps": 500,
|
13 |
+
"max_steps": 80,
|
14 |
+
"num_input_tokens_seen": 0,
|
15 |
+
"num_train_epochs": 20,
|
16 |
+
"save_steps": 500,
|
17 |
+
"stateful_callbacks": {
|
18 |
+
"EarlyStoppingCallback": {
|
19 |
+
"args": {
|
20 |
+
"early_stopping_patience": 2,
|
21 |
+
"early_stopping_threshold": 0.0
|
22 |
+
},
|
23 |
+
"attributes": {
|
24 |
+
"early_stopping_patience_counter": 0
|
25 |
+
}
|
26 |
+
},
|
27 |
+
"TrainerControl": {
|
28 |
+
"args": {
|
29 |
+
"should_epoch_stop": false,
|
30 |
+
"should_evaluate": false,
|
31 |
+
"should_log": false,
|
32 |
+
"should_save": true,
|
33 |
+
"should_training_stop": true
|
34 |
+
},
|
35 |
+
"attributes": {}
|
36 |
+
}
|
37 |
+
},
|
38 |
+
"total_flos": 16346455695360.0,
|
39 |
+
"train_batch_size": 8,
|
40 |
+
"trial_name": null,
|
41 |
+
"trial_params": null
|
42 |
+
}
|
src/intent_classification/TinyBERT_106_V2/training_args.bin
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
version https://git-lfs.github.com/spec/v1
|
2 |
+
oid sha256:d221d1cde1415863cbf5a9aa614792d028746f63c84d17cb8ed8decc24db1605
|
3 |
+
size 5304
|
src/main.py
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import uvicorn
|
2 |
+
from fastapi import FastAPI
|
3 |
+
from fastapi.middleware.cors import CORSMiddleware
|
4 |
+
from src.hf import generate_response
|
5 |
+
|
6 |
+
|
7 |
+
app = FastAPI()
|
8 |
+
# for CORS
|
9 |
+
origins = ['http://localhost:3000', 'http://localhost:5173', 'http://localhost:5174']
|
10 |
+
|
11 |
+
# middleware
|
12 |
+
app.add_middleware(
|
13 |
+
CORSMiddleware,
|
14 |
+
allow_origins = origins,
|
15 |
+
allow_credentials = True,
|
16 |
+
allow_methods = ['*'],
|
17 |
+
allow_headers = ['*']
|
18 |
+
)
|
19 |
+
|
20 |
+
@app.get("/")
|
21 |
+
async def root():
|
22 |
+
return {"message": "Hello World"}
|
23 |
+
|
24 |
+
@app.get("/book")
|
25 |
+
async def root():
|
26 |
+
return {"book_name": "Hikayat Naga Terbang"}
|
27 |
+
|
28 |
+
@app.post('/classify')
|
29 |
+
async def classify_text(question:str):
|
30 |
+
answer = generate_response(question)
|
31 |
+
topic_label, score = answer
|
32 |
+
|
33 |
+
return {"label": topic_label}
|
34 |
+
|
35 |
+
|
36 |
+
if __name__ == '__main__':
|
37 |
+
uvicorn.run("main:app", host="127.0.0.1", port=8000, reload=True)
|