latest commits

This commit is contained in:
=
2025-05-19 11:07:41 +10:00
parent 44141ab545
commit e0b2c80bc9
4 changed files with 49 additions and 53 deletions
+29 -20
View File
@@ -1,7 +1,7 @@
import os, re
from ollama import Client
import chromadb, time
from langchain_ollama import ChatOllama
class OllamaGenerator:
@@ -15,6 +15,7 @@ class OllamaGenerator:
self.ollama_model = model
self.embed_model = "snowflake-arctic-embed2:latest"
self.agent_models = ["openthinker:7b", "deepseek-r1:7b", "qwen2.5:7b", "gemma3:latest"]
self.llm = ChatOllama(model=self.ollama_model, temperature=0.7)
self.prompt_inject = f"""
You are a journalist, Software Developer and DevOps expert
writing a 1000 word draft blog for other tech enthusiasts.
@@ -52,14 +53,20 @@ class OllamaGenerator:
def generate_draft(self, model) -> str:
'''Generate a draft blog post using the specified model'''
try:
self.response = self.ollama_client.chat(model=model,
messages=[
{
'role': 'user',
'content': f'{self.prompt_inject}',
},
])
return self.response['message']['content']
agent_llm = ChatOllama(model=model, temperature=0.8)
messages = [
("system", self.prompt_inject),
("human", "make the blog post in a format to be edited easily" )
]
self.response = agent_llm.invoke(messages)
# self.response = self.ollama_client.chat(model=model,
# messages=[
# {
# 'role': 'user',
# 'content': f'{self.prompt_inject}',
# },
# ])
return self.response.text()#['message']['content']
except Exception as e:
raise Exception(f"Failed to generate blog draft: {e}")
@@ -92,7 +99,7 @@ class OllamaGenerator:
def generate_markdown(self) -> str:
prompt = f"""
prompt_system = f"""
You are an editor taking information from {len(self.agent_models)} Software
Developers and Data experts
writing a 3000 word blog for other tech enthusiasts.
@@ -105,21 +112,23 @@ class OllamaGenerator:
{self.content}
"""
try:
query_embed = self.ollama_client.embed(model=self.embed_model, input=prompt)['embeddings']
query_embed = self.ollama_client.embed(model=self.embed_model, input=prompt_system)['embeddings']
collection = self.load_to_vector_db()
collection_query = collection.query(query_embeddings=query_embed, n_results=100)
print("Showing pertinent info from drafts used in final edited edition")
pertinent_draft_info = '\n\n'.join(collection.query(query_embeddings=query_embed, n_results=100)['documents'][0])
prompt_enhanced = f"{prompt} - Generate the final document using this information from the drafts: {pertinent_draft_info} - ONLY OUTPUT THE MARKDOWN"
prompt_human = f"Generate the final document using this information from the drafts: {pertinent_draft_info} - ONLY OUTPUT THE MARKDOWN"
print("Generating final document")
self.response = self.ollama_client.chat(model=self.ollama_model,
messages=[
{
'role': 'user',
'content': f'{prompt_enhanced}',
},
])
return self.response['message']['content']
messages = [("system", prompt_system), ("human", prompt_human),]
self.response = self.llm.invoke(messages).text()
# self.response = self.ollama_client.chat(model=self.ollama_model,
# messages=[
# {
# 'role': 'user',
# 'content': f'{prompt_enhanced}',
# },
# ])
return self.response#['message']['content']
except Exception as e:
raise Exception(f"Failed to generate markdown: {e}")
+1
View File
@@ -10,6 +10,7 @@ def try_something(test):
# Set the path to your blog repo here
blog_repo = "/path/to/your/blog/repo"
# Checkout a new branch and create a new file for our blog post
branch_name = "new-post"
try: