Studio: AI models settings, @embed and @decide in the schema editor, and the /v1 API
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- backend-api-design, full-stack
Hướng nghiên cứu
Start with the schema editor entry point in src/features/instance/applications/components/SchemaEditorView/FieldRow.tsx and the settings save flow in src/hooks/useRollingConfigUpdate.tsx; read the linked Harper source files to understand the supported settings and directives. Map the work across model settings, schema editing, and the /v1 controls, noting the Harper version gates and Fabric managed entries. Done means the acceptance criteria pass, including hidden keys, saved settings, and usable API and schema controls; adding customer models depends on HM#279.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
Harper can call AI models: embeddings (turning text into vectors), generative models (writing text) and, from 5.3, decisions (picking a value). Apps use them through models.embed(), models.generate() and models.decide(), through the @embed and @decide schema directives, and through an OpenAI-style /v1 API. On Fabric, Fabric sets up some models behind the scenes. Studio shows none of this. A customer can't see which models their instance has, can't add their own, can't add @embed or @decide in the schema editor, and can't turn on the /v1 API without the raw settings editor.
What core already provides (harper)
- The
modelssettings block (5.1+). Each entry has a name (apps usedefaultunless they pick another) and abackend:embeddingandgenerativeentries useollama,openai,anthropicorbedrockdecisionentries (5.3+) use thegenerativebackend, which decides with a generative entryapiKeycan be a${ENV_VAR}placeholder instead of the key itself- any entry can name a
fallback - from 5.3, Harper reloads
modelsfrom the settings file without a restart
@embed(source, model)(5.1+) on a vector field fills it from another field whenever a record is written, and indexes it for vector search.@decide(source, ...)(5.3+) on aString,BooleanorIntfield fills it from another field using a decision model. AStringfield needsvalues, and anIntfield needsminimumandmaximum. Optional arguments:model,confidence,decisionandinstructions. If the model can't decide, the write fails.- The
/v1API (5.2+):/v1/embeddings,/v1/chat/completionsand/v1/models.- Off by default. It's turned on with
modelsGateway.enabled. - It's served only while REST is running, which an app's own
rest: trueor a rootrestsection turns on. - All three need an admin user.
- Off by default. It's turned on with
- Source (v5.3.4): configValidator.ts, graphql.ts, v1/index.ts, bootstrap.ts.
On Fabric today
- Fabric writes model entries on new instances:
- On a GPU host: the host's embedding models (by default
embedding.default, plusembedding.multimodalwhen the host runs one), andgenerative.defaultwhen the host is set up for it. - On other instances:
embedding.default, routed to the nearest GPU host. That route doesn't work across hosts yet (HM#178).
- On a GPU host: the host's embedding models (by default
- Fabric replaces the whole
modelsblock, so a customer's own entries are wiped. That's fixed by HM#279, and adding models in Studio waits on it.
What to build
- An "AI models" section in instance settings, shown only on Harper 5.1+ and only to admin users.
- Show the instance's models: for each kind, list each entry's name, backend and model, and mark the ones Fabric manages. Never show an
apiKeyor token. - Add, edit and remove the customer's own models (Harper 5.3+, once HM#279 lands):
- pick a kind, a name and a backend, then the backend's fields
- accept a key or a
${ENV_VAR}placeholder inapiKey, and never show a saved key back - save to Harper's settings. No restart is needed, since Harper reloads
modelsfrom 5.3 - don't offer to edit or remove entries Fabric manages
- Schema editor: Studio's schema editor offers neither directive today (FieldRow.tsx). Offer only model names the instance has.
@embedon vector fields: source field and model.@decideonString,BooleanandIntfields, on Harper 5.3+: source field, model, and values or a range.
-
/v1API (Harper 5.2+):- Turn it on or off, and show its address on the instance's HTTPS address.
- Save with Studio's existing settings save and restart (useRollingConfigUpdate.tsx).
- If no app or root setting turns on REST, say that
/v1won't answer until one does.
- Show Harper's own error when it refuses a setting or a schema.
- Explain, next to the controls:
- which models Fabric provides on this instance, and that Fabric manages them
@decidefails the write when the model can't decide- the
/v1API needs an admin user
Acceptance criteria
- A customer can see which models their instance has, without seeing any key.
- Once HM#279 lands, a customer can add their own model on Harper 5.3+, and it's still there after Fabric's next pass.
- A customer can add
@embedand@decidefields in the schema editor, and records written afterwards get the derived values. - A customer can turn the
/v1API on and reach it at the address Studio shows.
Dependencies
- Adding the customer's own models waits on HM#279.
- Studio already reads and saves settings through Fabric's command channel, and that requires "update" permission on the cluster in Fabric.
- Ngôn ngữ chính
- TypeScript
- Star
- 5
- Fork
- 4
- Merge trung bình
- 1 ngày 19 giờ
- Pull request đã merge (30 ngày)
- 144
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của HarperFast/studio
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
HarperFast/studio#2070 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
HarperFast/studio#2067 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
HarperFast/studio#2053 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
HarperFast/studio#2026 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 77/100
HarperFast/studio#2021 ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của HarperFast/studio
Issue tương tự
-
Add: Tom Sings TV HDĐang mởapproved check:passed streams:add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
duolicious/duolicious#1943 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
nightly-labs/openbot#6451 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Testing Configuration UpdateĐang mởlevel1 nsoc26
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
GauravKarakoti/SecureFlow#1719 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
complexity: easy good first issue impact: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
ueberdosis/hocuspocus#1211 ·
Maintainer thường phản hồi trong vòng 1 ngày