FunAi: SpringBoot backend for OpenAI APIs, chatbot, and more
Top 40.7% on sourcepulse
FunAi is a Java-based backend project built with SpringBoot, designed for learning and exploring advanced AI capabilities. It targets developers and enthusiasts interested in integrating large language models, image generation, and intelligent document processing into applications. The project offers a comprehensive suite of features, including conversational AI, PDF analysis with semantic search, and text-to-image generation, aiming to provide a robust platform for building AI-powered services.
How It Works
FunAi leverages OpenAI's APIs for ChatGPT and embeddings, integrating them within a SpringBoot architecture. For document processing, it employs recursive text splitting and vectorization, storing embeddings in vector databases like Pinecone or Milvus for semantic similarity matching. Conversational context is managed using Guava Cache for optimized response times, and features like streaming output and multi-turn conversations are supported. Image generation is handled via integrations with MidJourney and Stable Diffusion.
Quick Start & Requirements
application.properties
with database, Redis, and API key details.funai.sql
into MySQL. Configure API keys in the admin_apikey
table for OpenAI and Pinecone.Highlighted Details
Maintenance & Community
The project is actively developed with contributions acknowledged from team members and external supporters. Community interaction is encouraged via WeChat groups and direct contact for customization or collaboration.
Licensing & Compatibility
Licensed under Apache-2.0. The README explicitly states the code is for demo and testing only and prohibits commercial use without explicit authorization and attribution.
Limitations & Caveats
The project is primarily for learning and demonstration; commercial use is restricted. Some advanced features like "Magic Community" and "Oral Practice" are marked as TODO. The frontend is not yet publicly available.
2 years ago
1 day