|
using Oxygen |
|
using HTTP |
|
import OstreaCultura as OC |
|
|
|
# Load the fasttext embeddings and the fasttext model |
|
const (fc_embed, fc) = OC.load_fasttext_embeddings("data/filtered_fact_check_latest_embed.csv") |
|
const (nar_embed, nar) = OC.load_fasttext_embeddings("data/expansive_claims_library_expanded_embed.csv") |
|
|
|
@get "/greet" function(req::HTTP.Request) |
|
return "hello world!" |
|
end |
|
|
|
## Send a query to the test-index index in the test-namespace namespace |
|
#@get "/query" function(req::HTTP.Request, querytext::String, indexname::String, namespace::String, top_k::Int64=5, include_values::Bool=false) |
|
# OC.query(querytext, indexname, namespace; top_k=top_k, include_values=include_values) |
|
#end |
|
|
|
## Send a query to look for matches within an organic dataset |
|
#@get "/queryclaims" function(req::HTTP.Request, claim::String, counterclaim::String, indexname::String, namespace::String, top_k::Int64=5000, include_values::Bool=false) |
|
# OC.query_claims(claim, counterclaim, indexname, namespace; top_k=top_k, include_values=include_values) |
|
#end |
|
|
|
## Classify a claim within the misinformation library |
|
#@get "/classify" function(req::HTTP.Request, claim::String, counterclaim::String, indexname::String, namespace::String, top_k::Int64=10, include_values::Bool=false) |
|
# OC.classify_claim(claim, counterclaim, indexname, namespace; top_k=top_k, include_values=include_values) |
|
#end |
|
|
|
# Model is really |
|
@get "/search" function(req::HTTP.Request, claim::String, model::String="narratives", top_k::Int64=5) |
|
# remove % signs from claim, replace with percent |
|
claim = replace(claim, "%" => "percent") |
|
OC.search(claim, "oc-hybrid-library-index", model; top_k=top_k, include_values=false) |
|
end |
|
|
|
@get "/fastfactsearch" function(req::HTTP.Request, claim::String, model::String, top_k::Int64=5) |
|
# remove % signs from claim, replace with percent |
|
claim = replace(claim, "%" => "percent") |
|
if model == "narratives" |
|
json(OC.fast_topk(nar_embed, nar, claim, top_k)) |
|
elseif model == "factchecks" |
|
json(OC.fast_topk(fc_embed, fc, claim, top_k)) |
|
else |
|
"Model not found" |
|
end |
|
end |
|
|
|
#@get "/searchplot" function(req::HTTP.Request, claim::String, model::String, top_k::Int64=5, include_values::Bool=false) |
|
# OC.searchplot(claim, "oc-hybrid-library-index", model; top_k=top_k, include_values=include_values) |
|
#end |
|
|
|
# start the web server |
|
serve(host="0.0.0.0", port=8000) |