File tree Expand file tree Collapse file tree 3 files changed +57
-0
lines changed Expand file tree Collapse file tree 3 files changed +57
-0
lines changed Original file line number Diff line number Diff line change
1
+ from typing import Annotated
2
+
3
+ from litestar import Controller , post
4
+ from litestar .di import Provide
5
+ from litestar .params import Dependency
6
+ from litestar .status_codes import HTTP_200_OK
7
+
8
+ from server .dependencies import embedder_model
9
+ from server .features .embeddings import Embedder
10
+ from server .schemas .v1 import Embedding
11
+
12
+
13
+ class EmbeddingController (Controller ):
14
+ """
15
+ Summary
16
+ -------
17
+ Litestar controller for embedding-related debug endpoints
18
+ """
19
+
20
+ path = '/embedding'
21
+ dependencies = {'embedder' : Provide (embedder_model )}
22
+
23
+ @post (status_code = HTTP_200_OK , sync_to_thread = True )
24
+ def generate (
25
+ self ,
26
+ embedder : Annotated [Embedder , Dependency ()],
27
+ data : Embedding ,
28
+ encode_query : bool = False ,
29
+ ) -> float :
30
+ """
31
+ Summary
32
+ -------
33
+ an endpoint for generating text directly from the LLM model
34
+ """
35
+ instruction_embedding = (
36
+ embedder .encode_query (data .instruction ) if encode_query else embedder .encode_normalise (data .instruction )
37
+ )
38
+
39
+ return float (instruction_embedding @ embedder .encode_normalise (data .text ).T )
Original file line number Diff line number Diff line change 1
1
from server .schemas .v1 .benchmark import Benchmark as Benchmark
2
2
from server .schemas .v1 .chat import Chat as Chat
3
+ from server .schemas .v1 .embedding import Embedding as Embedding
3
4
from server .schemas .v1 .files import Files as Files
4
5
from server .schemas .v1 .query import Query as Query
Original file line number Diff line number Diff line change
1
+ from msgspec import Struct
2
+
3
+
4
+ class Embedding (Struct ):
5
+ """
6
+ Summary
7
+ -------
8
+ the response schema on embedding
9
+
10
+ Attributes
11
+ ----------
12
+ instruction (str) : the instruction
13
+ text (str) : the text to compare similarity
14
+ """
15
+
16
+ instruction : str
17
+ text : str
You can’t perform that action at this time.
0 commit comments