Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix PR #312 #314

Merged
merged 26 commits into from
Apr 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8defffd
Test
dpdjvhxm Apr 19, 2024
f11b235
Update gatsby-config.js
dpdjvhxm Apr 19, 2024
96c60e3
Changes search result text
dpdjvhxm Apr 19, 2024
3d1b0ac
Fix gatsby-config.js and title
dpdjvhxm Apr 19, 2024
8e46568
Change meta description
dpdjvhxm Apr 19, 2024
e288f0c
Fix sitemap.xml for broken links
dpdjvhxm Apr 19, 2024
2456d60
Update landing page: Key Update and image
dpdjvhxm Apr 19, 2024
546656b
Merge branch 'apache:new-web' into new-web
dpdjvhxm Apr 21, 2024
7af07ca
Create Blog “2024-04-21-how-to-integrate-langchain-with-apache-age-fo…
dpdjvhxm Apr 21, 2024
8e87f27
Update Blog “2024-04-21-how-to-integrate-langchain-with-apache-age-fo…
dpdjvhxm Apr 21, 2024
ad21d65
Update Blog “2024-04-21-how-to-integrate-langchain-with-apache-age-fo…
dpdjvhxm Apr 21, 2024
f07c2d8
Update blog, cms
dpdjvhxm Apr 22, 2024
8d15658
Update blog
dpdjvhxm Apr 22, 2024
a7092da
Merge branch 'new-web' of https://github.com/dpdjvhxm/age-website int…
dpdjvhxm Apr 22, 2024
4bdf765
Fix spelling error
dpdjvhxm Apr 22, 2024
2067d8b
Activate "blog"
dpdjvhxm Apr 22, 2024
e8b726b
Update download page, modified blog
dpdjvhxm Apr 22, 2024
1f44e81
modified footer, download
dpdjvhxm Apr 22, 2024
72ca937
Update landing image and blog scss
dpdjvhxm Apr 22, 2024
a9126bb
modified: src/components/styles/Blog-post.scss
dpdjvhxm Apr 22, 2024
b4470e7
modified: src/pages/download/index.md
dpdjvhxm Apr 22, 2024
a3be34b
Merge branch 'new-web' into new-web
dpdjvhxm Apr 22, 2024
30ce5d8
Merge branch 'apache:new-web' into new-web
dpdjvhxm Apr 22, 2024
94acf4a
modified: src/templates/blog-post.js
dpdjvhxm Apr 22, 2024
8be135f
Create Blog “2024-04-23-beyond-chatgpt-how-to-maximize-the-use-of-cha…
dpdjvhxm Apr 23, 2024
f555fae
Create Blog “2024-04-23-combating-cyber-attack-with-apache-ages-link-…
dpdjvhxm Apr 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
templateKey: blog-post
title: "Beyond ChatGPT: How to Maximize the Use of ChatGPT with Interactive
Graph Models."
date: 2024-04-23T01:18:22.687Z
description: "Beyond ChatGPT: How to Maximize the Use of ChatGPT with
Interactive Graph Models."
featuredpost: true
featuredimage: /img/logo.png
---
<!--StartFragment-->

n just a matter of a year, ChatGPT has taken the world by storm, ushering in a new era of AI transformation. Its remarkable text-to-text generation capabilities have set new standards for informative and high-quality responses. Knowledge creation AI models like ChatGPT excel at engaging in conversations and retrieving information from vast databases. However, while it produces accurate and diverse answers, the delivery in text format can sometimes be hard to resonate with and fall short of user expectations. What if ChatGPT could also be used in combination with interactive visual representations? In this article, we delve into a method that combines the power of ChatGPT with interactive graph models, elevating the user experience to new heights.

##### The Role of Graph Data Modeling

A graph is a data structure that mirrors the natural interconnectedness found in the real world, enabling it to offer not just the desired information but also to suggest and provide additional, related data and information.

Figure 1. Recommendation system use case, expressing the meta information of a movie through connection relationship in the Graph Model

Learn more about the mechanics of Graph Databases->

##### The intricacies of Input Text & Output Text

