from netra import Netra, workflow, task
from aleph_alpha_client import Client, CompletionRequest, Prompt
Netra.init(
headers=f"x-api-key={os.environ['NETRA_API_KEY']}"
)
client = Client(token=os.environ["ALEPH_ALPHA_API_KEY"])
@workflow()
def process_document(text: str):
summary = summarize_text(text)
keywords = extract_keywords(summary)
return {"summary": summary, "keywords": keywords}
@task()
def summarize_text(text: str):
request = CompletionRequest(
prompt=Prompt.from_text(f"Summarize: {text}"),
maximum_tokens=150
)
response = client.complete(request, model="luminous-extended")
return response.completions[0].completion
@task()
def extract_keywords(text: str):
request = CompletionRequest(
prompt=Prompt.from_text(f"Extract keywords: {text}"),
maximum_tokens=50
)
response = client.complete(request, model="luminous-base")
return response.completions[0].completion