CruxNow / app.py
jebin2's picture
test write
fca0a68
from fastapi import FastAPI
from gemiwrap import GeminiWrapper
from google import genai
from google.genai import types
import json_repair
from functools import partial
import os
if os.path.exists(".env"):
from dotenv import load_dotenv
load_dotenv()
app = FastAPI()
geminiWrapper = partial(GeminiWrapper,
model_name="gemini-2.5-flash",
schema=genai.types.Schema(
type = genai.types.Type.OBJECT,
required = ["title", "content"],
properties = {
"title": genai.types.Schema(
type = genai.types.Type.STRING,
),
"content": genai.types.Schema(
type = genai.types.Type.STRING,
),
},
),
delete_files=True
)
@app.get("/")
def greet_json():
return {"Hello": "World!"}
@app.get("/breaking_news")
def breaking_news():
user_prompt = None
with open("breaking_news.md", 'r') as file:
user_prompt = file.read()
grounding_tool = types.Tool(
google_search=types.GoogleSearch()
)
model_responses = geminiWrapper(tools=[grounding_tool], response_mime_type="text/plain").send_message(user_prompt=user_prompt)
return json_repair.loads(model_responses[0])
@app.get("/hacker_news")
def hacker_news():
with open("test.txt", 'w') as file:
file.write("Hey, Hey")
text = None
with open("test.txt", 'r') as file:
text = file.read()
return {"Hello": text}
@app.get("/hackers_law")
def hackers_law():
user_prompt = None
with open("hackers_law.md", 'r') as file:
user_prompt = file.read()
model_responses = geminiWrapper().send_message(user_prompt=user_prompt)
return json_repair.loads(model_responses[0])
@app.get("/pdf_crux")
def pdf_crux(name: str):
# name : VonNeumann, hacker_laws
if not name:
name = "VonNeumann"
return {"Hello": "World!"}