Skip to content

Instantly share code, notes, and snippets.

@tonmanna
Created May 5, 2024 17:24
Show Gist options
  • Save tonmanna/bbfc64aa9add547b6bb89a3191ece3c7 to your computer and use it in GitHub Desktop.
Save tonmanna/bbfc64aa9add547b6bb89a3191ece3c7 to your computer and use it in GitHub Desktop.
Ollama JS
import ollama from "ollama";
console.log("My name is Worawut");
const message = [{ role: "user", content: "My name is Worawut" }];
let response = await ollama.chat({
model: "llama3",
messages: message,
stream: true,
});
let responseMessage = { role: "assistant", content: "" };
for await (const part of response) {
responseMessage.content += part.message.content;
responseMessage.role = part.message.role;
process.stdout.write(part.message.content);
}
console.log("\n====================\n");
console.log("Do you remember my name?");
message.push(responseMessage);
message.push({ role: "user", content: "Do you remember my name?" });
response = await ollama.chat({
model: "llama3",
messages: message,
stream: true,
});
for await (const part of response) {
responseMessage.content += part.message.content;
responseMessage.role = part.message.role;
process.stdout.write(part.message.content);
}
console.log("\n====================\n");
console.log("My last name is Boontan?");
message.push(responseMessage);
message.push({ role: "user", content: "My last name is Boontan?" });
response = await ollama.chat({
model: "llama3",
messages: message,
stream: true,
});
for await (const part of response) {
responseMessage.content += part.message.content;
responseMessage.role = part.message.role;
process.stdout.write(part.message.content);
}
console.log("\n====================\n");
message.push(responseMessage);
console.log("Can you guess my full name?");
message.push({ role: "user", content: "Can you guess my full name?" });
response = await ollama.chat({
model: "llama3",
messages: message,
stream: true,
});
for await (const part of response) {
responseMessage.content += part.message.content;
responseMessage.role = part.message.role;
process.stdout.write(part.message.content);
}
console.log("\n====================\n");
message.push(responseMessage);
console.log("Amazing!");
message.push({ role: "user", content: "Amazing!" });
response = await ollama.chat({
model: "llama3",
messages: message,
stream: true,
});
for await (const part of response) {
responseMessage.content += part.message.content;
responseMessage.role = part.message.role;
process.stdout.write(part.message.content);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment