graph TD
A[User] -->|Uploads Tweet Screenshot| B[TwitterAgentInterface]
B -->|POST /api/twitter/tweet-analysis| C[Analysis API]
C -->|1. Extract Text| D[GPT-4 Vision]
C -->|2. Refine Query| E[GPT-4]
C -->|3. Generate Analysis| F[GPT-4]
G[RAG System] -->|Store Tweets| H[(Vector DB)]
G -->|Generate Embeddings| I[OpenAI Embeddings]
C -->|4. Context Retrieval| G
D -->|Text Content| E
E -->|Refined Query| F
F -->|Final Analysis| B
B -->|Display Results| A
subgraph "Core Components"
B
C
G
end
subgraph "AI Models"
D
E
F
I
end
subgraph "Storage"
H
end
- User uploads a tweet screenshot through the interface
- Image is sent to the analysis API endpoint
- GPT-4 Vision extracts text from the image
- Query is refined for focused analysis
- System retrieves relevant context from RAG
- Final analysis is generated and displayed
- Process tweet content into chunks
- Generate embeddings for each chunk
- Store in vector database with metadata
- Index for similarity search
- Ready for context retrieval
```typescript // 1. Upload Image const handleAnalyze = async (file: File) => { const formData = new FormData(); formData.append("file", file);
// 2. Send to API const response = await fetch("/api/twitter/tweet-analysis", { method: "POST", body: formData });
// 3. Process Results const { tweetText, analysis } = await response.json(); }; ```
```typescript // 1. Process Content const tweets = processTweetContent(content);
// 2. Generate Embeddings for (const tweet of tweets) { const embedding = await generateEmbedding(tweet);
// 3. Store in Database await db.insert(ragContent).values({ content: tweet, embedding, metadata: { type: "tweet" } }); } ```
TwitterAgentInterface
: Main interface for tweet analysis- File upload with drag & drop
- Real-time analysis display
- Error handling & loading states
/api/twitter/tweet-analysis
: Process tweet screenshots/api/rag/create/twitter
: Create & manage RAG system
- Vector embeddings for semantic search
- PostgreSQL with pgvector extension
- OpenAI's text-embedding-3-large model
- GPT-4 Vision for text extraction
- Context-aware prompting
- Structured analysis generation
- Next.js 13 App Router
- OpenAI GPT-4 Vision
- Vector Embeddings
- PostgreSQL with pgvector
- TypeScript
- TailwindCSS