chore: update roadmap milestone and deploy docs
This commit is contained in:
parent
1a84420dac
commit
240f87affd
2 changed files with 13 additions and 2 deletions
|
|
@ -8,7 +8,7 @@
|
|||
## 목표
|
||||
|
||||
Edge에 OpenAI API 방식으로 접속한 외부 agent/client가 Edge-Node 소켓 경로를 의식하지 않고 Node에서 serving 중인 Ollama를 사용할 수 있게 한다.
|
||||
현재 1차 우선순위는 `/v1/models` 조회, `/v1/chat/completions` non-streaming/streaming 호출, 수동 Node/model 선택, 실제 Ollama 사용자 흐름 검증까지 E2E 한 사이클을 자연스럽게 완성하는 것이다.
|
||||
현재 1차 우선순위는 `/v1/models` 조회, `/v1/chat/completions` non-streaming/streaming 호출, Ollama thinking/reasoning stream 보존, 수동 Node/model 선택, 실제 Ollama 사용자 흐름 검증까지 E2E 한 사이클을 자연스럽게 완성하는 것이다.
|
||||
자동 라우팅, 부하 라우팅, cloud fallback, 품질 평가 feedback, Responses API 세부 호환은 이 E2E baseline 이후의 후속 작업으로 분리한다.
|
||||
|
||||
## 상태
|
||||
|
|
@ -25,6 +25,7 @@ Edge에 OpenAI API 방식으로 접속한 외부 agent/client가 Edge-Node 소
|
|||
- OpenAI-compatible `/v1/chat/completions` 호출을 내부 `adapter + target` 실행으로 해석하는 경계
|
||||
- OpenAI-compatible `/v1/models` 조회와 `/v1/chat/completions` non-streaming/streaming 호출을 Edge -> Node -> Ollama 경로로 완성하는 1차 full-cycle
|
||||
- 외부 agent/client가 일반 Ollama 또는 OpenAI-compatible endpoint를 쓰는 것과 유사하게 model을 조회하고, 요청 model을 내부 target으로 사용하고, 지원 가능한 generation option을 명확히 전달하는 경험
|
||||
- Ollama `message.thinking`은 기본적으로 숨기거나 `think:false`로 끄지 않고, OpenWebUI류 UX처럼 thinking 중임을 알 수 있는 별도 reasoning stream으로 보존한다.
|
||||
- Ollama 관련 조회/상태/관리 command를 IOP OpenAI-compatible 표면에서 어디까지 pass-through할지에 대한 1차 기준과 unsupported 응답 정책
|
||||
- 여러 Node와 여러 model은 자동 라우팅이 아니라 `openai.node`, `openai.models`, 요청 `model`, `openai.target` 조합을 수동으로 바꿔 검증한다.
|
||||
- `bin/edge.sh`와 `bin/node.sh`를 실제로 연결해 사용자가 직접 재현 가능한 필드 테스트 환경을 문서화한다.
|
||||
|
|
@ -46,6 +47,9 @@ Edge에 OpenAI API 방식으로 접속한 외부 agent/client가 Edge-Node 소
|
|||
- [ ] [streaming-cycle] non-streaming 응답과 streaming SSE 응답이 일반 OpenAI-compatible client에서 사용할 수 있는 형태로 동작한다.
|
||||
- [ ] [model-target-map] `openai.target` 고정 라우팅과 요청 `model` 기반 라우팅의 우선순위가 명확하며 Ollama model 선택 경험과 충돌하지 않는다.
|
||||
- [ ] [option-pass-through] temperature, top_p, max_tokens, stop, stream 등 1차 지원 option의 매핑과 미지원 option 응답 정책이 정리되어 있다.
|
||||
- [ ] [thinking-passthrough] Ollama `message.thinking` stream이 Edge-Node `RunEvent`에서 content delta와 구분되어 전달된다.
|
||||
- [ ] [openai-reasoning-ux] Edge OpenAI-compatible streaming/non-streaming 응답이 thinking을 `reasoning_content` 계열 확장 필드로 노출하고, 답변 content stream과 섞지 않는다.
|
||||
- [ ] [think-control] `think:false`는 기본값이 아니라 명시 옵션 또는 후속 client별 제어로만 다루며, 기본 UX는 thinking 보존으로 둔다.
|
||||
- [ ] [ollama-command-pass-through] Ollama 관련 모델 조회, 상태, 관리 command를 Edge OpenAI-compatible 표면에서 어디까지 pass-through할지 1차 범위가 정의되어 있다.
|
||||
- [ ] [openai-ollama-aux-smoke] fake Ollama 기반 보조 smoke가 OpenAI-compatible 입력 표면과 edge-node relay의 최소 생존을 확인한다.
|
||||
- [ ] [toki-labs-field-flow] 공통 필드 테스트 환경에서 `toki-labs` Ollama `gemma4:26b` 모델을 사용해 사용자가 직접 재현 가능한 bin edge-node 흐름이 문서화되고 검증된다.
|
||||
|
|
@ -61,7 +65,8 @@ Edge에 OpenAI API 방식으로 접속한 외부 agent/client가 Edge-Node 소
|
|||
|
||||
- [ ] Edge `/v1/models`와 `/v1/chat/completions`를 통해 Node의 Ollama serving을 조회하고 사용할 수 있다.
|
||||
- [ ] 외부 agent/client가 Edge endpoint를 일반 OpenAI-compatible 또는 Ollama-backed endpoint처럼 설정해 한 차례 모델 조회와 chat completion을 완료할 수 있다.
|
||||
- [ ] streaming/non-streaming 응답, model-to-target 매핑, 1차 option pass-through, unsupported option 응답 정책이 검증되어 있다.
|
||||
- [ ] streaming/non-streaming 응답, thinking/reasoning passthrough, model-to-target 매핑, 1차 option pass-through, unsupported option 응답 정책이 검증되어 있다.
|
||||
- [ ] `gemma4:26b`처럼 thinking을 먼저 내보내는 모델에서도 사용자는 thinking 중임을 볼 수 있고, content가 시작되면 답변 stream을 자연스럽게 받을 수 있다.
|
||||
- [ ] `bin/edge.sh`와 `bin/node.sh`를 실제로 연결해 Edge -> Node -> Ollama 흐름을 재현할 수 있다.
|
||||
- [ ] 최종 완료 검증은 fake Ollama smoke가 아니라 사용자가 직접 테스트하는 방식과 같은 `toki-labs` 실제 Ollama 필드 흐름으로 수행된다.
|
||||
- [ ] 공통 필드 테스트 환경의 Node host, Ollama endpoint, model, edge/node 임시 config 기준이 문서화되어 있다.
|
||||
|
|
@ -96,6 +101,9 @@ Edge에 OpenAI API 방식으로 접속한 외부 agent/client가 Edge-Node 소
|
|||
- 표준선(선택): 내부 실행 계약은 `adapter + target`을 유지하고, OpenAI-compatible API는 외부 호환 입력 표면으로 둔다.
|
||||
- 표준선(선택): 1차 구현은 local Ollama를 기준으로 하며 cloud fallback, 품질 평가 feedback, Responses API 세부 호환은 chat completions baseline 이후 확장한다.
|
||||
- 표준선(선택): Edge `/v1/models`는 설정된 model 목록과 Node capability/Ollama 조회 결과 중 사용 가능한 근거를 우선해 반환하고, 요청 `model`은 `openai.target`이 비어 있을 때 내부 target으로 사용한다.
|
||||
- 표준선(선택): Ollama thinking은 `RunEvent.type=reasoning_delta` 같은 별도 event type으로 content delta와 구분하고, OpenAI-compatible SSE에서는 `delta.reasoning_content` 확장 필드로 노출한다.
|
||||
- 표준선(선택): non-streaming 응답은 최종 `message.content`에 답변만 담고, thinking은 `message.reasoning_content` 확장 필드로 분리한다.
|
||||
- 표준선(선택): `think:false`는 테스트 우회 기본값으로 쓰지 않고, 명시 요청 또는 후속 설정 항목으로만 고려한다.
|
||||
- 선행 작업: Edge 입력 표면, CLI Automation Runtime 안정화
|
||||
- 후속 작업: 모델 라우팅/fallback 최적화, 지식/도구 정책/검증 최적화
|
||||
- 확인 필요: cloud fallback 도입 시점, Responses API 세부 호환 범위, 모델 품질 평가와 routing feedback의 초기 신호
|
||||
|
|
|
|||
|
|
@ -123,6 +123,8 @@ OpenAI-compatible Ollama E2E 서빙 검증은 아래 필드 환경을 공통 기
|
|||
이 환경은 특정 마일스톤에만 두지 않고, 이후 모델 서빙, routing, fallback, client 통합 검증에서도 재사용한다.
|
||||
`scripts/e2e-openai-ollama.sh` 같은 fake Ollama smoke는 보조 확인이다.
|
||||
완료 판정은 사용자가 직접 테스트하는 방식과 동일하게 `bin/edge.sh`, `bin/node.sh`, 실제 Ollama endpoint를 연결한 full-cycle 흐름으로 한다.
|
||||
`gemma4:26b`는 thinking을 먼저 stream할 수 있으므로, 기본 검증은 `think:false`로 우회하지 않는다.
|
||||
Edge 응답에서 thinking/reasoning stream과 최종 content stream이 분리되어 보이는지 확인한다.
|
||||
|
||||
| 항목 | 값 |
|
||||
|---|---|
|
||||
|
|
@ -225,6 +227,7 @@ curl -fsS -N http://127.0.0.1:8080/v1/chat/completions \
|
|||
```
|
||||
|
||||
완료 기준은 사용자가 재현하는 실제 절차에서 node registration, `/v1/models` 응답, non-streaming chat completion, streaming SSE chunk와 `data: [DONE]` 확인이다.
|
||||
`gemma4:26b`가 thinking을 내보내는 경우 thinking/reasoning chunk가 content와 섞이지 않고, content가 시작된 뒤 답변 stream이 이어지는지도 확인한다.
|
||||
Edge/Node 뒤의 소켓 relay가 사용자 UX에 드러나지 않아야 하며, 실패 시 edge와 node 양쪽 로그를 함께 확인한다.
|
||||
|
||||
## Agent Bootstrap / Bridge References
|
||||
|
|
|
|||
Loading…
Reference in a new issue