Skip to content

Commit

Permalink
feat(api): update via SDK Studio (#42)
Browse files Browse the repository at this point in the history
  • Loading branch information
stainless-app[bot] authored and stainless-bot committed May 21, 2024
1 parent 094b8a4 commit dd9a118
Show file tree
Hide file tree
Showing 8 changed files with 30 additions and 47 deletions.
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ import Groq from 'groq-sdk';
const groq = new Groq();

async function main() {
const completionCreateResponse = await groq.chat.completions.create({
const chatCompletion = await groq.chat.completions.create({
messages: [{ role: 'user', content: 'Explain the importance of low latency LLMs' }],
model: 'mixtral-8x7b-32768',
});

console.log(completionCreateResponse.choices[0].message.content);
console.log(chatCompletion.choices[0].message.content);
}

main();
Expand All @@ -54,9 +54,7 @@ async function main() {
],
model: 'mixtral-8x7b-32768',
};
const completionCreateResponse: Groq.Chat.CompletionCreateResponse = await groq.chat.completions.create(
params,
);
const chatCompletion: Groq.Chat.ChatCompletion = await groq.chat.completions.create(params);
}

main();
Expand All @@ -73,7 +71,7 @@ a subclass of `APIError` will be thrown:
<!-- prettier-ignore -->
```ts
async function main() {
const completionCreateResponse = await groq.chat.completions
const chatCompletion = await groq.chat.completions
.create({
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
Expand Down Expand Up @@ -174,7 +172,7 @@ const response = await groq.chat.completions
console.log(response.headers.get('X-My-Header'));
console.log(response.statusText); // access the underlying Response object

const { data: completionCreateResponse, response: raw } = await groq.chat.completions
const { data: chatCompletion, response: raw } = await groq.chat.completions
.create({
messages: [
{ role: 'system', content: 'You are a helpful assistant.' },
Expand All @@ -184,7 +182,7 @@ const { data: completionCreateResponse, response: raw } = await groq.chat.comple
})
.withResponse();
console.log(raw.headers.get('X-My-Header'));
console.log(completionCreateResponse.id);
console.log(chatCompletion.id);
```

### Making custom/undocumented requests
Expand Down
12 changes: 6 additions & 6 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ Methods:

Types:

- <code><a href="./src/resources/chat/completions.ts">CompletionCreateResponse</a></code>
- <code><a href="./src/resources/chat/completions.ts">ChatCompletion</a></code>

Methods:

- <code title="post /openai/v1/chat/completions">client.chat.completions.<a href="./src/resources/chat/completions.ts">create</a>({ ...params }) -> CompletionCreateResponse</code>
- <code title="post /openai/v1/chat/completions">client.chat.completions.<a href="./src/resources/chat/completions.ts">create</a>({ ...params }) -> ChatCompletion</code>

# Audio

Expand Down Expand Up @@ -49,11 +49,11 @@ Methods:

Types:

- <code><a href="./src/resources/models.ts">ModelRetrieveResponse</a></code>
- <code><a href="./src/resources/models.ts">ModelListResponse</a></code>
- <code><a href="./src/resources/models.ts">Model</a></code>
- <code><a href="./src/resources/models.ts">ModelList</a></code>

Methods:

- <code title="get /openai/v1/models/{model}">client.models.<a href="./src/resources/models.ts">retrieve</a>(model) -> ModelRetrieveResponse</code>
- <code title="get /openai/v1/models">client.models.<a href="./src/resources/models.ts">list</a>() -> ModelListResponse</code>
- <code title="get /openai/v1/models/{model}">client.models.<a href="./src/resources/models.ts">retrieve</a>(model) -> Model</code>
- <code title="get /openai/v1/models">client.models.<a href="./src/resources/models.ts">list</a>() -> ModelList</code>
- <code title="delete /openai/v1/models/{model}">client.models.<a href="./src/resources/models.ts">delete</a>(model) -> void</code>
4 changes: 2 additions & 2 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -201,8 +201,8 @@ export namespace Groq {
export import Audio = API.Audio;

export import Models = API.Models;
export import ModelRetrieveResponse = API.ModelRetrieveResponse;
export import ModelListResponse = API.ModelListResponse;
export import Model = API.Model;
export import ModelList = API.ModelList;
}

export default Groq;
2 changes: 1 addition & 1 deletion src/resources/chat/chat.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ export class Chat extends APIResource {

export namespace Chat {
export import Completions = CompletionsAPI.Completions;
export import CompletionCreateResponse = CompletionsAPI.CompletionCreateResponse;
export import ChatCompletion = CompletionsAPI.ChatCompletion;
export import CompletionCreateParams = CompletionsAPI.CompletionCreateParams;
}
15 changes: 6 additions & 9 deletions src/resources/chat/completions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,13 @@ export class Completions extends APIResource {
/**
* Creates a model response for the given chat conversation.
*/
create(
body: CompletionCreateParams,
options?: Core.RequestOptions,
): Core.APIPromise<CompletionCreateResponse> {
create(body: CompletionCreateParams, options?: Core.RequestOptions): Core.APIPromise<ChatCompletion> {
return this._client.post('/openai/v1/chat/completions', { body, ...options });
}
}

export interface CompletionCreateResponse {
choices: Array<CompletionCreateResponse.Choice>;
export interface ChatCompletion {
choices: Array<ChatCompletion.Choice>;

id?: string;

Expand All @@ -29,10 +26,10 @@ export interface CompletionCreateResponse {

system_fingerprint?: string;

usage?: CompletionCreateResponse.Usage;
usage?: ChatCompletion.Usage;
}

export namespace CompletionCreateResponse {
export namespace ChatCompletion {
export interface Choice {
finish_reason: string;

Expand Down Expand Up @@ -578,6 +575,6 @@ export namespace CompletionCreateParams {
}

export namespace Completions {
export import CompletionCreateResponse = CompletionsAPI.CompletionCreateResponse;
export import ChatCompletion = CompletionsAPI.ChatCompletion;
export import CompletionCreateParams = CompletionsAPI.CompletionCreateParams;
}
2 changes: 1 addition & 1 deletion src/resources/chat/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

export { Chat } from './chat';
export { CompletionCreateResponse, CompletionCreateParams, Completions } from './completions';
export { ChatCompletion, CompletionCreateParams, Completions } from './completions';
2 changes: 1 addition & 1 deletion src/resources/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
export { Audio } from './audio/audio';
export { Chat } from './chat/chat';
export { CreateEmbeddingResponse, Embedding, EmbeddingCreateParams, Embeddings } from './embeddings';
export { ModelRetrieveResponse, ModelListResponse, Models } from './models';
export { Model, ModelList, Models } from './models';
26 changes: 7 additions & 19 deletions src/resources/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ export class Models extends APIResource {
/**
* Get a specific model
*/
retrieve(model: string, options?: Core.RequestOptions): Core.APIPromise<ModelRetrieveResponse> {
retrieve(model: string, options?: Core.RequestOptions): Core.APIPromise<Model> {
return this._client.get(`/openai/v1/models/${model}`, options);
}

/**
* get all available models
*/
list(options?: Core.RequestOptions): Core.APIPromise<ModelListResponse> {
list(options?: Core.RequestOptions): Core.APIPromise<ModelList> {
return this._client.get('/openai/v1/models', options);
}

Expand All @@ -30,7 +30,7 @@ export class Models extends APIResource {
}
}

export interface ModelRetrieveResponse {
export interface Model {
id?: string;

created?: number;
Expand All @@ -40,25 +40,13 @@ export interface ModelRetrieveResponse {
owned_by?: string;
}

export interface ModelListResponse {
data?: Array<ModelListResponse.Data>;
export interface ModelList {
data?: Array<Model>;

object?: string;
}

export namespace ModelListResponse {
export interface Data {
id?: string;

created?: number;

object?: string;

owned_by?: string;
}
}

export namespace Models {
export import ModelRetrieveResponse = ModelsAPI.ModelRetrieveResponse;
export import ModelListResponse = ModelsAPI.ModelListResponse;
export import Model = ModelsAPI.Model;
export import ModelList = ModelsAPI.ModelList;
}

0 comments on commit dd9a118

Please sign in to comment.