Harrison Chase
9bb7195085
Harrison/llm saving ( #331 )
...
Co-authored-by: Akash Samant <70665700+asamant21@users.noreply.github.com>
2022-12-13 06:46:01 -08:00
Hunter Gerlach
482611f426
unit test / code coverage improvements ( #322 )
...
This PR has two contributions:
1. Add test for when stop token is found in middle of text
2. Add code coverage tooling and instructions
- Add pytest-cov via poetry
- Add necessary config files
- Add new make instruction for `coverage`
- Update README with coverage guidance
- Update minor README formatting/spelling
Co-authored-by: Hunter Gerlach <hunter@huntergerlach.com>
2022-12-13 05:48:53 -08:00
Shobith Alva
19a9fa16a9
Add clear()
method for Memory
( #305 )
...
a simple helper to clear the buffer in `Conversation*Memory` classes
2022-12-11 07:09:06 -08:00
Harrison Chase
e02d6b2288
beta: logger ( #307 )
2022-12-10 23:17:19 -08:00
andersenchen
5267ebce2d
Add LLMCheckerChain ( #281 )
...
Implementation of https://github.com/jagilley/fact-checker . Works pretty
well.
<img width="993" alt="Screenshot 2022-12-07 at 4 41 47 PM"
src="https://user-images.githubusercontent.com/101075607/206302751-356a19ff-d000-4798-9aee-9c38b7f532b9.png ">
Verifying this manually:
1. "Only two kinds of egg-laying mammals are left on the planet
today—the duck-billed platypus and the echidna, or spiny anteater."
https://www.scientificamerican.com/article/extreme-monotremes/
2. "An [Echidna] egg weighs 1.5 to 2 grams (0.05 to 0.07
oz)[[19]](https://en.wikipedia.org/wiki/Echidna#cite_note-19 ) and is
about 1.4 centimetres (0.55 in) long."
https://en.wikipedia.org/wiki/Echidna#:~:text=sleep%20is%20suppressed.-,Reproduction,a%20reptile%2Dlike%20egg%20tooth .
3. "A [platypus] lays one to three (usually two) small, leathery eggs
(similar to those of reptiles), about 11 mm (7⁄16 in) in diameter and
slightly rounder than bird eggs."
https://en.wikipedia.org/wiki/Platypus#:~:text=It%20lays%20one%20to%20three,slightly%20rounder%20than%20bird%20eggs .
4. Therefore, an Echidna is the mammal that lays the biggest eggs.
cc @hwchase17
2022-12-09 12:49:05 -08:00
Harrison Chase
3c1c7ba672
update branch name in gha ( #274 )
2022-12-06 22:28:50 -08:00
Akash Samant
48b093823e
Add a Transformation Chain ( #257 )
...
Arbitrary transformation chains that can be used to add dictionary
extractions from llms/other chains
2022-12-06 21:58:16 -08:00
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>
2022-12-06 21:57:50 -08:00
Harrison Chase
28be37f470
LLMRequestsChain ( #267 )
2022-12-06 21:55:02 -08:00
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
2022-12-06 21:52:48 -08:00
Harrison Chase
f5c665a544
combine python files ( #256 )
2022-12-04 15:57:36 -08:00
Harrison Chase
db58032973
introduce output parser ( #250 )
2022-12-03 13:28:07 -08:00
Harrison Chase
a9ce04201f
Harrison/improve usability of api chain ( #247 )
...
improve usability of api chain
2022-12-02 15:44:10 -08:00
Harrison Chase
c897bd6cbd
api chain ( #246 )
...
Co-authored-by: Subhash Ramesh <33400216+thecooltechguy@users.noreply.github.com>
2022-12-02 13:39:36 -08:00
Xupeng (Tony) Tong
bb4bf9d6d0
chore: minor clean up / formatting ( #233 )
...
to get familiarize with the project
2022-12-01 10:50:36 -08:00
Harrison Chase
3ca2c8d6c5
allow passing of stop params into openai ( #232 )
2022-11-30 22:20:13 -08:00
Harrison Chase
ca2394028f
move search to not be a chain ( #226 )
2022-11-29 20:07:44 -08:00
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
2022-11-29 08:28:45 -08:00
Akash Samant
d368c43648
Bug Fix ( #221 )
...
Quick bug fix for semantic similarity vector injection
2022-11-29 07:03:40 -08:00
Harrison Chase
1b9b8efbc9
pal chain ( #207 )
...
from https://arxiv.org/pdf/2211.10435.pdf
2022-11-28 21:38:34 -08:00
Harrison Chase
b94244eb12
nits ( #210 )
...
use json.dump
move test to integration tests (since it requires huggingface_hub)
2022-11-27 13:03:09 -08:00
Akash Samant
ae72cf84b8
Save Prompts ( #194 )
2022-11-27 09:10:35 -08:00
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
2022-11-27 00:24:59 -08:00
Harrison Chase
6eab5254e5
add docs for custom agents ( #196 )
2022-11-26 06:03:08 -08:00
Harrison Chase
08deed9002
Harrison/memory docs ( #195 )
...
update memory docs and change variables
2022-11-26 05:58:54 -08:00
Harrison Chase
b913df3774
make attrs public ( #187 )
...
since they are used outside of the class, should be public
2022-11-24 20:11:29 -08:00
Harrison Chase
ae9c6257fe
Harrison/arbitrary params ( #186 )
2022-11-24 20:01:20 -08:00
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>
2022-11-23 16:35:38 -08:00
Harrison Chase
4334ffa6f9
Harrison/clean up language ( #179 )
...
dynamic prompts are no longer a thing
2022-11-23 16:58:41 -05:00
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)
2022-11-23 13:12:47 -08:00
Harrison Chase
d3a7429f61
(WIP) agents ( #171 )
2022-11-22 06:16:26 -08:00
Harrison Chase
4a4dfbfbed
Harrison/sequential chains ( #168 )
...
add support for basic sequential chains
2022-11-21 13:08:53 -08:00
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>
2022-11-20 16:23:58 -08:00
Harrison Chase
c02eb199b6
add few shot example ( #148 )
2022-11-19 20:32:45 -08:00
Nicholas Larus-Stone
0c3ae78ec1
chore: update ascii colors to work with dark mode ( #152 )
2022-11-16 22:05:28 -08:00
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
2022-11-16 22:04:50 -08:00
Harrison Chase
1835e8a681
prompt nit ( #141 )
...
doing some cleanup, and i think this just simplifies things...
2022-11-14 21:30:33 -08:00
Harrison Chase
bbb405a492
update colors ( #140 )
2022-11-14 20:27:36 -08:00
Harrison Chase
9f223e6ccc
Harrison/fix lint ( #138 )
2022-11-14 08:55:59 -08:00
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 )
2022-11-14 08:34:01 -08:00
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
2022-11-13 18:14:35 -08:00
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.
2022-11-13 13:15:30 -08:00
Harrison Chase
d87e73ddb1
huggingface tokenizer ( #75 )
2022-11-13 09:37:44 -08:00
Harrison Chase
e43534d41c
add integration with manifest ( #62 )
2022-11-10 11:24:11 -08:00
tomeras91
d8734ce5ad
Add AI21 LLMs ( #99 )
...
Integrate AI21 /complete API into langchain, to allow access to Jurassic
models.
2022-11-10 08:12:28 -08:00
Samantha Whitmore
a0780cc930
OptimizedPrompt -- k-shot example choice backed by semantic search ( #91 )
2022-11-09 21:15:42 -08:00
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`
2022-11-09 20:45:30 -08:00
issam9
28282ad099
Issam9/cohere embeddings ( #105 )
...
Add support for cohere embeddings
2022-11-09 13:44:27 -08:00
Delip Rao
95dd2f140e
Make Integration Tests "work" again ( #106 )
...
This fixes Issue #104
The tests for HF Embeddings is skipped because of the segfault issue
mentioned there. Perhaps, a new issue should be created for that?
2022-11-09 13:26:58 -08:00
Harrison Chase
db37bd089f
model laboratory ( #95 )
2022-11-08 22:17:10 -08:00
Harrison Chase
b9f61390e9
add text2text generation ( #93 )
...
fixes issue #90
2022-11-08 18:08:46 -08:00
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?
2022-11-08 06:24:23 -08:00
issam9
990cd821cc
Issam/hf embeddings ( #68 )
...
Add support of HuggingFace embedding models
2022-11-07 05:46:44 -08:00
Harrison Chase
eb36317f9a
Harrison/fix imports ( #72 )
...
fix imports and add section to notebook
2022-11-06 16:06:40 -08:00
Samantha Whitmore
a5b61d59e1
Refactor prompts into module, add example generation utils ( #64 )
2022-11-06 15:40:33 -08:00
Harrison Chase
2456a547de
mrkl ( #42 )
2022-11-05 14:41:53 -07:00
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.
2022-11-05 12:43:21 -07:00
Harrison Chase
4cc18d6c2a
Harrison/pretty print ( #57 )
...
make stuff look nice
2022-11-03 00:41:07 -07:00
Harrison Chase
76aff023d7
FAISS and embedding support ( #48 )
...
also adds embeddings and an in memory docstore
2022-11-01 21:29:39 -07:00
Harrison Chase
e982cf4b2e
Harrison/update docstore ( #47 )
...
change docstore interface
2022-10-31 21:18:52 -07:00
Harrison Chase
160af4ba6b
Harrison/map reduce ( #36 )
2022-10-31 20:17:22 -07:00
Harrison Chase
fba30e07d1
factor out mock python repl ( #43 )
2022-10-30 18:09:04 -07:00
Harrison Chase
7b0d02ac51
prompt templating ( #41 )
...
Co-authored-by: Samantha Whitmore <whitmore.samantha@gmail.com>
2022-10-30 09:45:27 -07:00
Harrison Chase
af81e9ca9c
add sql database ( #35 )
2022-10-27 23:21:47 -07:00
Harrison Chase
ce7b14b843
Harrison/add react chain ( #24 )
...
from https://arxiv.org/abs/2210.03629
still need to think if docstore abstraction makes sense
2022-10-26 21:02:23 -07:00
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
2022-10-25 22:00:33 -07:00
Harrison Chase
d2fdcba29d
fix test name ( #22 )
2022-10-25 20:22:16 -07:00
Harrison Chase
1ef3ab4d0e
Harrison/add natbot ( #18 )
2022-10-24 19:56:26 -07:00
Harrison Chase
18aeb72012
initial commit
2022-10-24 14:51:15 -07:00