To maximize the potential of ChatGPT, we must extend our goal beyond relying solely on existing text data and embrace the inclusion of "unstructured" information like images in the knowledge generation process. ChatGPT excels at delivering accurate answers, but achieving this precision often demands intricate and nuanced text prompts. Navigation and instruction of ChatGPT could often be challenging without guidance in the input text methods. In this regard, it is imperative to harness GPT's versatility by tapping into a variety of information sources, encompassing images. For instance, by introducing the user's hyper-personalized attributes in a simple user interface, the accuracy and relevance of information can be tailored to individual users.

To extend the information output from ChatGPT meaningfully, the specific information that the user needs must be identified from the collected pieces of information derived. In reality, however, GPT offers multifaceted textual information, which can be overwhelming for users seeking value within its output. To address this challenge, transforming the information produced by GPT into a 'knowledge graph' becomes a valuable approach. By mapping the connections between data points output by GPT onto a graph, it becomes feasible to visualize and index the desired information, uncover additional insights, and streamline GPT's knowledge management.



Figure 2. ChatGPT's text output in over 70 lines

##### Creation and management of GPT knowledge using image information and graphs

Beyond obtaining information through 'text-to-text', let's elucidate on how to easily manage knowledge in the form of a graph by inputting images as a service using an example prompt, 'Generate Food Recipes from the Fridge.

In today's fast-paced world, many individuals have encountered the predicament of having to prepare a meal when faced with limited ingredients. Furthermore, tailoring a dish to one's specific dietary needs and personal preferences can be challenging. Let's tackle this by leveraging ChatGPT's capabilities along with the knowledge graph framework, empowering users to access top-tier insights with the simplest of inputs.





Figure 3. Information extraction process using ChatGPT from an image of the ingredients in the fridge

The above two models are used for extracting food recipes and information from the images of the ingredients in the fridge. As a first prompt, using object detection algorithms such as R-CNN or YOLO models, the ingredients present in the fridge are extracted. As for the second input value, it pertains to the user's unique preferences. To ensure accurate prompts, predefined options such as select boxes or radio buttons are employed.

In this workflow, both the ingredient list and the user's preferences are integrated into the ChatGPT prompt using a standardized format. Subsequently, GPT employs this data to craft a text output encompassing potential dishes, ingredients, recipes, and nutritional insights tailored to the user's specific traits, including factors like appetite, age, and time zone. This meticulous prompt engineering, which leverages both images and user characteristics, yields high-quality information to enhance the overall user experience.

##### Knowledge management using Graphs

When you input ingredients and user preferences into ChatGPT, the generated output comprises a 'dish,' 'recipe,' available ingredients, and additional ingredients suitable for the user. In Figure 4. below, by entering items like cabbage, tomato, and seaweed in your pantry, along with dinner preferences, dietary requirements, and age, GPT generates results related to 'cooking' and 'nutritional ingredients' as illustrated. This information is easily visualized through graphs and can be extracted into actionable knowledge.



Figure 4. Utilization of information extracted by ChatGPT using a graph (a circle with red border is information that can be obtained through ChatGPT, red dotted arrow indicates additional information that is recommended from information through ChatGPT)

Given that actual GPT information often spans over 70 lines of text, comprehending the desired details and their relationships can be challenging. Utilizing a graphical representation, you can observe that 'cabbage salad' was suggested as a recommended dish, along with 'salt and pepper' as essential cooking ingredients. Furthermore, dietary insights like 'dietary fiber' and 'digestion' were provided for users in the 'elderly' age group.

By leveraging these complex information interconnections, users can extract knowledge from GPT-generated data and discern common patterns among essential information elements.

This graph model can further be advanced into meal planning recommendations using the ingredients or nutrients in the food information. For example, by clicking on the 'cabbage, and 'tomato' nodes of an ingredient and putting them back into the GPT input prompt, it returns a dish that can be made with those ingredients, such as 'tomato-cabbage stir-fry'. If one clicks on the 'dietary fiber' and 'digestion' nodes in the nutrition component, 'older' and 'diet' are the most relevant characteristics through the edge search of the graph, leading to the 'seaweed soup' as a recommended dish.

