Skip to content

Commit 77e8838

Browse files
committed
types of embedding
1 parent fe7803e commit 77e8838

File tree

3 files changed

+25
-8
lines changed

3 files changed

+25
-8
lines changed

src/routes/embeddings/route.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,15 @@ import consola from "consola"
22
import { Hono } from "hono"
33
import { FetchError } from "ofetch"
44

5-
import type { ChatCompletionsPayload } from "~/services/copilot/chat-completions/types.ts"
5+
import type { EmbeddingRequest } from "~/services/copilot/embedding/types"
66

77
import { embedding } from "~/services/copilot/embedding/service"
88

99
export const embeddingRoutes = new Hono()
1010

1111
embeddingRoutes.post("/", async (c) => {
1212
try {
13-
const embeddings = await embedding(
14-
await c.req.json<ChatCompletionsPayload>(),
15-
)
13+
const embeddings = await embedding(await c.req.json<EmbeddingRequest>())
1614
return c.json(embeddings)
1715
} catch (error) {
1816
if (error instanceof FetchError) {

src/services/copilot/embedding/service.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
import type { ChatCompletionsPayload } from "~/services/copilot/chat-completions/types.ts"
2-
import type { GetModelsResponse } from "~/services/copilot/get-models/types.ts"
1+
import type { EmbeddingRequest, EmbeddingResponse } from "./types"
32

43
import { copilot } from "../../api-instance"
54

6-
export const embedding = (payload: ChatCompletionsPayload) =>
7-
copilot<GetModelsResponse>("/embeddings", {
5+
export const embedding = (payload: EmbeddingRequest) =>
6+
copilot<EmbeddingResponse>("/embeddings", {
87
method: "POST",
98
body: {
109
...payload,
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
export interface EmbeddingRequest {
2+
input: string | Array<string>
3+
model: string
4+
}
5+
6+
export interface Embedding {
7+
object: string
8+
embedding: Array<number>
9+
index: number
10+
}
11+
12+
export interface EmbeddingResponse {
13+
object: string
14+
data: Array<Embedding>
15+
model: string
16+
usage: {
17+
prompt_tokens: number
18+
total_tokens: number
19+
}
20+
}

0 commit comments

Comments
 (0)