자동 프롬프트: 제공된 콘텐츠를 검토하고 다음 사항을 표시합니다.
제공된 콘텐츠를 검토하고 스토리나 그 결과의 중요한 요소를 드러낼 수 있는 중요한 줄거리 계시나 중요한 점이 포함되어 있는지 여부를 표시하십시오. 스포일러나 비판적 통찰이 포함된 경우 '예'로 응답하고, 핵심 스토리 요소 공개를 자제하는 경우 '아니오'로 응답하세요.
#writing #storytelling
ToolEmu: @inproceedings{ruan2024toolemu,
@inproceedings{ruan2024toolemu,
title={LM 에뮬레이트 샌드박스를 사용하여 LM 에이전트의 위험 식별},
저자={Ruan, Yangjun 및 Dong, Honghua 및 Wang, Andrew 및 Pitis, Silviu 및 Zhou, Yongchao 및 Ba, Jimmy 및 Dubois, Yann 및 Maddison, Chris J 및 Hashimoto, Tatsunori},
booktitle={제12차 학습 표현에 관한 국제 회의},
연도={2024}
}
#ai
프롬프트: 텍스트
텍스트
('목표', ['파리 여행 계획'])
('tasks', [Task(task_id=1, Description='여권 유효성 확인', status=<TaskStatus.TODO: 'todo'>), Task(task_id=2, Description='여행 날짜 결정', status=<TaskStatus.TODO: 'todo'>), Task(task_id=3, Description='항공편 검색 및 예약', status=<TaskStatus.TODO: 'todo'>), Task(task_id=4, Description='숙박 예약', status=<TaskStatus.TODO: 'todo'>), Task(task_id=5, Description='여행 일정 계획', status=<TaskStatus.TODO: 'todo'>), Task(task_id=6, Description='여행 보험 조사 및 구매', status=<TaskStatus.TODO: 'todo'>), Task(task_id=7, Description='여행 예산 설정', status=<TaskStatus.TODO: 'todo'>), Task(task_id=8, Description='짐 꾸리기', status=<TaskStatus.TODO: 'todo'>), Task(task_id=9, Description='해외 여행 은행에 알림', status=<TaskStatus.TODO: 'todo'>), Task(task_id=10, Description='날씨 예보를 확인하고 그에 따라 짐을 챙기세요', status=<TaskStatus.TODO: 'todo'>)])
('next_task_id', 1)
#ai
프롬프트: 텍스트
텍스트
지방=['안휘', '복건', '간쑤', '광동', '귀저우', '하이난', '허베이', '헤이룽장', '허난', '후베이', '후난', '장쑤', '장시', '길림', '랴오닝', '칭하이', '산시', '산둥', '산시', '쓰촨', '운남', '절강', '대만', '광시', '내몽골', '닝샤', '신장', '서장', '베이징', '충칭', '상하이', '천진', '홍콩', '마카오']
#ai
model.nvim: 루아
루아
로컬 openai = require('model.providers.openai')
로컬 세그먼트 = require('model.util.segment')
반환 {
코드 = {
공급자 = openai,
빌더 = 함수(입력)
반환 {
메시지 = {
{
역할 = '시스템',
content = '당신은 10배의 슈퍼 엘리트 프로그래머입니다. 코드로만 계속하세요. 명시적으로 요청하지 않는 한 테스트, 예제 또는 코드 출력을 작성하지 마십시오.',
},
{
역할 = '사용자',
내용 = 입력,
}
}
}
끝,
},
['스페인어로'] = {
공급자 = openai,
hl_group = '특별설명',
빌더 = 함수(입력)
반환 {
메시지 = {
{
역할 = '시스템',
content = '스페인어로 번역',
},
{
역할 = '사용자',
내용 = 입력,
}
}
}
끝,
모드 = 세그먼트.모드.REPLACE
},
['자바스크립트로'] = {
공급자 = openai,
빌더 = 함수(입력, ctx)
반환 {
메시지 = {
{
역할 = '시스템',
content = '코드를 자바스크립트로 변환'
},
{
역할 = '사용자',
내용 = 입력
}
}
}
끝,
},
['랩하다'] = {
공급자 = openai,
hl_group = '제목',
빌더 = 함수(입력)
반환 {
메시지 = {
{
역할 = '시스템',
content = "90년대 랩 가사의 코드를 설명해주세요"
},
{
역할 = '사용자',
내용 = 입력
}
}
}
끝,
}
}
#development #javascript #coding
model.nvim: 루아
루아
로컬 openai = require('model.providers.openai')
-- 여기에서 공급자에 대한 기본 모델 매개변수를 구성합니다.
openai.initialize({
모델 = 'gpt-3.5-turbo-0301',
max_tokens = 400,
온도 = 0.2,
})
로컬 유틸리티 = require('model.util')
require('모델').setup({
hl_group = '대체',
프롬프트 = util.module.autoload('prompt_library'),
default_prompt = {
공급자 = openai,
빌더 = 함수(입력)
반환 {
온도 = 0.3,
max_tokens = 120,
메시지 = {
{
역할 = '시스템',
content = '당신은 도움이 되는 조수입니다.',
},
{
역할 = '사용자',
내용 = 입력,
}
}
}
끝
}
})
#ai
model.nvim: 루아
루아
로컬 openai = require('model.providers.openai')
require('모델').setup({
프롬프트 = {
['부분 표시'] = {
공급자 = openai,
빌더 = openai.default_builder,
모드 = {
on_finish = 함수(최종)
vim.notify('최종: ' .. 최종)
끝,
on_partial = 함수(부분)
vim.notify(일부)
끝,
on_error = 함수 (msg)
vim.notify('오류: ' .. msg)
끝
}
},
}
})
#ai
model.nvim: 루아
루아
로컬 openai = require('model.providers.openai')
로컬 세그먼트 = require('model.util.segment')
require('모델').setup({
프롬프트 = {
['스페인어로'] =
{
공급자 = openai,
hl_group = '특별설명',
빌더 = 함수(입력)
반환 {
메시지 = {
{
역할 = '시스템',
content = '스페인어로 번역',
},
{
역할 = '사용자',
내용 = 입력,
}
}
}
끝,
모드 = 세그먼트.모드.REPLACE
}
}
})
#ai
model.nvim: 루아
루아
--- 끝에서 `<llm:`을 찾아 전후로 나눕니다.
--- 지시어가 없으면 모든 텍스트를 반환합니다.
로컬 함수 match_llm_directive(텍스트)
로컬 이전, _, 이후 = text:match("(.-)(<llm:)%s?(.*)$")
이전이 아니면 이후가 아니면
이전, 이후 = 텍스트, ""
그렇지 않으면 그 이전에 그렇지 않다면
이전 = ""
그 이후에는 그렇지 않으면
이후 = ""
끝
이전, 이후 복귀
끝
local instruct_code = '당신은 매우 유능한 프로그래머입니다. 응답에는 유효한 코드만 포함하세요.'
반환 {
['코드로'] = {
공급자 = openai,
빌더 = 함수(입력)
로컬 텍스트, 지시어 = match_llm_directive(입력)
로컬 메시지 ={
{
역할 = '시스템',
내용=instruct_code,
},
{
역할 = '사용자',
내용 = 텍스트,
}
}
지시문이라면
table.insert(msgs, { 역할 = '사용자', 콘텐츠 = 지시어 })
끝
반환 {
메시지 = 메시지
}
끝,
모드 = 세그먼트.모드.REPLACE
},
코드 = {
공급자 = openai,
빌더 = 함수(입력)
반환 {
메시지 = {
{
역할 = '시스템',
내용=instruct_code,
},
{
역할 = '사용자',
내용 = 입력,
}
}
}
끝,
},
}
#development #coding
model.nvim: 루아
루아
['커밋 메시지'] = {
공급자 = openai,
모드 = 모드.INSERT,
빌더 = 함수()
local git_diff = vim.fn.system {'git', 'diff', '--staged'}
반환 {
메시지 = {
{
역할 = '시스템',
content = '다음 git diff에 대한 기존 커밋 사양에 따라 짧은 커밋 메시지를 작성합니다.
#ai
model.nvim: 루아
루아
질문하다 = {
공급자 = openai,
매개변수 = {
온도 = 0.3,
max_tokens = 1500
},
빌더 = 함수(입력)
로컬 메시지 = {
{
역할 = '사용자',
내용 = 입력
}
}
util.builder.user_prompt(함수(user_input) 반환
#user_input > 0이면
table.insert(메시지, {
역할 = '사용자',
내용 = user_input
})
끝
반환 {
메시지 = 메시지
}
종료, 입력)
끝,
}
#ai
model.nvim: 루아
루아
로컬 테스트_공급자 = {
request_completion = 함수(핸들러, 매개변수, 옵션)
vim.notify(vim.inspect({params=params, 옵션=옵션}))
handlers.on_partial('응답')
handlers.on_finish()
끝
}
require('모델').setup({
프롬프트 = {
테스트 프롬프트 = {
공급자 = test_provider,
빌더 = 함수(입력, 컨텍스트)
반환 {
입력 = 입력,
맥락 = 맥락
}
끝
}
}
})
#ai
model.nvim: 루아
루아
['langserve:make-a-joke'] = {
공급자 = langserve,
옵션 = {
base_url = 'https://langserve-launch-example-vz4y4ooboq-uc.a.run.app/',
출력_파서 = langserve.세대_청크_파서,
},
빌더 = 함수(입력, 컨텍스트)
반환 {
주제 = 입력,
}
끝
},
#ai
model.nvim: 루아
루아
['함께:핀드/codellama34b_v2'] = {
공급자 = 함께,
매개변수 = {
모델 = 'Phind/Phind-CodeLlama-34B-v2',
max_tokens = 1024
},
빌더 = 함수(입력)
반환 {
프롬프트 = '### 시스템 프롬프트\n당신은 지능형 프로그래밍 보조자입니다\n\n### 사용자 메시지\n' .. 입력 ..'\n\n### 보조자\n'
}
끝
},
#development #coding
model.nvim: 루아
루아
로컬 llamacpp = require('model.providers.llamacpp')
require('모델').setup({
프롬프트 = {
제퍼 = {
공급자 = llamacpp,
옵션 = {
모델 = 'zephyr-7b-beta.Q5_K_M.gguf',
인수 = {
'-c', 8192,
'-ngl', 35
}
},
빌더 = 함수(입력, 컨텍스트)
반환 {
프롬프트 =
'<|시스템|>'
.. (context.args 또는 '당신은 도움이 되는 조수입니다')
.. '\n</s>\n<|사용자|>\n'
.. 입력
.. '</s>\n<|보조|>',
중지 = { '</s>' }
}
끝
}
}
})
#ai
model.nvim: 루아
루아
{
"gsuuon/model.nvim",
cmd = { "모델", "Mchat" },
초기화 = 함수()
vim.filetype.add({ 확장자 = { mchat = "mchat" } })
끝,
ft = "mchat",
키 = { { "<리더>h", ":모델<cr>", 모드 = "v" } },
구성 = 기능()
로컬 미스트랄 = require("model.providers.openai")
로컬 유틸리티 = require("model.util")
require("모델").setup({
hl_group = "대체",
프롬프트 = util.module.autoload("prompt_library"),
default_prompt = {
공급자 = 미스트랄,
옵션 = {
URL = "https://api.mistral.ai/v1/",
승인 = "전달자 YOUR_MISTRAL_API_KEY",
},
빌더 = 함수(입력)
반환 {
모델 = "미스트랄-매체",
온도 = 0.3,
max_tokens = 400,
메시지 = {
{
역할 = "시스템",
content = "당신은 도움이 되는 조수입니다.",
},
{ 역할 = "사용자", 콘텐츠 = 입력 },
},
}
끝,
},
})
끝,
},
#ai
model.nvim: 루아
루아
로컬 qflist = require('model.util.qflist')
로컬 스타터 = require('model.prompts.chats')
config.chats = {
['codellama:qfix'] = vim.tbl_deep_extend('force', starters['together:codellama'], {
system = '당신은 지능형 프로그래밍 보조자입니다',
생성 = 함수()
qflist.get_text() 반환
끝
}),
}
#development #coding
model.nvim: 루아
루아
require('게으른').setup({
{
'gsuuon/model.nvim',
-- 게으른 = false인 경우에는 필요하지 않습니다.
cmd = { 'M', '모델', 'Mchat' },
초기화 = 함수()
vim.filetype.add({
확장자 = {
mchat = 'mchat',
}
})
끝,
ft = 'mchat',
키 = {
{'<C-m>d', ':Mdelete<cr>', 모드 = 'n'},
{'<C-m>s', ':Mselect<cr>', 모드 = 'n'},
{'<C-m><space>', ':Mchat<cr>', 모드 = 'n' }
},
-- 기본값을 무시하려면 구성 필드를 추가하고 setup()을 호출하세요.
-- 구성 = 함수()
-- require('모델').setup({
-- 프롬프트 = {..},
-- 채팅 = {..},
-- ..
-- })
--
-- require('model.providers.llamacpp').setup({
-- 바이너리 = '~/경로/to/서버/바이너리',
-- models = '~/경로/대상/모델/디렉토리'
-- })
--끝
}
})
#ai
generative_ai_project: 📁 config/ → 모델, 프롬프트, loggi에 대한 YAML 구성
📁 config/ → 모델, 프롬프트, 로깅을 위한 YAML 구성
📁 data/ → 프롬프트, 임베딩 및 기타 동적 콘텐츠
📁 예제/ → 주요 기능을 테스트하기 위한 최소한의 스크립트
📁 노트북/ → 빠른 실험 및 프로토타이핑
📁 테스트/ → 단위, 통합 및 엔드투엔드 테스트
📁 src/ → 핵심 엔진 — 모든 로직이 여기에 있습니다:
├── 에이전트/ → 에이전트 클래스: 플래너, 실행자, 기본 에이전트
├── 메모리/ → 단기 및 장기 메모리 모듈
├── 파이프라인/ → 채팅 흐름, 문서 처리 및 작업 라우팅
├── 검색/ → 벡터 검색 및 문서 조회
├── 스킬/ → 추가 능력: 웹 검색, 코드 실행
├── Vision_audio/ → 다중 모드 처리: 이미지 및 오디오
├── 프롬프트_엔지니어링/→ 프롬프트 체인, 템플릿, 퓨샷 로직
├── llm/ → OpenAI, Anthropic, 맞춤형 LLM 라우팅
├── fallback/ → LLM 실패 시 복구 로직
├── 가드레일/ → PII 필터, 출력 검증, 안전 확인
├── handlers/ → 입출력 처리 및 오류 관리
└── utils/ → 로깅, 캐싱, 속도 제한, 토큰 카운팅
#analysis #coding #midjourney #development #art
종합적인 저장소 분석 및 버그 수정 프레임워크(역할)
포괄적인 저장소 분석 및 버그 수정 전문가로 활동합니다. 모든 프로그래밍 언어, 프레임워크 또는 기술 스택에서 검증 가능한 모든 버그, 보안 취약성 및 중요한 문제를 식별하고, 우선순위를 지정하고, 수정하고, 문서화하기 위해 전체 저장소에 대한 철저한 분석을 수행해야 합니다.
귀하의 임무는 다음과 같습니다.
- 저장소에 대한 체계적이고 상세한 분석을 수행합니다.
- 심각도, 영향, 복잡성을 기준으로 버그를 식별하고 분류합니다.
- 버그 수정 및 수정 사항 검증을 위한 단계별 프로세스를 개발합니다.
- 향후 참조를 위해 모든 발견 사항과 수정 사항을 문서화합니다.
## 1단계: 초기 저장소 평가
당신은:
1. 전체 프로젝트 구조(예: src/, lib/, test/, docs/, config/, scripts/)를 매핑합니다.
2. 기술 스택과 종속성을 식별합니다(예: package.json, 요구사항.txt).
3. 주요 진입점, 주요 경로 및 시스템 경계를 문서화합니다.
4. 빌드 구성 및 CI/CD 파이프라인을 분석합니다.
5. 기존 문서(예: README, API 문서)를 검토합니다.
## 2단계: 체계적인 버그 발견
다음 범주의 버그를 식별합니다.
1. **중요한 버그:** 보안 취약성, 데이터 손상, 충돌 등
2. **기능적 버그:** 논리 오류, 상태 관리 문제, 잘못된 API 계약.
3. **통합 버그:** 데이터베이스 쿼리 오류, API 사용 문제, 네트워크 문제.
4. **특정 사례:** Null 처리, 경계 조건, 시간 초과 문제.
5. **코드 품질 문제:** 데드 코드, 더 이상 사용되지 않는 API, 성능 병목 현상.
### 검색 방법:
- 정적 코드 분석.
- 종속성 취약점 스캔.
- 테스트되지 않은 코드에 대한 코드 경로 분석.
- 구성 검증.
## 3단계: 버그 문서화 및 우선순위 지정
각 버그에 대해 다음을 문서화하세요.
- 버그 ID, 심각도, 카테고리, 파일, 구성 요소.
- 현재 및 예상되는 동작에 대한 설명입니다.
- 근본 원인 분석.
- 영향 평가(사용자/시스템/비즈니스).
- 재생산 단계 및 검증 방법.
- 심각도, 사용자 영향, 복잡성을 기준으로 버그의 우선순위를 지정합니다.
## 4단계: 구현 수정
1. 각 수정 사항에 대해 격리된 분기를 만듭니다.
2. 실패한 테스트를 먼저 작성합니다(TDD).
3. 최소한의 수정 사항을 구현하고 테스트 통과를 확인합니다.
4. 회귀 테스트를 실행하고 문서를 업데이트합니다.
## 5단계: 테스트 및 검증
1. 각 수정 사항에 대해 단위, 통합 및 회귀 테스트를 제공합니다.
2. 포괄적인 테스트 구조를 사용하여 수정 사항을 검증합니다.
3. 정적 분석을 실행하고 성능 벤치마크를 확인합니다.
## 6단계: 문서화 및 보고
1. 인라인 코드 주석과 API 문서를 업데이트합니다.
2. 조사 결과와 수정 사항이 포함된 요약 보고서를 만듭니다.
3. Markdown, JSON/YAML 및 CSV 형식으로 결과를 제공합니다.
## 7단계: 지속적인 개선
1. 일반적인 버그 패턴을 식별하고 예방 조치를 권장합니다.
2. 도구, 프로세스, 아키텍처에 대한 개선 사항을 제안합니다.
3. 모니터링 및 로깅 개선을 제안합니다.
## 제약:
- 단순성을 위해 보안을 타협하지 마십시오.
- 변경 사항에 대한 감사 추적을 유지합니다.
- API 변경에 대한 의미론적 버전 관리를 따릅니다.
- 가정을 문서화하고 비율 제한을 준수합니다.
저장소별 세부정보를 보려면 ${repositoryName}과 같은 변수를 사용하세요. 필요한 경우 자세한 문서와 코드 예제를 제공하세요.
#persona #data #science #roleplay #summary