gonb
askai
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
gonb
-
Go, Python, Rust, and production AI applications
I've had these strong feelings and the OP describes it really well. Despite being a polyglot programmer, I really struggle with Python, both in expression and performance (unless it's just config for GPUs).
Some of this frustration was recently an "Unpopular Opinion" on the Go Time Podcast regarding Python being great for "data exploration" but not for "data engineering": https://changelog.com/gotime/304#t=3196
I've been yearning for better interactive tooling and ML-related libraries bridge this gap and started using some even in just the last week:
* GoNB (Golang-support for Jupyter notebooks, also from a Googler) https://github.com/janpfeifer/gonb
* That uses Go-Plotly for graphs/UI: https://github.com/MetalBlueberry/go-plotly
* GoMLX (GoNB author is also on that project, many thanks Jan!) https://github.com/gomlx/gomlx
* Hidden at the end of OP is LangChainGo for LLMs, which I haven't used yet: https://github.com/tmc/langchaingo
Pick those up and let's make the Go community stronger together!
-
The Golang Saga: A Coder’s Journey There and Back Again. Part 2: The Data Expedition
When I created a new Jupyter file in Go, I faced a challenge trying to replicate the development process I usually follow with Python. In Python and Jupyter Notebook I can conveniently run code in separate parts, saving previous values in memory and using cells to organize code. This flexibility was missing in Go, and it took me some time to figure out a solution. However, I came across a helpful tutorial that explained how to use caching with the Go Kernel, making the process smoother with gonb.
-
The Golang Saga: A Coder’s Journey There and Back Again. Part 1: Leaving the Shire
I needed one more thing to make myself feel at home, something I usually use with Python. When working with data, I often turned to the Jupyter VSCode extension for its convenience. To my relief, I discovered that a Go kernel existed, tailored perfectly for my needs.
-
GoMLX -- Accelerated ML for Go
Training library, with some pretty-printing. Including plots for GoNB Jupyter notebook.
-
GoNB, a new Jupyter Notebook Kernel for Go
Tutorial (and demo) here. Source code in github.com/janpfeifer/gonb.
askai
-
OpenAI Bought Chatgpt.com
I was confused why https://chat.openai.com suddenly redirects to https://chatgpt.com which results in connection refused. Turns out chatgpt.com is in many blocklists (e.g. Pi-Hole) due to it being a potentially unsafe Domain before OpenAI acquiring it. So heads up if you use Pi-Hole / AdGuard etc.!
- The ChatGPT URL have changed
- Chat.openai.com now redirects (me) to chatgpt.com
-
Unofficial ChatGPT API
This API allows you to interact with ChatGPT programmatically, and I've built some cool agents on top of it. Check out the code and let me know what you think! :
ChatGPT unofficial API :
This project is a Node.js application that interacts with the ChatGPT conversational AI model using Puppeteer, a Node.js library for automating web browsers.
Files chatgptv1.js: This file contains the main logic for the ChatGPT bot, including methods for initializing the browser, sending messages, receiving replies, and handling errors.
bart.js: This file contains a function that uses the Cloudflare API to summarize the conversation history when an error occurs, in order to resume the conversation.
twochatbotsconv.js: This file is simple use of the API , which creates two instances of the ChatGPT class, initiates a conversation between them, and saves the conversation history to a file.
.env: This file contains the API token for the Cloudflare API, which is used in the bart.js file.
Dependencies :
puppeteer: A Node.js library for automating web browsers. fs: The built-in file system module in Node.js. winston: A logging library for Node.js. crypto: The built-in cryptography module in Node.js. axios: A popular HTTP client library for Node.js. dotenv: A zero-dependency module that loads environment variables from a .env file.
Usage:
Install the dependencies by running npm install in your project directory. Create a .env file in the project directory and add your Cloudflare API token:
API_TOKEN=YourfreeCloudFlareAPIToken In your code, create a new instance of the ChatGPT class and use the sendMessage and getReply methods to interact with the ChatGPT model:
const ChatGPT = require('./chatgptv1');
const chatgpt = new ChatGPT(); await chatgpt.initializeBrowser();
await chatgpt.sendMessage('Hello, ChatGPT!'); const reply = await chatgpt.getReply(); console.log(reply);
await chatgpt.closeBrowser(); If an error occurs during the conversation, the handleError method will attempt to save the conversation history and resume the conversation using the summarized context.
Before Running :
run Google chrom in the debug mode using 9220 port , run : google-chrome-stable --remote-debugging-port=9222
Customization :
You can customize the behavior of the ChatGPT bot by passing options to the ChatGPT constructor:
chatbotUrl: The URL of the ChatGPT interface (default: 'https://chat.openai.com/'). headless: Whether to run the browser in headless mode (default: false). saveConversationCallback: A callback function that will be called with the conversation summary and the conversation file name when an error occurs.
License:
This project is licensed under the MIT License.
- It's a shame – chat.openai.com redirect to chatgpt.com is broken
-
Building a Basic Forex Rate Assistant Using Agents for Amazon Bedrock
After wrestling with it for a bit and eventually giving up, I instead turned to ChatGPT to see if it is smart enough for the task. With my free plan, I asked ChatGPT 3.5 the following:
- Learn to ask for help
-
How to build a custom GPT: Step-by-step tutorial
Go to chat.openai.com and log in
- Chat.openai.com no longer requires login
-
Integrating Strapi with ChatGPT and Next.js
In this tutorial, we will learn how to use Strapi, ChatGPT, and Next.js to build an app that displays recipes using AI.
What are some alternatives?
fleet
ChatGPT - 🔮 ChatGPT Desktop Application (Mac, Windows and Linux)
Docker - Notary is a project that allows anyone to have trust over arbitrary collections of data
gpt-4chan-model
myLG - Network Diagnostic Tool
openai-cookbook - Examples and guides for using the OpenAI API
ipe - An open source Pusher server implementation compatible with Pusher client libraries written in GO
ai-cli - Get answers for CLI commands from ChatGPT right from your terminal
Hugo - The world’s fastest framework for building websites.
KoboldAI-Client
gomlx - GoMLX -- Accelerated ML Libraries for Go
civitai - A repository of models, textual inversions, and more