This way, knowledge management using graphs enables users to secure visibility and identity and explore relationships between information to identify causality and relevance. A simple graph-type UI/UX also helps improve the productivity of ChatGPT by clicking on the appropriate node providing a data environment in a simple form that allows other food recommendations without having to separate prompt engineering.

##### Bringing the utilization of ChatGPT to the next level

ChatGPT holds significant promise for seamless integration with other models and efficient knowledge management. With a broader data spectrum and user-friendly graph-based knowledge management, it unlocks new insights and expands effortlessly across various domains. In particular, Apache AGE makes it easy to search and extract various knowledge by storing data in a graph. Being an extension to PostgreSQL, AGE allows a hybrid approach to databases combining the capabilities of both relational and graph queries, making it straightforward for beginners to view, extract, and manage graph information. Leveraging Apache AGE, the multi-database management system for generative AI knowledge, provides a low-barrier, versatile solution for making the most of this new era in knowledge management.

<!--EndFragment-->
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
---
templateKey: blog-post
title: Combating cyber attack with Apache AGE's link analysis.
date: 2024-04-23T01:28:20.437Z
description: |-
Combating cyber attack with Apache AGE's link
analysis.
featuredpost: true
featuredimage: /img/logo.png
---
<!--StartFragment-->

##### Cybersecurity Background

In today's world, the internet has transformed how we connect, work, and access information, bringing unparalleled convenience and connectivity. This digital revolution, however, has its challenges, especially in cybersecurity. As we depend more on technology, the need to protect sensitive data and counteract cyber threats becomes increasingly critical.

Cybersecurity is about safeguarding our computer systems, networks, and data from theft, damage, or unauthorized access. A key part of this field is network intrusion detection. It's like a digital watchdog, constantly monitoring network traffic for any signs of suspicious activities, such as hacking attempts or unauthorized entries. The aim is to catch and address these threats early, preventing any harm to our networks or data.

In essence, cybersecurity and network intrusion detection are vital in our tech-driven world, ensuring our digital safety and resilience against ever-evolving cyber threats.

##### Data Overview

In the realm of cybersecurity, graph analysis plays a crucial role. To illustrate this, we use the CIDDS-001 dataset, specifically designed for network intrusion detection. This dataset serves as a benchmark for evaluating how different intrusion detection systems perform in identifying network attacks. It simulates a small business environment, complete with clients and servers, like email and web servers. The behaviors on these clients are mimicked using Python scripts, and the dataset includes unidirectional NetFlow data, capturing the flow of network traffic.

![img](../../img/xai-1.png)

##### Figure1. Graph Modeling

Graph analysis in cybersecurity involves transforming relational data into a graph format, consisting of nodes (points) and edges (connections). There are two main types of graphs:

1. **Homogeneous Graphs:** These have nodes and edges of a single type, similar to what you'd find in social networks with user nodes connected by 'follow' edges.
2. **Heterogeneous Graphs:** These contain multiple types of nodes and edges, like in e-commerce networks where interactions between users and items are tracked through different types of connections such as 'buy,' 'cart,' and 'view.'

