Interweb is a powerful and versatile API that consolidates multiple data providers into one unified interface, simplifying the process of searching and retrieving information. Whether you're building a chatbot, a data analysis tool, or any application that requires access to various data sources, Interweb can help streamline your development process.
-
Unified search: Interweb consolidates multiple search APIs into one, making it easy to search for information from a variety of sources.
-
Unified API: Interweb offers a single API endpoint to access multiple data providers, reducing the complexity of managing multiple APIs in your project.
-
Preserved History: When using LLM (ChatGPT), Interweb preserves the conversation history, provides a simple interface for building and maintaining conversational interactions with AI models.
-
Blazingly fast: Interweb is built on top of Quarkus Reactive, compiled into native executable, and can handle thousands of requests per second.
-
Save quota: Interweb caches responses from data providers, reducing the number of API calls and saving your quota.
Interweb can be used in a wide range of applications, but was designed with the following use cases in mind:
-
Chatbots: Build intelligent chatbots that can answer questions, provide recommendations, and engage in natural conversations with users. Everything you can do with ChatGPT, but conversation history is included.
-
Information Retrieval: Quickly search and retrieve information from multiple data providers without the hassle of integrating each API individually.
Interweb currently supports the following data providers:
- Anthropic:
- Interact with Anthropic's LLMs for natural language understanding and generation.
- Bing:
- Search: the web for images, videos, news, and more.
- Suggest: get related queries to enhance user search experience.
- Flickr:
- Search: for photos and images.
- Describe: a media resource by url.
- Giphy:
- Search: for variety of gifs in one of the largest gif libraries.
- Google:
- Suggest: access related search queries from one of the world's leading search engines.
- Ipernity:
- Search: discover photos and images within one of the largest non-commercial clubs.
- Describe: obtain photo information using its url.
- Ollama:
- Interact with open-source LLMs for natural language understanding and generation.
- OpenAI:
- Interact with OpenAI's ChatGPT for natural language understanding and generation.
- SlideShare:
- Search: find presentations and documents for various topics.
- Vimeo:
- Search: locate videos created by creative content creators.
- Describe: obtain video information using its url.
- YouTube:
- Search: for videos in the largest video hosting platform.
- Describe: obtain detailed information about a video using its url.
Interweb is available as a Docker image, making it easy to deploy and use in your projects. Follow these steps:
-
Pull the Docker Image:
docker pull ghcr.io/l3s-learnweb/interweb:latest
-
Run the Docker Container:
docker run -p 8080:8080 --env-file ./path/to/.env ghcr.io/l3s-learnweb/interweb:latest
Replace
./path/to/.env
with the path to your environment file. Make sure your configuration file contains the necessary API keys and settings for the supported connectors. An example can be found in the example.env file in the interweb-server subproject. -
Access the API spec:
You can now read the API specification at http://localhost:8080/, or you can now make a requests to Interweb using e.g.:
GET http://localhost:8080/suggest?q=hello+world
For more advanced usage, you need to create an access token and use it in your requests.
We welcome contributions from the community. If you have ideas for new providers, features, or improvements, please open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.