Skip to content

Commit 352f22a

Browse files
authored
Merge pull request #157 from yello-xyz/v0.28
V0.28
2 parents 8cfaf08 + 2981263 commit 352f22a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1487
-1971
lines changed

CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
## PlayFetch Changelog
22

3+
### v0.28 - 2024-04-24
4+
- Add support for self-hosting
5+
36
### v0.27 - 2024-03-15
47
- Workspace wide API keys, cost tracking and usage limits
58
- Workspace roles (owner vs member)

LICENSE

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2023-present Yello XYZ Ltd (Michael Slater, Stef Smet, Hannes Verlinde)
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+155-98
Large diffs are not rendered by default.

TODO.md

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
## PlayFetch TODO
2+
3+
### Functional
4+
- Code blocks used in chains should probably be separate entities like prompts with their own versioning. Should be relatively straightforward but quite a lot of work.
5+
- Log and expose provider duration (time spent waiting for LLM) separately from total duration even though the overhead we are adding should be negligible in practice.
6+
- Generalise deployment so it includes both endpoints and source control as separate options.
7+
- Add option to expose endpoint logs to project owners only (or add a dedicated team role for it).
8+
- Warn when response is getting close in length to the maximum number of tokens.
9+
10+
### Scalability
11+
- With very long prompts and/or responses, we are starting to hit the limits of what is practical to store directly in (and load from) the datastore. This could be optimised by storing longer text content as files in storage instead, keeping a reference in the datastore, and loading the full content lazily on demand.
12+
- At some point we probably want to add a Memcache layer or similar rather than accessing the datastore directly.
13+
- We should add paging for prompts within a project, versions within a prompt, responses within a version, etc. rather than limit it to 100 (which has worked well so far except for endpoint logs where we added paging).
14+
15+
### User experience
16+
- Make column order fixed so editing tables becomes more predictable (these evolved from a more basic mapping of variables to lists of values where order didn't matter).
17+
- Reload prompt editor somehow on adding test data columns so auto-complete for these variables does not require manual reload.
18+
- Add some basic filters in the endpoints view e.g. environment.
19+
- Add typing indicator while waiting for auto-generated responses.
20+
- Add small logo to comments synced from Linear.
21+
22+
### Technical
23+
- Avoid processing tasks in Linear webhook for versions that are marked for deletion but still pending actual cleanup.
24+
- Metadata should probably not be wrapped in environment for GitHub/Linear provider entities.
25+
- Navigating back triggers an undefined id error resulting in a blank page if a push happened on the backend after loading the current page.
26+
- Expose Google models as part of the generic LLM provider framework (with an API key) rather than treating them separately (through cloud infra).
27+
- Retry adding support for functions with Gemini Pro as it didn't seem to work initially.
28+
- Rely on response metadata for more accurate token count where available.
29+
30+
### New Features
31+
- Add templates for common use cases and shareable prompt links.
32+
- Explore integrating OpenAI Assistants API.
33+
- Auto-generate UI for endpoints to allow quick prototyping and sharing with broader team without needing integration (as an alternative deployment option).
34+
- Expand automated testing and evaluation features (scoring, detecting regressions, running experiments).
35+
- Expand AI features, help people write good prompts (beyond giving them the tools to do it).
36+
- Expore multi-modal functionality beyond LLMs.

cloudbuild.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ steps:
3131
- 'LINEAR_APP_WEBHOOK_SECRET=${_LINEAR_APP_WEBHOOK_SECRET}'
3232
- 'NEXTAUTH_SECRET=${_NEXTAUTH_SECRET}'
3333
- 'NEXTAUTH_URL=${_NEXTAUTH_URL}'
34+
- 'NOREPLY_EMAIL_HOST=${_NOREPLY_EMAIL_HOST}'
35+
- 'NOREPLY_EMAIL_PORT=${_NOREPLY_EMAIL_PORT}'
3436
- 'NOREPLY_EMAIL_PASSWORD=${_NOREPLY_EMAIL_PASSWORD}'
3537
- 'NOREPLY_EMAIL_USER=${_NOREPLY_EMAIL_USER}'
3638
- 'NOTION_TOKEN=${_NOTION_TOKEN}'
@@ -50,9 +52,17 @@ steps:
5052
- 'NEXT_PUBLIC_COOKIE_DOMAIN=${_NEXT_PUBLIC_COOKIE_DOMAIN}'
5153
- 'NEXT_PUBLIC_COOKIE_NAME=${_NEXT_PUBLIC_COOKIE_NAME}'
5254
- 'NEXT_PUBLIC_DOCS_URL=${_NEXT_PUBLIC_DOCS_URL}'
55+
- 'NEXT_PUBLIC_SUPPORT_EMAIL=${_NEXT_PUBLIC_SUPPORT_EMAIL}'
56+
- 'NEXT_PUBLIC_PRIVACY_PAGE_URL=${_NEXT_PUBLIC_PRIVACY_PAGE_URL}'
5357
- name: node:18
5458
entrypoint: npm
5559
args: ['run', 'build']
60+
- name: 'gcr.io/cloud-builders/gcloud'
61+
args: ['datastore', 'indexes', 'create', 'index.yaml']
5662
- name: 'gcr.io/cloud-builders/gcloud'
5763
args: ['app', 'deploy']
64+
- name: 'gcr.io/cloud-builders/gcloud'
65+
args: ['app', 'deploy', 'cron.yaml']
66+
options:
67+
logging: CLOUD_LOGGING_ONLY
5868
timeout: '1600s'

docs.zip

11.8 MB
Binary file not shown.

0 commit comments

Comments
 (0)