joshpoll / citoplasm Goto Github PK
View Code? Open in Web Editor NEWCITOplasm
Home Page: https://pypi.org/project/citoplasm/
License: MIT License
CITOplasm
Home Page: https://pypi.org/project/citoplasm/
License: MIT License
We should explore ways to make CITOplasms robust to adversarial attacks.
There's a lot of room to explore better CITO prompts following prompt engineering best practices. One challenge of doing this in CITOplasm is the need to balance high quality prompts with generalizability across different functions that use CITO. So far, it seems like it might be possible to get away with a universal CITO prompt, but we'll see!
Prompt Engineering resources:
In addition to best practices, it's worth exploring different potential output formats. e.g. JSON, YAML, XML.
We should have documentation and possibly code that lets us interface with LangChain agents, chains, and tools.
LMQL is a prompt engineering language that could be a good target for optimizing CITOplasms. Inspired by PyTorch et al., one possible idea is to record a trace of a CITOplasm execution and try to fuse neighboring CITOplasm calls into a single prompt to trade off time and accuracy. It might also be possible to fine tune prompts to particular scenarios.
In this way, we can keep the user-facing API nice and declarative without sacrificing perf.
This will make it easier to produce more robust output by encapsulating the k-shot pattern.
This should probably be a list of records.
Each record should contain
Several of our functions already use an ad-hoc examples pattern so it would be fairly straightforward to push it into the cito API.
Agents can be modeled in several different ways. It's worth exploring these ways for the API.
e.g.
Questions: Should agents be able to have their own contexts? Should agents be stateful?
The functions we have currently are way undertested. It would be very useful to have more tests!
Context requires thinking about state management more precisely. One option we've considered is using with
blocks. e.g.
with LocalContext as context:
...
The advantage of making a Context primitive is that it lets us abstract over how to structure the context section.
Guardrails is a Python library that can help make our parsing more robust.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.