Using the [CIDDS-001 dataset](https://www.hs-coburg.de/forschung/forschungsprojekte-oeffentlich/informationstechnologie/cidds-coburg-intrusion-detection-data-sets.html) , we create a graph for network flow analysis. This includes nodes representing start and end points in the network, and edges of various types like 'benign,' 'dos,' 'portscan,' 'pingscan,' and 'bruteforce.' A key feature of this graph is the detailed information attached to each node and edge, such as ports, packet sizes, and timestamps. This level of detail is particularly valuable in cybersecurity, where quick and precise responses are crucial.

##### Cypher Query with Analysis Scenario

In this section, we explore how the PostgreSQL extension [Apache AGE's](https://age.apache.org/) graph analysis capabilities, particularly through Cypher queries, can be leveraged in cybersecurity. We'll look at three different scenarios, each demonstrating the power and flexibility of Cypher queries in analyzing network data.

![img](../../img/xai-2.png)

##### Figure2. Graph Query with Condition

Figure 2 showcases a Cypher query that focuses on identifying network packets larger than a certain size. This is a prime example of the 'condition' function in Apache AGE, which is crucial for pinpointing specific scenarios. Here, the query filters out packets larger than 10 units, helping analysts spot potential anomalies or threats in network traffic. This function isn't limited to just packet size; it can be tailored to various criteria, making it a versatile tool for cybersecurity analysis.

![img](../../img/xai-3.png)

##### Figure3. Multi-path Search with Union Query

In Figure 3, we see a union query in [Apache AGE](https://age.apache.org/), demonstrating its ability to handle complex, multi-path searches. This is particularly useful in scenarios where you need to analyze data across different types of connections, like 'eg_portscan' and 'eg_pingscan.' [Apache AGE](https://age.apache.org/) also enhances this analysis with visual aids, like representing the weight of packets through the thickness of edges in the graph, making it easier to interpret the data visually.

![img](../../img/xai-4.png)

##### Figure4. Bi-directional Path Search

The final example, illustrated in Figure 4, is a bi-directional path search. This Cypher query uncovers one-to-many relationships between nodes, providing a detailed view of network interactions and potential security incidents. It's particularly adept at revealing complex patterns and relationships that might be missed with traditional analysis methods. By tracing paths involving different types of nodes and connections, this query helps in identifying multi-step attack patterns and potential sources or targets of cyberattacks.

In summary, these scenarios highlight the strength of [Apache AGE](https://age.apache.org/) in cybersecurity. Through its advanced graph analysis capabilities, [Apache AGE](https://age.apache.org/) enables cybersecurity professionals to uncover deep insights into network activities, detect threats more effectively, and enhance the overall security of network infrastructures.

##### Conclusion

Throughout this discussion, we've delved into the essentials of cybersecurity, examined the CIDDS-001 dataset for cyber intrusion analysis, and explored the dynamic use of Cypher queries in data analysis. The journey underscores the immense value of graph analysis in cybersecurity, offering profound insights and robust tools to combat digital threats.

[Apache AGE](https://age.apache.org/) stands out in this landscape, particularly for its user-friendly approach to graph analysis. The use of Cypher queries, known for their power and intuitiveness, simplifies complex data analysis. This language enables cybersecurity experts to craft detailed queries, uncovering complex attack patterns and suspicious network activities. Such flexibility is crucial in enhancing threat detection and response capabilities.

Graph visualization emerges as a key player in making intricate cybersecurity data more understandable and actionable. By graphically representing network nodes, edges, and their attributes, it becomes easier for analysts to decode complex structures, spot anomalies, and respond swiftly to potential threats. This visual approach aids in proactive security measures, allowing teams to trace unusual activities, map out attack routes, and pinpoint potential sources of cyber threats, thereby improving overall security awareness and decision-making.

Another significant aspect of [Apache AGE's](https://age.apache.org/)graph analysis is the labeled property graph model. This approach enriches nodes and edges with detailed metadata, capturing essential information about cyber incidents. Such rich data representation not only aids in precise threat categorization but also supports thorough post-incident analysis. This helps organizations learn from past experiences, enhancing their defensive strategies against future cyber threats.

In conclusion, [Apache AGE](https://age.apache.org/) presents a powerful suite of tools for cybersecurity professionals, significantly bolstering their ability to detect, investigate, and neutralize cyber threats. The combination of easy-to-use Cypher queries and effective graph visualization positions [Apache AGE](https://age.apache.org/) as an indispensable asset in contemporary cybersecurity operations. By adopting graph analysis, organizations can effectively stay ahead of cyber adversaries, protect sensitive data, and maintain the integrity of their digital ecosystems.

<!--EndFragment-->
2 changes: 1 addition & 1 deletion src/templates/blog-post.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import { Helmet } from "react-helmet";
import { graphql, Link, navigate } from "gatsby"; // 'navigate'를 임포트합니다.
import Layout from "../components/Layout";
import Content, { HTMLContent } from "../components/Content";
import style from "../components/styles/blog-post.scss"
import style from "../components/styles/Blog-post.scss"

// eslint-disable-next-line
export const BlogPostTemplate = ({
Expand Down
Loading