-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ceba2a3
commit cf59ec3
Showing
6 changed files
with
169 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
configured_endpoints: 6 | ||
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/groqcloud%2Fgroqcloud-c28de228634e737a173375583a09eef5e0d7fa81fcdf7090d14d194e6ef4fdc5.yml | ||
configured_endpoints: 7 | ||
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/groqcloud%2Fgroqcloud-a3e82ffbc462174007a5f736784cde91069ac2fd1468c89b0b9faea2fa82580a.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. | ||
|
||
import * as Core from '../core'; | ||
import { APIResource } from '../resource'; | ||
import * as EmbeddingsAPI from './embeddings'; | ||
|
||
export class Embeddings extends APIResource { | ||
/** | ||
* Creates an embedding vector representing the input text. | ||
*/ | ||
create( | ||
body: EmbeddingCreateParams, | ||
options?: Core.RequestOptions, | ||
): Core.APIPromise<CreateEmbeddingResponse> { | ||
return this._client.post('/openai/v1/embeddings', { body, ...options }); | ||
} | ||
} | ||
|
||
export interface CreateEmbeddingResponse { | ||
/** | ||
* The list of embeddings generated by the model. | ||
*/ | ||
data: Array<Embedding>; | ||
|
||
/** | ||
* The name of the model used to generate the embedding. | ||
*/ | ||
model: string; | ||
|
||
/** | ||
* The object type, which is always "list". | ||
*/ | ||
object: 'list'; | ||
|
||
/** | ||
* The usage information for the request. | ||
*/ | ||
usage: CreateEmbeddingResponse.Usage; | ||
} | ||
|
||
export namespace CreateEmbeddingResponse { | ||
/** | ||
* The usage information for the request. | ||
*/ | ||
export interface Usage { | ||
/** | ||
* The number of tokens used by the prompt. | ||
*/ | ||
prompt_tokens: number; | ||
|
||
/** | ||
* The total number of tokens used by the request. | ||
*/ | ||
total_tokens: number; | ||
} | ||
} | ||
|
||
/** | ||
* Represents an embedding vector returned by embedding endpoint. | ||
*/ | ||
export interface Embedding { | ||
/** | ||
* The embedding vector, which is a list of floats. The length of vector depends on | ||
* the model as listed in the [embedding guide](/docs/guides/embeddings). | ||
*/ | ||
embedding: Array<number> | string; | ||
|
||
/** | ||
* The index of the embedding in the list of embeddings. | ||
*/ | ||
index: number; | ||
|
||
/** | ||
* The object type, which is always "embedding". | ||
*/ | ||
object: 'embedding'; | ||
} | ||
|
||
export interface EmbeddingCreateParams { | ||
/** | ||
* Input text to embed, encoded as a string or array of tokens. To embed multiple | ||
* inputs in a single request, pass an array of strings or array of token arrays. | ||
* The input must not exceed the max input tokens for the model, cannot be an empty | ||
* string, and any array must be 2048 dimensions or less. | ||
*/ | ||
input: string | Array<string>; | ||
|
||
/** | ||
* ID of the model to use. | ||
*/ | ||
model: string; | ||
|
||
/** | ||
* The number of dimensions to return the embeddings in. | ||
*/ | ||
dimensions?: number; | ||
|
||
/** | ||
* The format to return the embeddings in. | ||
*/ | ||
encoding_format?: 'float' | 'base64'; | ||
|
||
/** | ||
* A unique identifier representing your end-user, which can help us monitor and | ||
* detect abuse. | ||
*/ | ||
user?: string | null; | ||
} | ||
|
||
export namespace Embeddings { | ||
export import CreateEmbeddingResponse = EmbeddingsAPI.CreateEmbeddingResponse; | ||
export import Embedding = EmbeddingsAPI.Embedding; | ||
export import EmbeddingCreateParams = EmbeddingsAPI.EmbeddingCreateParams; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. | ||
|
||
export { Chat } from './chat/chat'; | ||
export { CreateEmbeddingResponse, Embedding, EmbeddingCreateParams, Embeddings } from './embeddings'; | ||
export { Model, ModelList, Models } from './models'; | ||
export { Translation, Audio } from './audio/audio'; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. | ||
|
||
import Groq from 'groq-sdk'; | ||
import { Response } from 'node-fetch'; | ||
|
||
const groq = new Groq({ | ||
apiKey: 'My API Key', | ||
baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010', | ||
}); | ||
|
||
describe('resource embeddings', () => { | ||
test('create: only required params', async () => { | ||
const responsePromise = groq.embeddings.create({ | ||
input: 'The quick brown fox jumped over the lazy dog', | ||
model: 'nomic-embed-text-v1.5', | ||
}); | ||
const rawResponse = await responsePromise.asResponse(); | ||
expect(rawResponse).toBeInstanceOf(Response); | ||
const response = await responsePromise; | ||
expect(response).not.toBeInstanceOf(Response); | ||
const dataAndResponse = await responsePromise.withResponse(); | ||
expect(dataAndResponse.data).toBe(response); | ||
expect(dataAndResponse.response).toBe(rawResponse); | ||
}); | ||
|
||
test('create: required and optional params', async () => { | ||
const response = await groq.embeddings.create({ | ||
input: 'The quick brown fox jumped over the lazy dog', | ||
model: 'nomic-embed-text-v1.5', | ||
dimensions: 1, | ||
encoding_format: 'float', | ||
user: 'string', | ||
}); | ||
}); | ||
}); |