Coder Social home page Coder Social logo

ai-agent-host's Introduction

AI Agent Host

The AI Agent Host is a module-based environment designed to facilitate rapid experimentation and testing. It includes a docker-compose configuration with QuestDB, Grafana, Code-Server and Nginx. The AI Agent Host provides a seamless interface for managing and querying data, visualizing results, and coding in real-time.

The AI Agent Host is built specifically for LangChain, a framework dedicated to developing applications powered by language models. LangChain recognizes that the most powerful and distinctive applications go beyond simply utilizing a language model and strive to be data-aware and agentic. Being data-aware involves connecting a language model to other sources of data, enabling a comprehensive understanding and analysis of information. Additionally, being agentic allows a language model to actively interact with its environment. The AI Agent Host aligns with these principles and serves as a framework that supports LangChain's vision, providing a module-based environment for seamless data management, visualization, and real-time coding, thereby empowering developers to create advanced language model-driven applications.

Features

  1. QuestDB: QuestDB is a high-performance, open-source time-series database. It allows for efficient storage and querying of time-series data, making it ideal for working with real-time data streams.

  2. Grafana: Grafana is a popular open-source platform for data visualization and monitoring. It provides a rich set of features for creating interactive dashboards and visualizing data from various sources.

  3. Code-Server: Code-Server is a web-based IDE based on Visual Studio Code. It provides a familiar coding environment with features such as code completion, syntax highlighting, and debugging capabilities.

  4. Nginx: Nginx is a widely-used web server and reverse proxy server. It enhances the AI Agent Host by providing additional functionality for routing and load balancing, improving performance and security

Getting Started

To use the AI Agent Host, follow these steps:

  1. Set up or use an existing environment with Docker installed.

  2. Clone the AI Agent Host repository and navigate to the docker directory.

git clone https://github.com/quantiota/AI-Agent-Host.git
cd AI-Agent-Host/docker

  1. Follow all prerequisite steps that should be completed before bringing the Docker Stack. Refer to the Docker Readme file for guidance

  2. Launch the AI Agent Host using the provided docker-compose configuration.

docker compose up --build -d

  1. Once the services are up and running, you can access the AI Agent Host interfaces:
  1. To connect the AI Agent Host to a remote JupyterHub environment from Code-Server:
  • Set up or use an existing remote JupyterHub that includes the necessary dependencies for working with your notebooks and data.

  • Connect to the remote JupyterHub environment from within the Code-Server interface provided by the AI Agent Host

Start working with your notebooks and data, using the pre-installed tools and libraries that are included in your remote environment.

AI Agent Host Architecture Diagram

AI Agent Host diagram

๐Ÿ“ High resolution diagram Application architecture diagram

References

ai-agent-host's People

Contributors

bouarfamahi avatar lax avatar

Stargazers

 avatar Meriem Terki avatar Ajeet Yadav avatar  avatar Michael Gruen avatar  avatar SJ avatar  avatar

Watchers

 avatar

ai-agent-host's Issues

Add an nginx container to the AI Agent Host with Let's Encrypt and Certbot

Running nginx provide several benefits. Here are a few examples:

  • Reverse Proxy: Nginx can act as a reverse proxy to expose multiple services on the same port, so you could use it to expose Code-server, Grafana, and QuestDB on a single port, such as 80 or 443. This can make it easier to access these services from a web browser without having to remember multiple ports.

  • SSL/TLS Termination: Nginx can also be used to terminate SSL/TLS connections and then pass decrypted traffic to your application containers. This can be particularly useful if you want to secure your application with SSL/TLS.

  • Load Balancing: If you have multiple instances of your application containers, Nginx can be used as a load balancer to distribute incoming traffic across them. This can help to improve performance and ensure that your application remains available even if one of the containers goes down.

  • Caching: Nginx can also be used as a caching layer to improve the performance of your application. By caching frequently accessed resources, you can reduce the load on your application containers and improve response-time.

Overall, adding an nginx container to your Docker Compose setup that includes QuestDB, Code-server, and Grafana can provide several benefits. However, whether or not it makes sense to do so depends on the specific requirements of your application and the goals you're trying to achieve.

For each Microserver allow HTTPS connection to Web Applications:

https://vscode.domain.tld
https://questdb.domain.tld
https://grafana.domain.tld

and use this Nginx configuration file:

Add features to the AI Agent Host

  • Setup the notebooks folder as a shared directory in the Docker Compose file, so that any notebooks that we create or modify within the container should also be accessible from the local host.

  • The read/write permission on the shared folder should be set to allow both the container and the local host to access and modify the contents of the folder. In the Docker Compose file, you can use the volumes section to specify the permissions for the mounted directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.