Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "0.6.0"
".": "0.7.0"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
configured_endpoints: 15
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/togetherai%2FTogetherAI-fe6fb14a0be4c133d8a105140bca7128149a2b762e763ad5e7c3b1e5909cc08b.yml
configured_endpoints: 16
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/togetherai%2FTogetherAI-5e0a37829859a7e57d29be0ae29e5a1094a9f5ab1ca47c8ed224b77f74a3ccad.yml
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# Changelog

## 0.7.0 (2024-10-23)

Full Changelog: [v0.6.0...v0.7.0](https://github.com/togethercomputer/together-typescript/compare/v0.6.0...v0.7.0)

### Features

* **api:** api update ([#70](https://github.com/togethercomputer/together-typescript/issues/70)) ([6157f8c](https://github.com/togethercomputer/together-typescript/commit/6157f8c9ecf86a2574dc146a4ee0877857d58080))
* **api:** api update ([#72](https://github.com/togethercomputer/together-typescript/issues/72)) ([b400821](https://github.com/togethercomputer/together-typescript/commit/b400821dc58a2436ba4bdc27517aa3f3670a217e))
* **api:** api update ([#73](https://github.com/togethercomputer/together-typescript/issues/73)) ([e5d1b6b](https://github.com/togethercomputer/together-typescript/commit/e5d1b6bae33530b252ecedab7d1f4097447fcb30))
* **api:** api update ([#74](https://github.com/togethercomputer/together-typescript/issues/74)) ([155b212](https://github.com/togethercomputer/together-typescript/commit/155b2120e8c99bb02b5dbeb514f4e9502fa7840d))

## 0.6.0 (2024-10-22)

Full Changelog: [v0.6.0-alpha.8...v0.6.0](https://github.com/togethercomputer/together-typescript/compare/v0.6.0-alpha.8...v0.6.0)
Expand Down
10 changes: 10 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
# Together

Types:

- <code><a href="./src/resources/top-level.ts">RerankResponse</a></code>

Methods:

- <code title="post /rerank">client.<a href="./src/index.ts">rerank</a>({ ...params }) -> RerankResponse</code>

# Chat

## Completions
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "together-ai",
"version": "0.6.0",
"version": "0.7.0",
"description": "The official TypeScript library for the Together API",
"author": "Together <[email protected]>",
"types": "dist/index.d.ts",
Expand Down
14 changes: 14 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import * as Uploads from './uploads';
import { type Agent } from './_shims/index';
import * as Core from './core';
import * as API from './resources/index';
import * as TopLevelAPI from './resources/top-level';

export interface ClientOptions {
/**
Expand Down Expand Up @@ -127,6 +128,16 @@ export class Together extends Core.APIClient {
images: API.Images = new API.Images(this);
models: API.Models = new API.Models(this);

/**
* Query a reranker model
*/
rerank(
body: TopLevelAPI.RerankParams,
options?: Core.RequestOptions,
): Core.APIPromise<TopLevelAPI.RerankResponse> {
return this.post('/rerank', { body, ...options });
}

protected override defaultQuery(): Core.DefaultQuery | undefined {
return this._options.defaultQuery;
}
Expand Down Expand Up @@ -185,6 +196,9 @@ export import fileFromPath = Uploads.fileFromPath;
export namespace Together {
export import RequestOptions = Core.RequestOptions;

export import RerankResponse = API.RerankResponse;
export import RerankParams = API.RerankParams;

export import Chat = API.Chat;

export import Completions = API.Completions;
Expand Down
8 changes: 7 additions & 1 deletion src/resources/chat/completions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,13 @@ export interface CompletionCreateParamsBase {
/**
* The name of the model to query.
*/
model: string;
model:
| 'Qwen/Qwen2.5-72B-Instruct-Turbo'
| 'Qwen/Qwen2.5-7B-Instruct-Turbo'
| 'meta-llama/Meta-Llama-3.1-405B-Instruct-Turbo'
| 'meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo'
| 'meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo'
| (string & {});

/**
* If true, the response will contain the prompt. Can be used with `logprobs` to
Expand Down
4 changes: 2 additions & 2 deletions src/resources/fine-tune.ts
Original file line number Diff line number Diff line change
Expand Up @@ -312,8 +312,8 @@ export interface FineTuneCreateParams {
wandb_api_key?: string;

/**
* The percent of steps at the start of training to linearly increase the
* learning-rate.
* The percent of steps at the start of training to linearly increase the learning
* rate.
*/
warmup_ratio?: number;
}
Expand Down
1 change: 1 addition & 0 deletions src/resources/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,4 @@ export {
} from './fine-tune';
export { ImageFile, ImageCreateParams, Images } from './images';
export { ModelListResponse, Models } from './models';
export { RerankResponse, RerankParams } from './top-level';
79 changes: 79 additions & 0 deletions src/resources/top-level.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import * as TopLevelAPI from './top-level';
import * as CompletionsAPI from './chat/completions';

export interface RerankResponse {
/**
* The model to be used for the rerank request.
*/
model: string;

/**
* Object type
*/
object: 'rerank';

results: Array<RerankResponse.Result>;

/**
* Request ID
*/
id?: string;

usage?: CompletionsAPI.ChatCompletionUsage | null;
}

export namespace RerankResponse {
export interface Result {
document: Result.Document;

index: number;

relevance_score: number;
}

export namespace Result {
export interface Document {
text?: string | null;
}
}
}

export interface RerankParams {
/**
* List of documents, which can be either strings or objects.
*/
documents: Array<Record<string, unknown>> | Array<string>;

/**
* The model to be used for the rerank request.
*/
model: string;

/**
* The search query to be used for ranking.
*/
query: string;

/**
* List of keys in the JSON Object document to rank by. Defaults to use all
* supplied keys for ranking.
*/
rank_fields?: Array<string>;

/**
* Whether to return supplied documents with the response.
*/
return_documents?: boolean;

/**
* The number of top results to return.
*/
top_n?: number;
}

export namespace TopLevel {
export import RerankResponse = TopLevelAPI.RerankResponse;
export import RerankParams = TopLevelAPI.RerankParams;
}
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '0.6.0'; // x-release-please-version
export const VERSION = '0.7.0'; // x-release-please-version
4 changes: 2 additions & 2 deletions tests/api-resources/chat/completions.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ describe('resource completions', () => {
{ content: 'content', role: 'system' },
{ content: 'content', role: 'system' },
],
model: 'mistralai/Mixtral-8x7B-Instruct-v0.1',
model: 'Qwen/Qwen2.5-72B-Instruct-Turbo',
});
const rawResponse = await responsePromise.asResponse();
expect(rawResponse).toBeInstanceOf(Response);
Expand All @@ -34,7 +34,7 @@ describe('resource completions', () => {
{ content: 'content', role: 'system' },
{ content: 'content', role: 'system' },
],
model: 'mistralai/Mixtral-8x7B-Instruct-v0.1',
model: 'Qwen/Qwen2.5-72B-Instruct-Turbo',
echo: true,
frequency_penalty: 0,
function_call: 'none',
Expand Down
47 changes: 47 additions & 0 deletions tests/api-resources/top-level.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import Together from 'together-ai';
import { Response } from 'node-fetch';

const client = new Together({
apiKey: 'My API Key',
baseURL: process.env['TEST_API_BASE_URL'] ?? 'http://127.0.0.1:4010',
});

describe('top level methods', () => {
test('rerank: only required params', async () => {
const responsePromise = client.rerank({
documents: [
{ title: 'bar', text: 'bar' },
{ title: 'bar', text: 'bar' },
{ title: 'bar', text: 'bar' },
{ title: 'bar', text: 'bar' },
],
model: 'Salesforce/Llama-Rank-V1',
query: 'What animals can I find near Peru?',
});
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('rerank: required and optional params', async () => {
const response = await client.rerank({
documents: [
{ title: 'bar', text: 'bar' },
{ title: 'bar', text: 'bar' },
{ title: 'bar', text: 'bar' },
{ title: 'bar', text: 'bar' },
],
model: 'Salesforce/Llama-Rank-V1',
query: 'What animals can I find near Peru?',
rank_fields: ['title', 'text'],
return_documents: true,
top_n: 2,
});
});
});
Loading