Giter Site home page Giter Site logo

ringchat's Introduction

Ringchat ๐Ÿค– is a URL-powered ๐Ÿ”— chatbot service.

"RingChat" is a portmanteau of "Ring" and "Chatbot." The "Ring" symbolizes the connection between the document contained within the URL link, the chatbot, and the user. In Korean, the first syllables of "Ring" and "link" are the same, allowing for a natural association. Additionally, "Ring" evokes the image of a ring, implying trustworthiness and reliability in the answers provided by RingChat.

RingChat๐Ÿค– Key Features

1๏ธโƒฃ Recommendation Links up to 3 urls

2๏ธโƒฃ Customized document analysis

3๏ธโƒฃ Organize scattered answers

Features

login ย  chatroom

link ย  message

Service architecture


This section provides an overview of the project's core components. Each tech stack is accompanied by a discussion of its benefits, drawbacks, and the specific reasons for its inclusion in this project.


Technology Why We Chose It Benefits Drawbacks/Limitations
Docker Consistency in the development environment and rapid deployment Resolving library dependency issues that arise in different development environments.
Easy scalability during deployment.
Complexity of container image management.
If not familiar with Docker, it can lead to potential delays in development time
FastAPI High development productivity because it supports automatic documentation and asynchronous processing when developing API.
Easily fulfills the essential requirements for this project
Asynchronous processing support
Efficient use of resources
Swagger support
Easy data validation using Pydantic
Requires learning about asynchronous programming.
Community size is small compared to flask
Langchain This project aims to overcome the limitations of existing LLMs. Langchain, one of the most popular and intuitive frameworks that facilitates in-context learning, is a natural choice for achieving this goal. It's easy to extend various functions with support for a wide range of tools.
Development is relatively easy with an intuitive API.
The high level of abstraction can make fine-grained control difficult.
Since it's a relatively new framework, there might be challenges in acquiring information and a higher likelihood of encountering bugs
Next.js The only person on the team who handles frontend development is proficient in Next.js. SSR, SSG support
Improved search engine optimization
Active community
For pages where data changes frequently, SSR can cause performance degradation as the server needs to render the page every time it's requested.
Understanding React is necessary, which can create a barrier to entry.
Oracle 23ai It supports Vector columns, enabling similarity search within the database. Similarity search was expected to be frequently used for URL recommendations in this project. Direct AI model execution within the DB.
AI Vector Search support.
Enhanced security with SQL Firewall
Relatively high licensing fees
There is a barrier to entry as it is more difficult to handle than other DBs.
Relatively little reference material
OpenAI The gpt-4o-mini model offers good performance at a relatively low credit cost.
์ถฉ์ „๋œ Once the charged credits are exhausted, no additional charges will occur.
Code-related answers are superior compared to Gemini
Answers are less likely to be truncated in the middle
Decent performance for the cost
The maximum token limit is lower compared to Gemini
Multimodal processing capabilities are less developed compared to Gemini
OCI free tier Because it provides two free VMs, each with an AMD CPU and 1GB of RAM. Two VM instance free forever
No worries about additional charges
The resources provided are inadequate for running actual services, therefore requiring an additional charge.

Documentation

Get Started
  1. Clone repo
  2. Set .env & .env.local files
  3. Place the wallet folder
  4. Run the containers

Clone repo

git clone https://github.com/Rimember/ringchat.git  # clone

Set .env & .env.local

# create .env file
cd ringchat/backend

echo "# API 
OPENAI_API_KEY = \"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"

# oracle
DB_USER = \"USER_NAME\"
DB_PWD = \"PASSWORD\"
DB_DSN = \"DATA_SOURCE_NAME\"
DB_CONFIG_DIR = \"WALLET_FOLDER_PATH\"
DB_WALLET_LOCATION = \"WALLET_FOLDER_PATH\"
DB_WALLET_PWD = \"WALLET_PASSWORD\"" > .env
# create .env.local file
cd ringchat/frontend

echo "NEXT_PUBLIC_API_URL=http://backend:8000/api/v0" > .env.local 

Place the wallet folder

mv WALLET_FOLDER_PATH ringchat/backend 

Run the containers

cd ringchat 

docker compose up 
API Document
Database ERD

Contributors โœจ

Thanks goes to these wonderful people


๊ฐ•๋™ํ›ˆ

๐Ÿ› ๏ธ

์„ ๊ฒฝ์€

๐Ÿ› ๏ธ

์ด์ฐฌํ˜ธ

๐Ÿ› ๏ธ

์ž„์Šน์›

๐Ÿ› ๏ธ

์ •์ง€ํ˜

๐Ÿ› ๏ธ

ringchat's People

Contributors

jungjihyuk avatar rudeuns avatar teddygood avatar esy2k avatar

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.