mirror of
https://github.com/imartinez/privateGPT.git
synced 2025-06-28 00:08:39 +00:00
feat(llm): Add support for Ollama LLM (#1526)
This commit is contained in:
parent
b178b51451
commit
6bbec79583
@ -102,3 +102,33 @@ or
|
|||||||
|
|
||||||
When the server is started it will print a log *Application startup complete*.
|
When the server is started it will print a log *Application startup complete*.
|
||||||
Navigate to http://localhost:8001 to use the Gradio UI or to http://localhost:8001/docs (API section) to try the API.
|
Navigate to http://localhost:8001 to use the Gradio UI or to http://localhost:8001/docs (API section) to try the API.
|
||||||
|
|
||||||
|
### Using Ollama
|
||||||
|
|
||||||
|
Another option for a fully private setup is using [Ollama](https://ollama.ai/).
|
||||||
|
|
||||||
|
Note: how to deploy Ollama and pull models onto it is out of the scope of this documentation.
|
||||||
|
|
||||||
|
In order to do so, create a profile `settings-ollama.yaml` with the following contents:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
llm:
|
||||||
|
mode: ollama
|
||||||
|
|
||||||
|
ollama:
|
||||||
|
model: <ollama_model_to_use> # Required Model to use.
|
||||||
|
# Note: Ollama Models are listed here: https://ollama.ai/library
|
||||||
|
# Be sure to pull the model to your Ollama server
|
||||||
|
api_base: <ollama-api-base-url> # Defaults to http://localhost:11434
|
||||||
|
```
|
||||||
|
|
||||||
|
And run PrivateGPT loading that profile you just created:
|
||||||
|
|
||||||
|
`PGPT_PROFILES=ollama make run`
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
`PGPT_PROFILES=ollama poetry run python -m private_gpt`
|
||||||
|
|
||||||
|
When the server is started it will print a log *Application startup complete*.
|
||||||
|
Navigate to http://localhost:8001 to use the Gradio UI or to http://localhost:8001/docs (API section) to try the API.
|
||||||
|
@ -80,3 +80,10 @@ class LLMComponent:
|
|||||||
)
|
)
|
||||||
case "mock":
|
case "mock":
|
||||||
self.llm = MockLLM()
|
self.llm = MockLLM()
|
||||||
|
case "ollama":
|
||||||
|
from llama_index.llms import Ollama
|
||||||
|
|
||||||
|
ollama_settings = settings.ollama
|
||||||
|
self.llm = Ollama(
|
||||||
|
model=ollama_settings.model, base_url=ollama_settings.api_base
|
||||||
|
)
|
||||||
|
@ -81,7 +81,7 @@ class DataSettings(BaseModel):
|
|||||||
|
|
||||||
|
|
||||||
class LLMSettings(BaseModel):
|
class LLMSettings(BaseModel):
|
||||||
mode: Literal["local", "openai", "openailike", "sagemaker", "mock"]
|
mode: Literal["local", "openai", "openailike", "sagemaker", "mock", "ollama"]
|
||||||
max_new_tokens: int = Field(
|
max_new_tokens: int = Field(
|
||||||
256,
|
256,
|
||||||
description="The maximum number of token that the LLM is authorized to generate in one completion.",
|
description="The maximum number of token that the LLM is authorized to generate in one completion.",
|
||||||
@ -168,6 +168,17 @@ class OpenAISettings(BaseModel):
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
class OllamaSettings(BaseModel):
|
||||||
|
api_base: str = Field(
|
||||||
|
"http://localhost:11434",
|
||||||
|
description="Base URL of Ollama API. Example: 'https://localhost:11434'.",
|
||||||
|
)
|
||||||
|
model: str = Field(
|
||||||
|
None,
|
||||||
|
description="Model to use. Example: 'llama2-uncensored'.",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class UISettings(BaseModel):
|
class UISettings(BaseModel):
|
||||||
enabled: bool
|
enabled: bool
|
||||||
path: str
|
path: str
|
||||||
@ -243,6 +254,7 @@ class Settings(BaseModel):
|
|||||||
local: LocalSettings
|
local: LocalSettings
|
||||||
sagemaker: SagemakerSettings
|
sagemaker: SagemakerSettings
|
||||||
openai: OpenAISettings
|
openai: OpenAISettings
|
||||||
|
ollama: OllamaSettings
|
||||||
vectorstore: VectorstoreSettings
|
vectorstore: VectorstoreSettings
|
||||||
qdrant: QdrantSettings | None = None
|
qdrant: QdrantSettings | None = None
|
||||||
|
|
||||||
|
@ -63,3 +63,6 @@ sagemaker:
|
|||||||
openai:
|
openai:
|
||||||
api_key: ${OPENAI_API_KEY:}
|
api_key: ${OPENAI_API_KEY:}
|
||||||
model: gpt-3.5-turbo
|
model: gpt-3.5-turbo
|
||||||
|
|
||||||
|
ollama:
|
||||||
|
model: llama2-uncensored
|
||||||
|
Loading…
Reference in New Issue
Block a user