Skip to content
Snippets Groups Projects
Unverified Commit 8a729cdd authored by yisding's avatar yisding Committed by GitHub
Browse files

minor bug fixes with together AI (#440)

parent ffe5fbcd
No related branches found
No related tags found
No related merge requests found
---
"llamaindex": patch
---
fix bugs in Together.AI integration (thanks @Nutlope for reporting)
apps/docs/i18n
apps/docs/docs/api
pnpm-lock.yaml
lib/
dist/
......
......@@ -23,6 +23,7 @@ const together = new TogetherLLM({
for await (const message of generator) {
process.stdout.write(message.delta);
}
console.log();
const embedding = new TogetherEmbedding();
const vector = await embedding.getTextEmbedding("Hello world!");
console.log("vector:", vector);
......
......@@ -11,7 +11,7 @@
"@qdrant/js-client-rest": "^1.7.0",
"@xenova/transformers": "^2.10.0",
"assemblyai": "^4.0.0",
"chromadb": "^1.7.3",
"chromadb": "~1.7.3",
"file-type": "^18.7.0",
"js-tiktoken": "^1.0.8",
"lodash": "^4.17.21",
......
......@@ -30,7 +30,7 @@ export class OpenAIEmbedding extends BaseEmbedding {
constructor(init?: Partial<OpenAIEmbedding> & { azure?: AzureOpenAIConfig }) {
super();
this.model = OpenAIEmbeddingModelType.TEXT_EMBED_ADA_002;
this.model = init?.model ?? OpenAIEmbeddingModelType.TEXT_EMBED_ADA_002;
this.maxRetries = init?.maxRetries ?? 10;
this.timeout = init?.timeout ?? 60 * 1000; // Default is 60 seconds
......
import { OpenAIEmbedding } from "./OpenAIEmbedding";
export class TogetherEmbedding extends OpenAIEmbedding {
override model: string;
constructor(init?: Partial<OpenAIEmbedding>) {
const {
apiKey = process.env.TOGETHER_API_KEY,
additionalSessionOptions = {},
model = "togethercomputer/m2-bert-80M-32k-retrieval",
...rest
} = init ?? {};
if (!apiKey) {
throw new Error("Set Together Key in TOGETHER_API_KEY env variable"); // Tell user to set correct env variable, and not OPENAI_API_KEY
}
additionalSessionOptions.baseURL =
additionalSessionOptions.baseURL ?? "https://api.together.xyz/v1";
super({
apiKey: process.env.TOGETHER_API_KEY,
...init,
additionalSessionOptions: {
...init?.additionalSessionOptions,
baseURL: "https://api.together.xyz/v1",
},
apiKey,
additionalSessionOptions,
model,
...rest,
});
this.model = init?.model ?? "togethercomputer/m2-bert-80M-32k-retrieval";
}
}
......@@ -2,13 +2,25 @@ import { OpenAI } from "./LLM";
export class TogetherLLM extends OpenAI {
constructor(init?: Partial<OpenAI>) {
const {
apiKey = process.env.TOGETHER_API_KEY,
additionalSessionOptions = {},
model = "togethercomputer/llama-2-7b-chat",
...rest
} = init ?? {};
if (!apiKey) {
throw new Error("Set Together Key in TOGETHER_API_KEY env variable"); // Tell user to set correct env variable, and not OPENAI_API_KEY
}
additionalSessionOptions.baseURL =
additionalSessionOptions.baseURL ?? "https://api.together.xyz/v1";
super({
...init,
apiKey: process.env.TOGETHER_API_KEY,
additionalSessionOptions: {
...init?.additionalSessionOptions,
baseURL: "https://api.together.xyz/v1",
},
apiKey,
additionalSessionOptions,
model,
...rest,
});
}
}
......@@ -174,7 +174,7 @@ importers:
specifier: ^4.0.0
version: 4.0.0
chromadb:
specifier: ^1.7.3
specifier: ~1.7.3
version: 1.7.3(openai@4.20.1)
file-type:
specifier: ^18.7.0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment