Spaces:
Sleeping
Sleeping
daddyofadoggy
commited on
Commit
Β·
c4cd8f0
1
Parent(s):
8db1deb
Added SQL fileto demostrate database set up
Browse files- README.md +10 -2
- supabase_sql_setup.sql +41 -0
README.md
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
---
|
2 |
-
title:
|
3 |
emoji: π΅π»ββοΈ
|
4 |
colorFrom: indigo
|
5 |
colorTo: indigo
|
@@ -12,4 +12,12 @@ hf_oauth: true
|
|
12 |
hf_oauth_expiration_minutes: 480
|
13 |
---
|
14 |
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
---
|
2 |
+
title: GAIA Agent
|
3 |
emoji: π΅π»ββοΈ
|
4 |
colorFrom: indigo
|
5 |
colorTo: indigo
|
|
|
12 |
hf_oauth_expiration_minutes: 480
|
13 |
---
|
14 |
|
15 |
+
**Project Overview**
|
16 |
+
Developed an Agentic RAG system using LangGraph that orchestrates a multi-step workflow combining retrieval and reasoning capabilities. The agent integrates multiple search tools (Wikipedia, Arxiv, web search via Tavily), mathematical operations, and a Supabase vector database for semantic similarity search and question retrieval. For databse setup, run *supabase_sql_setup.sql*
|
17 |
+
|
18 |
+
**Evaluation Process**
|
19 |
+
The project was evaluated using the GAIA benchmark, specifically testing against 20 questions extracted from the level 1 validation set. This rigorous evaluation measured the agent's ability to handle complex, multi-step reasoning tasks. Performance was assessed through automated scoring, providing detailed metrics including overall accuracy percentage and correct answer counts.
|
20 |
+
|
21 |
+
|
22 |
+
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
|
23 |
+
|
supabase_sql_setup.sql
ADDED
@@ -0,0 +1,41 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
-- First, make sure you have the vector extension enabled
|
2 |
+
-- First, make sure you have the vector extension enabled
|
3 |
+
CREATE EXTENSION IF NOT EXISTS vector;
|
4 |
+
|
5 |
+
-- Create the documents table if it doesn't exist
|
6 |
+
CREATE TABLE IF NOT EXISTS documents (
|
7 |
+
id SERIAL PRIMARY KEY,
|
8 |
+
content TEXT,
|
9 |
+
metadata JSONB,
|
10 |
+
embedding VECTOR(768)
|
11 |
+
);
|
12 |
+
|
13 |
+
-- Create the similarity search function that LangChain expects
|
14 |
+
CREATE OR REPLACE FUNCTION match_documents_langchain_2(
|
15 |
+
query_embedding VECTOR(768),
|
16 |
+
match_threshold FLOAT DEFAULT 0.6,
|
17 |
+
match_count INT DEFAULT 10
|
18 |
+
)
|
19 |
+
RETURNS TABLE (
|
20 |
+
id BIGINT,
|
21 |
+
content TEXT,
|
22 |
+
metadata JSONB,
|
23 |
+
similarity FLOAT
|
24 |
+
)
|
25 |
+
LANGUAGE SQL STABLE
|
26 |
+
AS $$
|
27 |
+
SELECT
|
28 |
+
documents.id,
|
29 |
+
documents.content,
|
30 |
+
documents.metadata,
|
31 |
+
1 - (documents.embedding <=> query_embedding) AS similarity
|
32 |
+
FROM documents
|
33 |
+
WHERE 1 - (documents.embedding <=> query_embedding) > match_threshold
|
34 |
+
ORDER BY documents.embedding <=> query_embedding
|
35 |
+
LIMIT match_count;
|
36 |
+
$$;
|
37 |
+
|
38 |
+
-- Create an index on the embedding column for better performance
|
39 |
+
CREATE INDEX IF NOT EXISTS documents_embedding_idx
|
40 |
+
ON documents USING ivfflat (embedding vector_cosine_ops)
|
41 |
+
WITH (lists = 100);
|