Добавьте файлы проекта.
This commit is contained in:
3
PythonProject/.idea/.gitignore
generated
vendored
Normal file
3
PythonProject/.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
||||
10
PythonProject/.idea/PythonProject.iml
generated
Normal file
10
PythonProject/.idea/PythonProject.iml
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$">
|
||||
<excludeFolder url="file://$MODULE_DIR$/venv" />
|
||||
</content>
|
||||
<orderEntry type="inheritedJdk" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
||||
6
PythonProject/.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
6
PythonProject/.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
||||
7
PythonProject/.idea/misc.xml
generated
Normal file
7
PythonProject/.idea/misc.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="Black">
|
||||
<option name="sdkName" value="Python 3.11 (PythonProject)" />
|
||||
</component>
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.11 (PythonProject)" project-jdk-type="Python SDK" />
|
||||
</project>
|
||||
8
PythonProject/.idea/modules.xml
generated
Normal file
8
PythonProject/.idea/modules.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/PythonProject.iml" filepath="$PROJECT_DIR$/.idea/PythonProject.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
||||
30
PythonProject/main.py
Normal file
30
PythonProject/main.py
Normal file
@@ -0,0 +1,30 @@
|
||||
from fastapi import FastAPI
|
||||
from pydantic import BaseModel
|
||||
from transformers import AutoTokenizer, AutoModel
|
||||
import torch
|
||||
import uvicorn # <-- Добавили импорт
|
||||
|
||||
app = FastAPI(title="GraphCodeBERT Vectorizer")
|
||||
|
||||
# Загружаем модель глобально при старте приложения
|
||||
model_name = "microsoft/graphcodebert-base"
|
||||
tokenizer = AutoTokenizer.from_pretrained(model_name)
|
||||
model = AutoModel.from_pretrained(model_name)
|
||||
|
||||
class ChunkRequest(BaseModel):
|
||||
text: str
|
||||
|
||||
@app.post("/vectorize")
|
||||
def vectorize(request: ChunkRequest):
|
||||
inputs = tokenizer(request.text, return_tensors="pt", truncation=True, max_length=512)
|
||||
|
||||
with torch.no_grad():
|
||||
outputs = model(**inputs)
|
||||
|
||||
vector = outputs.last_hidden_state[:, 0, :].squeeze().tolist()
|
||||
return {"vector": vector}
|
||||
|
||||
# <-- Добавили блок запуска
|
||||
if __name__ == "__main__":
|
||||
print("Запускаем сервер на порту 8000...")
|
||||
uvicorn.run(app, host="0.0.0.0", port=8000)
|
||||
5
PythonProject/requirements.txt
Normal file
5
PythonProject/requirements.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
fastapi
|
||||
uvicorn
|
||||
transformers
|
||||
torch
|
||||
pydantic
|
||||
Reference in New Issue
Block a user