File size: 1,687 Bytes
3e43e74 bb4be10 99020c7 bb4be10 99020c7 bb4be10 99020c7 3e43e74 99020c7 5c865d1 3e43e74 99020c7 bb4be10 5c865d1 99020c7 5c865d1 99020c7 5c865d1 bb4be10 fca0a68 bb4be10 99020c7 bb4be10 99020c7 bb4be10 99020c7 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
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!"} |