100 lines
3.9 KiB
TypeScript
100 lines
3.9 KiB
TypeScript
import { CallbackManagerForLLMRun } from "@langchain/core/callbacks/manager";
|
|
import { LLM, type BaseLLMCallOptions, type BaseLLMParams } from "@langchain/core/language_models/llms";
|
|
import { GenerationChunk } from "@langchain/core/outputs";
|
|
/**
|
|
* Note that the modelPath is the only required parameter. For testing you
|
|
* can set this in the environment variable `LLAMA_PATH`.
|
|
*/
|
|
export interface TogetherAIInputs extends BaseLLMParams {
|
|
/**
|
|
* The API key to use for the TogetherAI API.
|
|
* @default {process.env.TOGETHER_AI_API_KEY}
|
|
*/
|
|
apiKey?: string;
|
|
/**
|
|
* The name of the model to query.
|
|
* Alias for `model`
|
|
*/
|
|
modelName?: string;
|
|
/**
|
|
* The name of the model to query.
|
|
*/
|
|
model?: string;
|
|
/**
|
|
* A decimal number that determines the degree of randomness in the response.
|
|
* A value of 1 will always yield the same output.
|
|
* A temperature less than 1 favors more correctness and is appropriate for question answering or summarization.
|
|
* A value greater than 1 introduces more randomness in the output.
|
|
* @default {0.7}
|
|
*/
|
|
temperature?: number;
|
|
/**
|
|
* Whether or not to stream tokens as they are generated.
|
|
* @default {false}
|
|
*/
|
|
streaming?: boolean;
|
|
/**
|
|
* The `topP` (nucleus) parameter is used to dynamically adjust the number of choices for each predicted token based on the cumulative probabilities.
|
|
* It specifies a probability threshold, below which all less likely tokens are filtered out.
|
|
* This technique helps to maintain diversity and generate more fluent and natural-sounding text.
|
|
* @default {0.7}
|
|
*/
|
|
topP?: number;
|
|
/**
|
|
* The `topK` parameter is used to limit the number of choices for the next predicted word or token.
|
|
* It specifies the maximum number of tokens to consider at each step, based on their probability of occurrence.
|
|
* This technique helps to speed up the generation process and can improve the quality of the generated text by focusing on the most likely options.
|
|
* @default {50}
|
|
*/
|
|
topK?: number;
|
|
/**
|
|
* A number that controls the diversity of generated text by reducing the likelihood of repeated sequences.
|
|
* Higher values decrease repetition.
|
|
* @default {1}
|
|
*/
|
|
repetitionPenalty?: number;
|
|
/**
|
|
* An integer that specifies how many top token log probabilities are included in the response for each token generation step.
|
|
*/
|
|
logprobs?: number;
|
|
/**
|
|
* Run an LLM-based input-output safeguard model on top of any model.
|
|
*/
|
|
safetyModel?: string;
|
|
/**
|
|
* Limit the number of tokens generated.
|
|
*/
|
|
maxTokens?: number;
|
|
/**
|
|
* A list of tokens at which the generation should stop.
|
|
*/
|
|
stop?: string[];
|
|
}
|
|
export interface TogetherAICallOptions extends BaseLLMCallOptions, Pick<TogetherAIInputs, "modelName" | "model" | "temperature" | "topP" | "topK" | "repetitionPenalty" | "logprobs" | "safetyModel" | "maxTokens" | "stop"> {
|
|
}
|
|
export declare class TogetherAI extends LLM<TogetherAICallOptions> {
|
|
lc_serializable: boolean;
|
|
static inputs: TogetherAIInputs;
|
|
temperature: number;
|
|
topP: number;
|
|
topK: number;
|
|
modelName: string;
|
|
model: string;
|
|
streaming: boolean;
|
|
repetitionPenalty: number;
|
|
logprobs?: number;
|
|
maxTokens?: number;
|
|
safetyModel?: string;
|
|
stop?: string[];
|
|
private apiKey;
|
|
private inferenceAPIUrl;
|
|
static lc_name(): string;
|
|
constructor(inputs: TogetherAIInputs);
|
|
_llmType(): string;
|
|
private constructHeaders;
|
|
private constructBody;
|
|
completionWithRetry(prompt: string, options?: this["ParsedCallOptions"]): Promise<any>;
|
|
/** @ignore */
|
|
_call(prompt: string, options?: this["ParsedCallOptions"]): Promise<string>;
|
|
_streamResponseChunks(prompt: string, options: this["ParsedCallOptions"], runManager?: CallbackManagerForLLMRun): AsyncGenerator<GenerationChunk>;
|
|
}
|