playing with tril api
This commit is contained in:
parent
bf40e4a3ca
commit
72a8428271
15
Dockerfile
15
Dockerfile
@ -1,15 +1,20 @@
|
|||||||
FROM python:slim
|
FROM debian:trixie-slim
|
||||||
|
|
||||||
WORKDIR /blog_creator
|
WORKDIR /blog_creator
|
||||||
|
|
||||||
COPY requirements.txt requirements.txt
|
ENV PYTHONDONTWRITEBYTECODE 1
|
||||||
|
ENV PYTHONUNBUFFERED 1
|
||||||
|
|
||||||
ADD src/ /blog_creator
|
ADD src/ /blog_creator
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y rustc cargo python-is-python3 pip python3.12-venv libmagic-dev
|
||||||
|
|
||||||
|
RUN python -m venv /opt/venv
|
||||||
|
ENV PATH="/opt/venv/bin:$PATH"
|
||||||
|
|
||||||
|
COPY requirements.txt requirements.txt
|
||||||
|
|
||||||
RUN pip install -r requirements.txt
|
RUN pip install -r requirements.txt
|
||||||
|
|
||||||
#RUN apt-get update && apt-get install -y make
|
|
||||||
|
|
||||||
#RUN make html
|
|
||||||
|
|
||||||
ENTRYPOINT ["python", "main.py"]
|
ENTRYPOINT ["python", "main.py"]
|
||||||
|
@ -1,5 +1,14 @@
|
|||||||
## BLOG CREATOR
|
## BLOG CREATOR
|
||||||
|
|
||||||
|
This creator requires you to use a working Trilium Instance and create a .env file with the following
|
||||||
|
|
||||||
|
```
|
||||||
|
TRILIUM_HOST
|
||||||
|
TRILIUM_PORT
|
||||||
|
TRILIUM_PROTOCOL
|
||||||
|
TRILIUM_PASS
|
||||||
|
```
|
||||||
|
|
||||||
This container is going to be what I use to trigger a blog creation event
|
This container is going to be what I use to trigger a blog creation event
|
||||||
|
|
||||||
To do this we will
|
To do this we will
|
||||||
|
9
docker-compose.yml
Normal file
9
docker-compose.yml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
services:
|
||||||
|
blog_creator:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
container_name: blog_creator
|
||||||
|
env_file:
|
||||||
|
- .env
|
||||||
|
|
@ -1 +1,2 @@
|
|||||||
ollama
|
ollama
|
||||||
|
trilium-py
|
||||||
|
@ -1,5 +1,13 @@
|
|||||||
from ollama import Client
|
from ollama import Client
|
||||||
|
|
||||||
|
import trilium.notes as tn
|
||||||
|
|
||||||
|
tril = tn.TrilumNotes()
|
||||||
|
|
||||||
|
tril_notes = tril.get_new_notes()
|
||||||
|
|
||||||
|
for note in tril_notes:
|
||||||
|
print(note)
|
||||||
client = Client(host='http://192.168.178.45:11434')
|
client = Client(host='http://192.168.178.45:11434')
|
||||||
|
|
||||||
user_prompt = input("Ask mistral-nemo a question: ")
|
user_prompt = input("Ask mistral-nemo a question: ")
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
from trilium_py.client import ETAPI
|
|
||||||
import os
|
|
||||||
|
|
||||||
server_url = f'{os.environ['TRILIUM_PROTOCOL']}://{os.environ['TRILIUM_HOST']}:{os.environ['TRILIUM_PORT']}'
|
|
||||||
password = os.environ['TRILIUM_PASS']
|
|
||||||
ea = ETAPI(server_url)
|
|
||||||
token = ea.login(password)
|
|
||||||
print(token)
|
|
36
src/trilium/notes.py
Normal file
36
src/trilium/notes.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
from trilium_py.client import ETAPI
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
class TrilumNotes:
|
||||||
|
def __init__(self):
|
||||||
|
self.protocol = os.environ.get('TRILUM_PROTOCOL')
|
||||||
|
self.host = os.environ.get('TRILIUM_HOST')
|
||||||
|
self.port = os.environ.get('TRILIUM_PORT')
|
||||||
|
self.tril_pass = os.environ.get('TRILIUM_PASS')
|
||||||
|
self.token = os.environ.get('TRILIUM_TOKEN')
|
||||||
|
if not all([self.protocol, self.host, self.port, self.tril_pass]):
|
||||||
|
print("One or more required environment variables not found. Have you set a .env?")
|
||||||
|
|
||||||
|
self.server_url = f'{self.protocol}://{self.host}:{self.port}'
|
||||||
|
|
||||||
|
if not self.token:
|
||||||
|
print("Please run get_token and set your token")
|
||||||
|
else:
|
||||||
|
self.ea = ETAPI(self.server_url, self.token)
|
||||||
|
|
||||||
|
def get_token(self):
|
||||||
|
ea = ETAPI(self.server_url)
|
||||||
|
token = ea.login(self.tril_pass)
|
||||||
|
print(token)
|
||||||
|
print("I would recomend you update the env file with this tootsweet!")
|
||||||
|
|
||||||
|
def get_new_notes(self):
|
||||||
|
notes = self.ea.search_note(
|
||||||
|
search="#ai_blog #blog_written=false",
|
||||||
|
ancestorNoteId="kYZXOUVabB7s",
|
||||||
|
fastSearch=False,
|
||||||
|
limit=10
|
||||||
|
)
|
||||||
|
self.new_notes = notes
|
||||||
|
return notes
|
Loading…
x
Reference in New Issue
Block a user