mirror of
https://github.com/technovangelist/videoprojects.git
synced 2026-09-10 07:16:19 -04:00
reorg
Signed-off-by: Matt Williams <m@technovangelist.com>
This commit is contained in:
parent
86a122362b
commit
d0e67e52e3
|
|
@ -1,12 +1,9 @@
|
|||
# Rag Embed Chunk Length
|
||||
|
||||
|
||||
This is the code from the video about setting Chunk length published on March 23, 2024
|
||||
|
||||
|
||||
[](https://youtu.be/OBttxJ6FTBE)
|
||||
|
||||
|
||||
To install dependencies:
|
||||
|
||||
```bash
|
||||
29
2024-03-28-intro-dev-tsjs/3.ts
Normal file
29
2024-03-28-intro-dev-tsjs/3.ts
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
import ollama from 'ollama';
|
||||
|
||||
const prompt = "why is the sky blue";
|
||||
|
||||
const output = await ollama.generate({ model: "llama2", prompt: prompt, stream: true })
|
||||
|
||||
for await (const part of output) {
|
||||
process.stdout.write(part.response)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// console.log(output)
|
||||
|
||||
for await (const part of output) {
|
||||
// console.log(part)
|
||||
process.stdout.write(part.response)
|
||||
if (part.done === true) {
|
||||
console.log(`\nstats: ${(part.eval_count / (part.eval_duration / 1000000000)).toFixed(2)} tokens per second`) }
|
||||
}
|
||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
5
2024-04-01-intro-dev-python/1.py
Normal file
5
2024-04-01-intro-dev-python/1.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
import ollama
|
||||
|
||||
output = ollama.generate(model="llama2")
|
||||
|
||||
print(output)
|
||||
7
2024-04-01-intro-dev-python/2.py
Normal file
7
2024-04-01-intro-dev-python/2.py
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
import ollama
|
||||
|
||||
prompt = "why is the sky blue";
|
||||
|
||||
output = ollama.generate(model="llama2", prompt=prompt)
|
||||
|
||||
print(output)
|
||||
14
2024-04-01-intro-dev-python/3.py
Normal file
14
2024-04-01-intro-dev-python/3.py
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
import ollama
|
||||
|
||||
prompt = "why is the sky blue";
|
||||
|
||||
output = ollama.generate(model="llama2", prompt=prompt, stream=True)
|
||||
|
||||
# print(output)
|
||||
|
||||
for chunk in output:
|
||||
print(chunk["response"], end='', flush=True)
|
||||
if chunk["done"] == True:
|
||||
tokens_per_second = chunk["eval_count"] / (chunk["eval_duration"] / 1000000000)
|
||||
print("\nstats: {:.2f} tokens per second".format(tokens_per_second))
|
||||
|
||||
17
2024-04-01-intro-dev-python/4.py
Normal file
17
2024-04-01-intro-dev-python/4.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
import ollama
|
||||
|
||||
prompt = "why is the sky blue";
|
||||
|
||||
output = ollama.generate(model="llama2", prompt=prompt, stream=True)
|
||||
|
||||
for chunk in output:
|
||||
if chunk["done"] == True:
|
||||
print("First Generate Complete")
|
||||
context = chunk["context"]
|
||||
|
||||
output2 = ollama.generate(model="llama2", prompt="can it be another?", context=context);
|
||||
# print(f"output with context\n\n{output2['response']}\n\noutput complete\n");
|
||||
|
||||
|
||||
# output3 = ollama.generate(model="llama2", prompt="can it be another?");
|
||||
# print(f"output without context\n\n{output3['response']}\n\noutput complete");
|
||||
8
2024-04-01-intro-dev-python/5.py
Normal file
8
2024-04-01-intro-dev-python/5.py
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
import ollama
|
||||
|
||||
with open('mh.jpg', 'rb') as image_file:
|
||||
img = image_file.read()
|
||||
|
||||
|
||||
output3 = ollama.generate(model="llava", prompt="Describe this picture", images= [img])
|
||||
print(output3['response']);
|
||||
9
2024-04-01-intro-dev-python/6.py
Normal file
9
2024-04-01-intro-dev-python/6.py
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
import ollama
|
||||
|
||||
msgs = [
|
||||
{"role": "system", "content": "The user will give you a concept. Explain it to a 5 year old, using descriptive imagery and interesting and fun stories."},
|
||||
{ "role": "user", "content": "Quantum Physics" }
|
||||
]
|
||||
output = ollama.chat(model="llama2", messages=msgs )
|
||||
|
||||
print(output['message']['content'])
|
||||
28
2024-04-01-intro-dev-python/7.py
Normal file
28
2024-04-01-intro-dev-python/7.py
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
import ollama
|
||||
import json
|
||||
|
||||
schema = {
|
||||
"city": {
|
||||
"type": "string",
|
||||
"description": "The city where the user is located."
|
||||
},
|
||||
"industry": {
|
||||
"type": "string",
|
||||
"description": "The most popular industry in the city. What the city is known for."
|
||||
},
|
||||
"fun":
|
||||
{
|
||||
"type": "string",
|
||||
"description": "One thing that is fun to do there on a day off"
|
||||
}
|
||||
}
|
||||
|
||||
msgs = [
|
||||
{"role": "system", "content": f"The user will give you a city name. Describe the city including the major industry and a fun thing to do there. Output as JSON using this schema: {json.dumps(schema, indent=2)}"},
|
||||
{ "role": "user", "content": "Paris" },
|
||||
{ "role": "assistant", "content": "{\n \"city\": \"Paris\",\n \"industry\": \"Fashion\",\n \"fun\": \"Take a stroll along the Seine River and enjoy the city\'s iconic landmarks while aboard a river cruise.\"\n}" },
|
||||
{"role": "user", "content": "Amsterdam"}
|
||||
]
|
||||
output = ollama.chat(model="llama2", messages=msgs )
|
||||
|
||||
print(output["message"]["content"])
|
||||
8
2024-04-01-intro-dev-python/8.py
Normal file
8
2024-04-01-intro-dev-python/8.py
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
from ollama import Client
|
||||
|
||||
client = Client(host="http://mattsremoteollamaapi:11434")
|
||||
prompt = "why is the sky blue"
|
||||
|
||||
output = client.generate(model="llama2", prompt=prompt)
|
||||
|
||||
print(output['response'])
|
||||
BIN
2024-04-01-intro-dev-python/mh.jpg
Normal file
BIN
2024-04-01-intro-dev-python/mh.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 32 KiB |
93
2024-04-01-intro-dev-python/rest-endpoints.http
Normal file
93
2024-04-01-intro-dev-python/rest-endpoints.http
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
|
||||
### base generate just specifying the model
|
||||
|
||||
POST http://localhost:11434/api/generate
|
||||
|
||||
{
|
||||
"model": "llama2"
|
||||
}
|
||||
|
||||
|
||||
### generate with a prompt
|
||||
|
||||
POST http://localhost:11434/api/generate
|
||||
|
||||
{
|
||||
"model": "llama2",
|
||||
"prompt": "Why is the sky blue"
|
||||
}
|
||||
|
||||
### generate with images
|
||||
|
||||
POST http://localhost:11434/api/generate
|
||||
|
||||
{
|
||||
"model": "llava",
|
||||
"prompt": "What is in this picture",
|
||||
"images": ["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"]
|
||||
}
|
||||
|
||||
### generate with a prompt, but turn off streaming
|
||||
|
||||
POST http://localhost:11434/api/generate
|
||||
|
||||
{
|
||||
"model": "llama2",
|
||||
"prompt": "Why is the sky blue",
|
||||
"stream": false
|
||||
}
|
||||
|
||||
### generate JSON with a prompt, but turn off streaming
|
||||
|
||||
POST http://localhost:11434/api/generate
|
||||
|
||||
{
|
||||
"model": "llama2",
|
||||
"prompt": "list 5 colors. Respond in json format",
|
||||
"stream": false,
|
||||
"format": "json"
|
||||
}
|
||||
|
||||
### Override the system prompt
|
||||
|
||||
POST http://localhost:11434/api/generate
|
||||
|
||||
{
|
||||
"model": "llama2",
|
||||
"prompt": "Particle Physics",
|
||||
"stream": false,
|
||||
"system": "The user will provide a concept. Explain the concept to a 5 year old, using lots of stories and visual descriptions they will be able to understand.",
|
||||
}
|
||||
|
||||
### use Raw
|
||||
|
||||
POST http://localhost:11434/api/generate
|
||||
|
||||
{
|
||||
"model": "llama2",
|
||||
"prompt": "Explain Particle Physics to a 5 year old, using lots of stories and visual descriptions they will be able to understand.",
|
||||
"stream": false,
|
||||
"raw": true
|
||||
}
|
||||
|
||||
### generate with a prompt and keep model in memory for 60 seconds
|
||||
|
||||
POST http://localhost:11434/api/generate
|
||||
|
||||
{
|
||||
"model": "codellama:34b",
|
||||
"prompt": "Why is the sky blue",
|
||||
"stream": false,
|
||||
"keep_alive": 60
|
||||
}
|
||||
|
||||
### The chat endpoint
|
||||
|
||||
POST http://localhost:11434/api/chat
|
||||
|
||||
{
|
||||
"model": "llama2",
|
||||
"messages": [
|
||||
{ "role": "user", "content": "Why is the sky blue"}
|
||||
]
|
||||
}
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
import ollama from 'ollama';
|
||||
|
||||
const prompt = "why is the sky blue";
|
||||
|
||||
const output = await ollama.generate({ model: "llama2", prompt: prompt, stream: true })
|
||||
|
||||
console.log(output)
|
||||
|
||||
// for await (const part of output) {
|
||||
// console.log(part)
|
||||
// process.stdout.write(part.response)
|
||||
// if (part.done === true) {
|
||||
// console.log(`\nstats: ${(part.eval_count / (part.eval_duration / 1000000000)).toFixed(2)} tokens per second`) }
|
||||
// }
|
||||
Loading…
Reference in a new issue