Skip to content

Commit 1846805

Browse files
authored
Improve Ollama docs (#8417)
1 parent 198b7fa commit 1846805

File tree

2 files changed

+28
-0
lines changed

2 files changed

+28
-0
lines changed

docs/modules/ollama.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,28 @@ You can start an Ollama container instance from any Java application by using:
1010
[Ollama container](../../modules/ollama/src/test/java/org/testcontainers/ollama/OllamaContainerTest.java) inside_block:container
1111
<!--/codeinclude-->
1212

13+
### Pulling the model
14+
15+
Testcontainers allows [executing commands in the container](../features/commands.md). So, pulling the model is as simple as:
16+
17+
<!--codeinclude-->
18+
[Pull model](../../modules/ollama/src/test/java/org/testcontainers/ollama/OllamaContainerTest.java) inside_block:pullModel
19+
<!--/codeinclude-->
20+
21+
### Create a new Image
22+
23+
In order to create a new image that contains the model, you can use the following code:
24+
25+
<!--codeinclude-->
26+
[Commit Image](../../modules/ollama/src/test/java/org/testcontainers/ollama/OllamaContainerTest.java) inside_block:commitToImage
27+
<!--/codeinclude-->
28+
29+
And use the new image along with [Image name Substitution](../features/image_name_substitution.md#manual-substitution)
30+
31+
<!--codeinclude-->
32+
[Use new Image](../../modules/ollama/src/test/java/org/testcontainers/ollama/OllamaContainerTest.java) inside_block:containerSubstitute
33+
<!--/codeinclude-->
34+
1335
## Adding this module to your project dependencies
1436

1537
Add the following dependency to your `pom.xml`/`build.gradle` file:

modules/ollama/src/test/java/org/testcontainers/ollama/OllamaContainerTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,26 @@ public void downloadModelAndCommitToImage() throws IOException, InterruptedExcep
2929
String newImageName = "tc-ollama-allminilm-" + Base58.randomString(4).toLowerCase();
3030
try (OllamaContainer ollama = new OllamaContainer("ollama/ollama:0.1.26")) {
3131
ollama.start();
32+
// pullModel {
3233
ollama.execInContainer("ollama", "pull", "all-minilm");
34+
// }
3335

3436
String modelName = given()
3537
.baseUri(ollama.getEndpoint())
3638
.get("/api/tags")
3739
.jsonPath()
3840
.getString("models[0].name");
3941
assertThat(modelName).contains("all-minilm");
42+
// commitToImage {
4043
ollama.commitToImage(newImageName);
44+
// }
4145
}
4246
try (
47+
// containerSubstitute {
4348
OllamaContainer ollama = new OllamaContainer(
4449
DockerImageName.parse(newImageName).asCompatibleSubstituteFor("ollama/ollama")
4550
)
51+
// }
4652
) {
4753
ollama.start();
4854
String modelName = given()

0 commit comments

Comments
 (0)