MCPcopy Create free account
hub / github.com/zai-org/ChatGLM3 / get_embeddings

Function get_embeddings

openai_api_demo/api_server.py:179–212  ·  view source on GitHub ↗
(request: EmbeddingRequest)

Source from the content-addressed store, hash-verified

177
178@app.post("/v1/embeddings", response_model=EmbeddingResponse)
179async def get_embeddings(request: EmbeddingRequest):
180 if isinstance(request.input, str):
181 embeddings = [embedding_model.encode(request.input)]
182 else:
183 embeddings = [embedding_model.encode(text) for text in request.input]
184 embeddings = [embedding.tolist() for embedding in embeddings]
185
186 def num_tokens_from_string(string: str) -> int:
187 """
188 Returns the number of tokens in a text string.
189 use cl100k_base tokenizer
190 """
191 encoding = tiktoken.get_encoding('cl100k_base')
192 num_tokens = len(encoding.encode(string))
193 return num_tokens
194
195 response = {
196 "data": [
197 {
198 "object": "embedding",
199 "embedding": embedding,
200 "index": index
201 }
202 for index, embedding in enumerate(embeddings)
203 ],
204 "model": request.model,
205 "object": "list",
206 "usage": CompletionUsage(
207 prompt_tokens=sum(len(text.split()) for text in request.input),
208 completion_tokens=0,
209 total_tokens=sum(num_tokens_from_string(text) for text in request.input),
210 )
211 }
212 return response
213
214
215@app.get("/v1/models", response_model=ModelList)

Callers

nothing calls this directly

Calls 2

CompletionUsageClass · 0.70
num_tokens_from_stringFunction · 0.70

Tested by

no test coverage detected