ChainForge/setup.py

48 lines
1.4 KiB
Python
Raw Normal View History

from setuptools import setup, find_packages
2023-05-23 15:11:05 -04:00
def readme():
with open('README.md', encoding='utf-8') as f:
2023-05-23 15:11:05 -04:00
return f.read()
setup(
name='chainforge',
AI for ChainForge BETA: TextFields, Items (#191) * Implement autofill backend * Add autofill to ui * Add argument to getUID to force recalculation of UID's on every call * Add command fill * Move popover to the right * Merge autofill-ui into autofill * Add minimum rows requirement for autofilling * Rename local variable in autofill system * Rename autofill.ts to ai.ts * Implement generate and replace backend function * Add purple AI button * Add ai popover * Add tabs to ai popover * Cosmetic changes to AI popover * Move command fill UI to purple button popover * Add 'creative' toggle to generateAndReplace * Generate and replace UI * Call backend for generate and replace * Change creative to unconventional in generate and replace system * Fix generate and replace * Add loading states * Cosmetic changes * Use sparkle icon * Cosmetic changes * Add a clarifying sentence to the prompt when the user asks for a prompt * Change to markdown * Add error handling to AI system * Improve prompt prompt * Remove 'suggestions loading' message * Change 'pattern' to 'generate a list of' and fix a bug where i forgot to specify unordered markdown list * Limit output to n in decode() * Fix bug in error handling * TEMP: try to fix autofill * TEMP: disable autofill * Finally fix autofill's debouncing * Improve autofill prompt to handle commands * Fix typo with semicolon * Implement autofill backend * Add autofill to ui * Add argument to getUID to force recalculation of UID's on every call * Add command fill * Move popover to the right * Merge autofill-ui into autofill * Add minimum rows requirement for autofilling * Rename local variable in autofill system * Rename autofill.ts to ai.ts * Implement generate and replace backend function * Add purple AI button * Add ai popover * Add tabs to ai popover * Cosmetic changes to AI popover * Move command fill UI to purple button popover * Add 'creative' toggle to generateAndReplace * Generate and replace UI * Call backend for generate and replace * Change creative to unconventional in generate and replace system * Fix generate and replace * Add loading states * Cosmetic changes * Use sparkle icon * Cosmetic changes * Add a clarifying sentence to the prompt when the user asks for a prompt * Change to markdown * Add error handling to AI system * Improve prompt prompt * Remove 'suggestions loading' message * Change 'pattern' to 'generate a list of' and fix a bug where i forgot to specify unordered markdown list * Limit output to n in decode() * Fix bug in error handling * TEMP: try to fix autofill * TEMP: disable autofill * Finally fix autofill's debouncing * Improve autofill prompt to handle commands * Fix typo with semicolon * Refactor the AI Popover into a new component * Refactor the AI Popover into a new component * Refactor the autofill functionality into two backend files * Minor refactoring and styling fixes * Parse markdown using markdown library * Add no_cache flag support in backend to ignore cache for AI popover * trim quotation marks and escape braces in AI autofill * Add AI Support Tab in Global Settings pane. * Convert Jinja braces * Fix typo in AiPopover import * Handle template variables with Extend and Autocomplete + Check template variable correctness in outputs * Escape the braces of generate and replace prompts * Update prompts to strengthen AI support for multiple template variables * Log the system message * Reduce minimum rows required to 1 for autocomplete to begin generating * Reduce min rows to extend to 1 and add warning below 2 * Create a defaultdict utility * Consider null values as nonexistant in defaultdict * Make placeholders stick to their assigned text field without using defaultdict * Make placeholder logic more readable * Cache rendering of text fields to avoid expensive computation * Calculate whether to refresh suggestions based on expected suggestions instead of previous suggestions * Fix bug where LLM was returning templates in generate and replace where none was requested * Force re-render of text fields on Extend * Add Sean Yang to README * Add GenAI support to Items Node * Pass front-end API keys to AI support features * Escape braces on Items Node outputs * Update package to 0.2.8 * Disable autosaving if it takes 1 second or longer to save to localStorage * Skip autosave when browser tab is inactive * Fetch environment API keys only once upon load * Check for OpenAI API key in AIPopover. If not present, display Alert. --------- Co-authored-by: Sean Yang <53060248+shawseanyang@users.noreply.github.com>
2023-12-13 11:58:07 -05:00
version='0.2.8.0',
packages=find_packages(),
author="Ian Arawjo",
description="A Visual Programming Environment for Prompt Engineering",
2023-05-23 15:11:05 -04:00
long_description=readme(),
long_description_content_type='text/markdown',
keywords='prompt engineering LLM response evaluation',
license="MIT",
url="https://github.com/ianarawjo/ChainForge/",
install_requires=[
# Package dependencies
2023-05-23 14:29:44 -04:00
"flask>=2.2.3",
"flask[async]",
"flask_cors",
"requests",
"urllib3==1.26.6",
"openai",
"anthropic",
"google-generativeai",
"dalaipy>=2.0.2",
"mistune>=2.0", # for LLM response markdown parsing
],
entry_points={
'console_scripts': [
'chainforge = chainforge.app:main',
],
},
classifiers=[
# Package classifiers
'Development Status :: 3 - Alpha',
'Intended Audience :: Developers',
'License :: OSI Approved :: MIT License',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
2023-05-22 13:19:46 -04:00
'Programming Language :: Python :: 3.10',
],
2023-05-22 13:19:46 -04:00
python_requires=">=3.8",
include_package_data=True,
)