first push

This commit is contained in:
Chevallier
2026-06-12 18:16:58 +02:00
commit a7d8914e25
53 changed files with 1655 additions and 0 deletions

View File

View File

@@ -0,0 +1,40 @@
import httpx
from app.core.config import settings
async def build_embedding(text: str) -> dict:
"""
Génère un vecteur d'embedding en interrogeant le conteneur local llama.cpp
"""
url = f"{settings.embedding_base_url}/embeddings"
headers = {
"Content-Type": "application/json"
}
payload = {
"input": text,
"model": settings.embedding_model
}
async with httpx.AsyncClient(timeout=30.0) as client:
try:
response = await client.post(url, json=payload, headers=headers)
response.raise_for_status()
data = response.json()
vector = data["data"][0]["embedding"]
return {
"model": settings.embedding_model,
"text_length": len(text),
"vector": vector,
}
except httpx.HTTPError as e:
print(f"Erreur lors de la génération de l'embedding : {e}")
return {
"model": settings.embedding_model,
"text_length": len(text),
"vector": [],
}

View File

@@ -0,0 +1,11 @@
from app.repositories.qdrant_repository import QdrantRepository
from app.services.embedding_service import build_embedding
qdrant_repository = QdrantRepository()
async def find_existing_project(user_input: str):
# query_vector = await build_embedding.get_mesh_embedding(user_input)
dummy_vector = [0.0] * 1024 # A modifier avec un vrai embedding plus tard TODO
return await qdrant_repository.search_similar_project(query_vector=dummy_vector)

View File

@@ -0,0 +1,6 @@
from app.graph.workflow import compiled_graph
async def run_arc_workflow(user_input: str) -> dict:
result = await compiled_graph.ainvoke({"user_input": user_input})
return result