fix(ts-oss/together): honor TOGETHER_API_BASE in the embedder (#6572)

This commit is contained in:
Abhay Singh
2026-07-30 15:29:05 +05:30
committed by GitHub
parent 9c2d6222ce
commit bcca72e3f0
2 changed files with 38 additions and 1 deletions
+8 -1
View File
@@ -17,7 +17,14 @@ export class TogetherEmbedder extends OpenAIEmbedder {
super({
...openAICompatibleConfig,
apiKey,
baseURL: config.baseURL || config.url || DEFAULT_BASE_URL,
// Honor TOGETHER_API_BASE like the Together LLM does, so a user behind a
// gateway who sets it gets it for embeddings too instead of silently
// hitting api.together.ai.
baseURL:
config.baseURL ||
config.url ||
process.env.TOGETHER_API_BASE ||
DEFAULT_BASE_URL,
model: config.model || DEFAULT_MODEL,
});
}
@@ -20,6 +20,7 @@ describe("TogetherEmbedder (unit)", () => {
jest.resetModules();
process.env = { ...originalEnv };
delete process.env.TOGETHER_API_KEY;
delete process.env.TOGETHER_API_BASE;
mockOpenAI.mockClear();
mockEmbeddingsCreate.mockReset();
mockEmbeddingsCreate.mockResolvedValue({
@@ -81,6 +82,35 @@ describe("TogetherEmbedder (unit)", () => {
});
});
it("honors TOGETHER_API_BASE when no baseURL is configured", async () => {
process.env.TOGETHER_API_BASE = "https://gateway.example/v1";
const embedder = new TogetherEmbedder({ apiKey: "test-key" });
await embedder.embed("hello");
expect(mockOpenAI).toHaveBeenCalledWith({
apiKey: "test-key",
baseURL: "https://gateway.example/v1",
});
});
it("prefers an explicit baseURL over TOGETHER_API_BASE", async () => {
process.env.TOGETHER_API_BASE = "https://gateway.example/v1";
const embedder = new TogetherEmbedder({
apiKey: "test-key",
baseURL: "https://explicit.example/v1",
});
await embedder.embed("hello");
expect(mockOpenAI).toHaveBeenCalledWith({
apiKey: "test-key",
baseURL: "https://explicit.example/v1",
});
});
it("uses url as a baseURL fallback", async () => {
const embedder = new TogetherEmbedder({
apiKey: "test-key",