diff --git a/.changeset/tender-horses-rhyme.md b/.changeset/tender-horses-rhyme.md
new file mode 100644
index 0000000000000000000000000000000000000000..8e4e1093065666f64635272b434a092e39a3c41e
--- /dev/null
+++ b/.changeset/tender-horses-rhyme.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+fix bugs in Together.AI integration (thanks @Nutlope for reporting)
diff --git a/.prettierignore b/.prettierignore
index bbe96704d6bd1c7ec3cab94074ba55aae15b7487..5cbece915d98a3d2b6b299148214dd2976f574b0 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -1,4 +1,5 @@
 apps/docs/i18n
+apps/docs/docs/api
 pnpm-lock.yaml
 lib/
 dist/
diff --git a/examples/together-ai.ts b/examples/together-ai.ts
index af8c72e9eef13773716b7314c2f762298f82ba86..300627659fb8cd75dd3378b67104adde9a0e4300 100644
--- a/examples/together-ai.ts
+++ b/examples/together-ai.ts
@@ -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);
diff --git a/packages/core/package.json b/packages/core/package.json
index eb52f0748b5cba1bf49ba25981c61cb7318fe52a..e43c23008c1ac628639cf146de1d897dd8c52b5c 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -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",
diff --git a/packages/core/src/embeddings/OpenAIEmbedding.ts b/packages/core/src/embeddings/OpenAIEmbedding.ts
index 6bbbfba3ae7ea145e777b5acb2132a94728a1201..1f8c8820535bb62fd3f241124a98b5925a013ffa 100644
--- a/packages/core/src/embeddings/OpenAIEmbedding.ts
+++ b/packages/core/src/embeddings/OpenAIEmbedding.ts
@@ -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
diff --git a/packages/core/src/embeddings/together.ts b/packages/core/src/embeddings/together.ts
index dde47c30c3735b025eb1682853750b3c33925239..d271a67333dd7655a8e943987f8f557168c50165 100644
--- a/packages/core/src/embeddings/together.ts
+++ b/packages/core/src/embeddings/together.ts
@@ -1,16 +1,26 @@
 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";
   }
 }
diff --git a/packages/core/src/llm/together.ts b/packages/core/src/llm/together.ts
index f972faf7d6f049648bf5c5a09f81d17552fff5f7..94928e251b023c4e41508c8e6117947abe27e86b 100644
--- a/packages/core/src/llm/together.ts
+++ b/packages/core/src/llm/together.ts
@@ -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,
     });
   }
 }
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f51c58d8007c12791af580505531a4990c07508b..72bcceab4e5fc3ccd2304122dfa349eed2a92d65 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -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