Commit Graph

483 Commits (main)

Author SHA1 Message Date
Akash Samant 48b093823e
Add a Transformation Chain (#257)
Arbitrary transformation chains that can be used to add dictionary
extractions from llms/other chains
2 years ago
coyotespike b7bef36ee1
BashChain (#260)
Love the project, a ton of fun!

I think the PR is pretty self-explanatory, happy to make any changes! I
am working on using it in an `LLMBashChain` and may update as that
progresses.

Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
2 years ago
Harrison Chase 28be37f470
LLMRequestsChain (#267) 2 years ago
John McDonnell 68666d6a22
Gracefully degrade when model asks for nonexistent tool (#268)
Not yet tested, but very simple change, assumption is that we're cool
with just producing a generic output when tool is not found
2 years ago
Harrison Chase 2163d064f3
add return of ids (#254)
not actually sure the desired return in add_example to example selector
is actually general/good - whats the use case?
2 years ago
Harrison Chase 8cba5b791a
hotfix for api logging (#262) 2 years ago
Harrison Chase 5cd6956d58
Harrison/version 0028 (#259) 2 years ago
Harrison Chase f5c665a544
combine python files (#256) 2 years ago
Harrison Chase 988cb51a7c
fix out of date docs (#255) 2 years ago
Harrison Chase 9481a23314
stop using chained input except in agent (#249) 2 years ago
Harrison Chase ac2c2f6f28
Harrison/delete bad code (#253) 2 years ago
Harrison Chase db58032973
introduce output parser (#250) 2 years ago
Harrison Chase a9ce04201f
Harrison/improve usability of api chain (#247)
improve usability of api chain
2 years ago
Harrison Chase c897bd6cbd
api chain (#246)
Co-authored-by: Subhash Ramesh <33400216+thecooltechguy@users.noreply.github.com>
2 years ago
Harrison Chase 8145c79fd8
bump version to 0.0.27 (#244) 2 years ago
Harrison Chase 78a29f1060
text world agent (#240) 2 years ago
Xupeng (Tony) Tong bb4bf9d6d0
chore: minor clean up / formatting (#233)
to get familiarize with the project
2 years ago
Harrison Chase 473943643e
bump version 0026 (#235) 2 years ago
Harrison Chase 3ca2c8d6c5
allow passing of stop params into openai (#232) 2 years ago
Harrison Chase 347fc49d4d
Harrison/combine documents chain (#212)
combine documents chain powering vector db qa with sources chain
2 years ago
Harrison Chase ab9abf53b7
Harrison/version 0025 (#227) 2 years ago
Harrison Chase ca2394028f
move search to not be a chain (#226) 2 years ago
Harrison Chase b19a73be26
pal chain touch ups (#225)
expose PAL in main entrypoint
2 years ago
Andrew Gleave ea67c049f0
Support SQL statements that return no results (#222)
Adds support for statements such as insert, update etc which do not
return any rows.

`engine.execute` is deprecated and so execution has been updated to use
`connection.exec_driver_sql` as-per:


https://docs.sqlalchemy.org/en/14/core/connections.html#sqlalchemy.engine.Engine.execute
2 years ago
Akash Samant d368c43648
Bug Fix (#221)
Quick bug fix for semantic similarity vector injection
2 years ago
Harrison Chase 1db7b18341
bump version to 0.0.24 (#220) 2 years ago
Harrison Chase 1b9b8efbc9
pal chain (#207)
from https://arxiv.org/pdf/2211.10435.pdf
2 years ago
Shyamal H Anadkat de4b255c1f
Switch default openai model to text-davinci-003 (#215) 2 years ago
Harrison Chase 0568998166
Harrison/fix react stateful (#219)
fix issue with react being stateful
2 years ago
Harrison Chase 03c7140228
fix self ask template (#216) 2 years ago
Harrison Chase cf3569fb1b
remove check (#217)
doesnt do much
2 years ago
Hansen Qian a39c998342
Add chain name to verbose logging (#214)
Adds some context over what chain is running, thereby making it more
obvious how different chains are entered and existed

<img width="867" alt="Screen Shot 2022-11-28 at 11 55 34 AM"
src="https://user-images.githubusercontent.com/2548973/204336849-25d87b44-6f5d-487b-b583-5455f306a470.png">

(note that the `...` is because the output is too long and VSCode
truncated it)
2 years ago
Harrison Chase 261029cef3
bump version to 0.0.23 (#211) 2 years ago
Harrison Chase b94244eb12
nits (#210)
use json.dump

move test to integration tests (since it requires huggingface_hub)
2 years ago
Akash Samant ae72cf84b8
Save Prompts (#194) 2 years ago
Bagatur b90e25f786
Add HuggingFace Hub Embeddings (#125)
Add support for calling HuggingFace embedding models
using the HuggingFaceHub Inference API. New class mirrors
the existing HuggingFaceHub LLM implementation. Currently
only supports 'sentence-transformers' models.

Closes #86
2 years ago
Harrison Chase 287f1857ee
fix self ask w search (#206) 2 years ago
Harrison Chase 3eddbd11e4
bump version to 22 (#202) 2 years ago
Harrison Chase 05c5d0b8ee
add custom prompt notebooks (#198) 2 years ago
Harrison Chase fcb9b2ffe5
Harrison/agent memory (#197)
add doc for agent with memory
2 years ago
Harrison Chase 6eab5254e5
add docs for custom agents (#196) 2 years ago
Harrison Chase 08deed9002
Harrison/memory docs (#195)
update memory docs and change variables
2 years ago
Harrison Chase 199794086d
bump verion to 0.0.21 (#190) 2 years ago
Harrison Chase b913df3774
make attrs public (#187)
since they are used outside of the class, should be public
2 years ago
Harrison Chase ae9c6257fe
Harrison/arbitrary params (#186) 2 years ago
Samantha Whitmore a408ed3ea3
Samantha/add conversation chain (#166)
Add MemoryChain and ConversationChain as chains that take a docstore in
addition to the prompt, and use the docstore to stuff context into the
prompt. This can be used to have an ongoing conversation with a chatbot.

Probably needs a bit of refactoring for code quality

Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
2 years ago
Harrison Chase 736b6ee65c
fix search return type (#177) 2 years ago
Samantha Whitmore 09f301cd38
Add add_example method to all ExampleSelector classes, with tests (#178)
Also updated docs, and noticed an issue with the add_texts method on
VectorStores that I had missed before -- the metadatas arg should be
required to match the classmethod which initializes the VectorStores
(the add_example methods break otherwise in the ExampleSelectors)
2 years ago
Harrison Chase 1b81f3b125
bump version 0.0.20 (#174) 2 years ago
Harrison Chase 5d887970f6
change to agent (#173) 2 years ago
Harrison Chase d70b5a2cbe
Harrison/version 0019 (#172) 2 years ago
Harrison Chase d3a7429f61
(WIP) agents (#171) 2 years ago
Harrison Chase 22bd12a097
make prompt a variable in vector db qa (#170) 2 years ago
Harrison Chase 4a4dfbfbed
Harrison/sequential chains (#168)
add support for basic sequential chains
2 years ago
Harrison Chase 15c19fcc60
bump version to 0.0.18 (#167) 2 years ago
Samantha Whitmore 315b0c09c6
wip: add method for both docstore and embeddings (#119)
this will break atm but wanted to get thoughts on implementation.

1. should add() be on docstore interface?
2. should InMemoryDocstore change to take a list of documents as init?
(makes this slightly easier to implement in FAISS -- if we think it is
less clean then could expose a method to get the number of documents
currently in the dict, and perform the logic of creating the necessary
dictionary in the FAISS.add_texts method.

Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
2 years ago
Harrison Chase 243211a5ae
bump version to 0017 (#161) 2 years ago
Harrison Chase a19ad935b3
Harrison/verbose prompt (#159)
Add printing of prompt to LLMChain
2 years ago
Harrison Chase c02eb199b6
add few shot example (#148) 2 years ago
Harrison Chase 8869b0ab0e
bump version to 0.0.16 (#157) 2 years ago
Harrison Chase b15c84e19d
Harrison/chain lab (#156) 2 years ago
Harrison Chase 0ac08bbca6
bump version to 0.0.15 (#154) 2 years ago
Nicholas Larus-Stone 0c3ae78ec1
chore: update ascii colors to work with dark mode (#152) 2 years ago
Nicholas Larus-Stone ca4b10bb74
feat: add option to ignore or restrict to SQL tables (#151)
`SQLDatabase` now accepts two `init` arguments:
1. `ignore_tables` to pass in a list of tables to not search over
2. `include_tables` to restrict to a list of tables to consider
2 years ago
Harrison Chase d2f9288be6
add metadata to documents (#153)
add concept of metadata to document
2 years ago
Harrison Chase d775ddd749
add apply functionality (#150) 2 years ago
Harrison Chase 4f1bf159f4
bump version to 0.0.14 (#145) 2 years ago
Harrison Chase b504cd739f
Harrison/cleanup env check (#144) 2 years ago
Harrison Chase a4b502d92f
fix env var loader (#143) 2 years ago
Harrison Chase 1835e8a681
prompt nit (#141)
doing some cleanup, and i think this just simplifies things...
2 years ago
Harrison Chase bbb405a492
update colors (#140) 2 years ago
Harrison Chase 9f223e6ccc
Harrison/fix lint (#138) 2 years ago
Delip Rao 76cecf8165
A fix for Jupyter environment variable issue (#135)
- fixes the Jupyter environment variable issues mentioned in issue #134 
- fixes format/lint issues in some unrelated files (from make
format/lint)


![image](https://user-images.githubusercontent.com/347398/201599322-090af858-362d-4d69-bf59-208aea65419a.png)
2 years ago
Harrison Chase ced29b816b
remove extra run from merge conflict (#133) 2 years ago
Harrison Chase 11d37d556e
bump version 0.0.13 (#132) 2 years ago
Harrison Chase f23b3ceb49
consolidate run functions (#126)
consolidating logic for when a chain is able to run with single input
text, single output text

open to feedback on naming, logic, usefulness
2 years ago
Eugene Yurtsev 2910f50a3c
Fix a few typos and wrapped f-strings (#128)
Fix a few typos and wrapped f-strings
2 years ago
Edmar Ferreira 8a5ec894e7
Prompt from file proof of concept using plain text (#127)
This is a simple proof of concept of using external files as templates. 
I'm still feeling my way around the codebase.
As a user, I want to use files as prompts, so it will be easier to
manage and test prompts.
The future direction is to use a template engine, most likely Mako.
2 years ago
Harrison Chase d87e73ddb1
huggingface tokenizer (#75) 2 years ago
Eugene Yurtsev f5a588a165
Add py.typed marker to package (#121)
- Update
- update
2 years ago
Harrison Chase 47af2bcee4
vector db qa (#71) 2 years ago
Harrison Chase 7467243a42
bump version 0.0.12 (#116) 2 years ago
Harrison Chase e43534d41c
add integration with manifest (#62) 2 years ago
Harrison Chase 9f878e43d8
Harrison/lintai21 (#114) 2 years ago
tomeras91 d8734ce5ad
Add AI21 LLMs (#99)
Integrate AI21 /complete API into langchain, to allow access to Jurassic
models.
2 years ago
Harrison Chase 2179ea3103
remove unnecc variables (#113)
i dont think either of these variables are used?
2 years ago
Harrison Chase da445e474d
version 0.0.11 (#112) 2 years ago
Samantha Whitmore a0780cc930
OptimizedPrompt -- k-shot example choice backed by semantic search (#91) 2 years ago
Delip Rao 3ee6e332dd
Implements NLTK and Spacy-based TextSplitters (#103)
This PR is for Issue #88 

- [x] `make format`
- [x] `make lint`
- [x] `make tests`
2 years ago
issam9 28282ad099
Issam9/cohere embeddings (#105)
Add support for cohere embeddings
2 years ago
Samantha Whitmore 386a14a19f
Change NLPCloud default model (#100) 2 years ago
Harrison Chase 5b7aed34a3
bump version to 0.0.10 (#98) 2 years ago
Harrison Chase db37bd089f
model laboratory (#95) 2 years ago
Samantha Whitmore 2ddab88c06
Update VectorStore interface to contain from_texts, enforce common in… (#97)
…terface
2 years ago
Samantha Whitmore 61f12229df
Create VectorStore interface (#92) 2 years ago
Harrison Chase b9f61390e9
add text2text generation (#93)
fixes issue #90
2 years ago
Samantha Whitmore e48e562ea5
ElasticVectorSearch: Add in vector search backed by Elastic (#67)
![image](https://user-images.githubusercontent.com/6690839/200147455-33a68e20-c3c0-4045-9bff-598b38ae8fb2.png)

woo!

Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>
2 years ago
Samantha Whitmore efbc03bda8
NLPCloud client integration (#81)
lots of kwargs! generation docs here:
https://docs.nlpcloud.com/#generation

This somewhat breaks the paradigm introduced in LLM base class as the
stop sequence isn't a list, and should rightfully be introduced at the
time of initialization of the class, along with the other kwargs that
depend on its presence (e.g. remove_end_sequence, etc.) curious if you'd
want to refactor LLM base class to take out stop as a specific named
kwarg?
2 years ago
Harrison Chase 6d8a657676
bump to version 0.0.9 (#82) 2 years ago
Harrison Chase 6cff2837bb
Harrison/fix lint (#80) 2 years ago
Cameron Whitehead 54e325be2f
Improve credential handing to allow passing in constructors (#79)
Addresses the issue in #76 by either using the relevant environment
variable if set or using a string passed in the constructor.

Prefers the constructor string over the environment variable, which
seemed like the natural choice to me.
2 years ago
Harrison Chase 95d0e5f368
fix lint (#77) 2 years ago
issam9 990cd821cc
Issam/hf embeddings (#68)
Add support of HuggingFace embedding models
2 years ago
Harrison Chase 84e164e44b
update version to 0.0.8 (#74) 2 years ago
Harrison Chase eb36317f9a
Harrison/fix imports (#72)
fix imports and add section to notebook
2 years ago
Samantha Whitmore a5b61d59e1
Refactor prompts into module, add example generation utils (#64) 2 years ago
Harrison Chase dce26dfcec
handle search errors (#70)
better error handling when serpapi raises an error (usually invalid key)
2 years ago
Harrison Chase f772934108
improve logging (#66) 2 years ago
Harrison Chase 2456a547de
mrkl (#42) 2 years ago
Samantha Whitmore c636488fe5
DynamicPrompt class creation (#49)
Checking that this structure looks generally ok -- going to sub in logic
where the TODO comment is then add a test.
2 years ago
Samantha Whitmore 4bbaa9b2d0
Add BasePrompt as abstract base class (#60) 2 years ago
Harrison Chase 8764ac2b55
bump to 007 (#59) 2 years ago
Harrison Chase 4cc18d6c2a
Harrison/pretty print (#57)
make stuff look nice
2 years ago
Harrison Chase dfb81c969f
bump version 0.0.6 (#56) 2 years ago
Harrison Chase 76aff023d7
FAISS and embedding support (#48)
also adds embeddings and an in memory docstore
2 years ago
Harrison Chase d3c1872902
Improve docs (#51) 2 years ago
Harrison Chase e982cf4b2e
Harrison/update docstore (#47)
change docstore interface
2 years ago
Harrison Chase b45b126d9b
bump version (#46) 2 years ago
Harrison Chase 160af4ba6b
Harrison/map reduce (#36) 2 years ago
Harrison Chase fba30e07d1
factor out mock python repl (#43) 2 years ago
Harrison Chase 7b0d02ac51
prompt templating (#41)
Co-authored-by: Samantha Whitmore <whitmore.samantha@gmail.com>
2 years ago
Harrison Chase 52383a485d
bump version to 0.0.4 (#37) 2 years ago
Harrison Chase af81e9ca9c
add sql database (#35) 2 years ago
Harrison Chase 90a6e578bc
fix type hint (#34) 2 years ago
Michael 6a3dca888b
Fix cohere integration (#33)
Currently the cohere module uses a non-supported model. Updating this to
use the default model if one is not specified.
2 years ago
Harrison Chase c7f9c62532
bump version to 0.0.3 (#29) 2 years ago
Harrison Chase ce7b14b843
Harrison/add react chain (#24)
from https://arxiv.org/abs/2210.03629

still need to think if docstore abstraction makes sense
2 years ago
Harrison Chase 61a51b7a76
bump version to 0.0.2 (#28) 2 years ago
Harrison Chase 020c42dcae
Harrison/add huggingface hub (#23)
Add support for huggingface hub

I could not find a good way to enforce stop tokens over the huggingface
hub api - that needs to hopefully be cleaned up in the future
2 years ago
Harrison Chase 316aae8223
rename validator (#25)
more appropriate name
2 years ago
Harrison Chase 5621ca7b07
Harrison/more documentation (#19) 2 years ago
Harrison Chase 1ef3ab4d0e
Harrison/add natbot (#18) 2 years ago
Harrison Chase 18aeb72012 initial commit 2 years ago