fix(ts-oss/together): honor TOGETHER_API_BASE in the embedder (#6572)
This commit is contained in:
@@ -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",
|
||||
|
||||
Reference in New Issue
Block a user