Skip to content

Instantly share code, notes, and snippets.

@grapeot
grapeot / aistudio.js
Last active November 1, 2025 22:16
分享一个利用 Builders’ Mindset 去解决实际问题的例子。 我非常喜欢 Gemini 2.5 Pro 这个 LLM,也经常使用 Google AI Studio 来调用它完成各种任务。但是,AI Studio 毕竟是一个针对开发者的工具,每次使用前我需要手动填写自己的 system prompt,打开 web search 功能和 URL context 功能,然后再输入 prompt。这样才能实现高质量的回答。这件事情非常繁琐,所以我就写了一个 bookmarklet,只要按一个按钮,它就会自动填写 system prompt,打开相关功能。现在使用起来就简单多了。
javascript:(function() {
console.log("AI Studio Configurator Bookmarklet: Starting...");
// ================== CONFIGURATION ==================
const YOUR_SYSTEM_PROMPT = `要有深度,有独立思考,给我惊喜(但是回答里别提惊喜)。
在回答问题,做任务之前先想想,我为什么要问你这个问题?背后有没有什么隐藏的原因?因为很多时候可能我交给你一个任务,是在一个更大的context下面,我已经做了一些假设。你要思考这个假设可能是什么,有没有可能我问的问题本身不是最优的,如果我们突破这个假设,可以问出更正确的问题,从更根本的角度得到启发。
在你回答问题的时候,要先思考一下,你的答案的成功标准是什么。换言之,什么样的答案是"好"的。注意,不是说你要回答的问题,而是说你的回答的内容本身要满足什么标准,才算是很好地解决了我的需求。然后针对这些标准构思答案,最好能让我惊喜。
你最终还是要给出一个答案的。但是我们是一个collaborative的关系。你的目标不是单纯的在一个回合的对话中给出一个确定的答案(这可能会逼着你一些假设不明的时候随意做出假设),而是跟我合作,一步步找到问题的答案,甚至是问题实际更好的问法。换言之,你的任务不是follow我的指令,而是给我启发。
不要滥用bullet points,把它们局限在top level。尽量用自然语言自然段。不要用引号。使用理性内敛的语言风格,用思考深度来表现牛逼,而不是堆砌宏大词藻。避免用文学性比喻。`;
const TIMEOUT_DURATION = 800; // UI动画的通用等待时间
@grapeot
grapeot / process_chapters_ollama.py
Created May 15, 2025 17:46
修仙小说物品提取
import ollama
import os
import glob
from multiprocessing import Pool, cpu_count
import logging
import time
import tqdm # Added for progress bar
# --- Configuration ---
SECTIONS_DIR = "sections"
@grapeot
grapeot / claude_tool_usage.py
Last active February 26, 2025 00:09
claude 3.7 thinking tool usage example
import os
import json
import logging
import pprint
from typing import List, Dict, Any, Optional, Literal
from anthropic import Anthropic
from dotenv import load_dotenv
# Set up logging
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')

结构色的原理、应用与未来发展

什么是结构色?

结构色是指由于物体表面或内部的微观结构与光发生物理相互作用而产生的颜色。这种颜色并非源自物质本身的色素或染料,而是由于光在纳米级别的周期性或非周期性结构中发生干涉衍射散射等光学效应,导致特定波长的光被增强或减弱,从而呈现出绚丽多彩的视觉效果。结构色广泛存在于自然界,例如蝴蝶的翅膀、孔雀的羽毛和某些贝类的壳,其鲜艳的色彩主要源于这些微观结构对光的调制。

结构色的形成原理是什么?

结构色是由于物质的微观结构与光的相互作用而产生的颜色现象。这种颜色并非源自物质本身的色素,而是光在微小尺度结构中的干涉、衍射和散射等光学效应所致。

结构色详解:定义、形成机制及其应用

什么是结构色?

结构色的定义和基本概念

结构色是指由物质的微观结构对光的干涉、衍射或散射等物理过程产生的颜色,而不是由物质中的色素分子吸收特定波长的光所导致的颜色。具体来说,结构色源自材料内部的周期性或准周期性纳米结构,这些结构能够选择性地影响光的传播,从而展示出鲜艳且多变的色彩。自然界中,如蝴蝶翅膀、孔雀羽毛和某些植物的花瓣,都广泛存在结构色现象。

结构色与色素色的主要区别

@grapeot
grapeot / meta.md
Created November 25, 2024 06:13
根据 https://www.acquired.fm/episodes/meta 写出的总结,prompt:阅读背景中间的播客脚本,给出深刻且富有启发的总结。

Facebook的起源、发展及未来方向:技术、商业模式与领导力的启示

Facebook的起源和发展历程

Facebook的起源可以追溯到马克·扎克伯格在哈佛大学的大学生活。最初,扎克伯格的灵感来自于他想建立一个在线工具,帮助学生在学校课程中找到有共同兴趣的同学。这个想法逐渐演变为Course Match,一款可以帮助学生找到共同选课同学的工具。随后,扎克伯格利用这种技术,在2003年创建了FaceMash,一个哈佛学生之间的头像比较网站,虽然因为涉及隐私问题而被关闭,但这段经历进一步激发了扎克伯格的兴趣。

2004年,扎克伯格创立了TheFacebook,这是一次更为严肃的尝试,旨在提供一个在线目录,通过学校的社交网络来连接人们。这一项目迅速扩散,仅在一个月内,就有650名哈佛学生注册。这标志着Facebook从一个简单的大学项目向全球最大的社交媒体平台转变的开始。扎克伯格在哈佛的兄弟会成员、室友和早期团队成员共同推进了这一项目,特别是达斯汀·莫斯科维茨、克里斯·休斯和爱德华多·萨瓦林,他们为Facebook的发展提供了必要的技术和资金支持。

关键转折点之一是2004年夏天,扎克伯格决定全职投入到Facebook的开发中,并开始将其推广到其他大学。这一决策使得Facebook迅速覆盖了数百所大学,并获得了大量的用户基础。2005年,Facebook借助Accel Partners的A轮融资,获得了1270万美元的投资。这是Facebook历史上第一次获得机构投资,标志着公司从一个简单的大学项目进入了商业化的阶段。同时,这一时期的创始人保持控制权的结构也在后续的决策中发挥了重要作用。

@grapeot
grapeot / astrophoto.md
Created November 25, 2024 06:03
prompt:如何入门深空摄影,背景:https://yage.ai/tag/astrophotography.html

如何入门深空摄影

前期准备

为什么要进行深空摄影?

深空摄影是一项技术与艺术相结合的活动,它能够捕捉到遥远宇宙中不可思议的美丽图像,从星系到星云,再到行星,每一幅作品都承载着宇宙的奥秘和美感。进行深空摄影的动机可能各不相同,有的人是为了追求极致的技术挑战,有的人则是因为对宇宙的无限好奇和向往。无论如何,明确自己对深空摄影的兴趣和动机是开始这一旅程的第一步。只有真正热爱它,才能在漫长的学习和实践中保持动力。如果你对探索夜空的奥秘感兴趣,希望拍摄出令人惊叹的深空天体照片,那么深空摄影无疑是一个值得尝试的方向。

深空摄影需要哪些基本器材?

深空摄影需要一系列专门的设备,主要包括以下几个部分:

@grapeot
grapeot / structured_color.md
Created November 25, 2024 05:09
使用CoT+QWen2.5-32b生成,prompt是:介绍一下结构色。背景:蝴蝶的翅膀是彩色的,一方面是因为色素,一方面是因为结构色。

结构色的意义和影响

什么是结构色

结构色的基本定义

结构色,也被称为构造色或物理色,是一种通过物体表面的微小物理结构与光相互作用而产生的颜色效果。这种颜色不是由吸收某些波长的光线形成(如传统意义下的色素颜色),而是基于光波的干涉、衍射或者散射等光学效应形成的。

结构色与传统色素不同之处

@grapeot
grapeot / translate.py
Last active November 24, 2024 07:41
A reference implementation for performing offline inference using multiple GPUs, with each GPU hosting one instance of the model. Surprisingly, I couldn't find existing tools that easily support this. Therefore, I had to manually launch several server instances on different ports and use Ray's data set parallelization along with a server manager…
# The VLLM servers were launched using something like:
# CUDA_VISIBLE_DEVICES=2 vllm serve Qwen/Qwen2.5-32B-Instruct-GPTQ-Int4 --quantization gptq --max-model-len 4096 --port 8003
from openai import OpenAI
import ray
from ray.util import ActorPool
from tqdm import tqdm
def read_file(file_path: str) -> list[str]:
"""
@grapeot
grapeot / gpt4o.py
Created June 17, 2024 15:11
使用GPT-4o识别云量
import os
import base64
import requests
import json
def get_cloudiness(image_path):
# 读取OpenAI API Key
api_key = os.getenv('OPENAI_API_KEY')
if not api_key: