fix: ollama provider module base url hotfix for docker (#863)
Browse files
app/lib/modules/llm/providers/ollama.ts
CHANGED
@@ -81,13 +81,20 @@ export default class OllamaProvider extends BaseProvider {
|
|
81 |
providerSettings?: Record<string, IProviderSetting>;
|
82 |
}) => LanguageModelV1 = (options) => {
|
83 |
const { apiKeys, providerSettings, serverEnv, model } = options;
|
84 |
-
|
85 |
apiKeys,
|
86 |
providerSettings,
|
87 |
serverEnv: serverEnv as any,
|
88 |
defaultBaseUrlKey: 'OLLAMA_API_BASE_URL',
|
89 |
defaultApiTokenKey: '',
|
90 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
const ollamaInstance = ollama(model, {
|
92 |
numCtx: DEFAULT_NUM_CTX,
|
93 |
}) as LanguageModelV1 & { config: any };
|
|
|
81 |
providerSettings?: Record<string, IProviderSetting>;
|
82 |
}) => LanguageModelV1 = (options) => {
|
83 |
const { apiKeys, providerSettings, serverEnv, model } = options;
|
84 |
+
let { baseUrl } = this.getProviderBaseUrlAndKey({
|
85 |
apiKeys,
|
86 |
providerSettings,
|
87 |
serverEnv: serverEnv as any,
|
88 |
defaultBaseUrlKey: 'OLLAMA_API_BASE_URL',
|
89 |
defaultApiTokenKey: '',
|
90 |
});
|
91 |
+
|
92 |
+
// Backend: Check if we're running in Docker
|
93 |
+
const isDocker = process.env.RUNNING_IN_DOCKER === 'true';
|
94 |
+
|
95 |
+
baseUrl = isDocker ? baseUrl.replace('localhost', 'host.docker.internal') : baseUrl;
|
96 |
+
baseUrl = isDocker ? baseUrl.replace('127.0.0.1', 'host.docker.internal') : baseUrl;
|
97 |
+
|
98 |
const ollamaInstance = ollama(model, {
|
99 |
numCtx: DEFAULT_NUM_CTX,
|
100 |
}) as LanguageModelV1 & { config: any };
|