dragonSwing fffiloni commited on
Commit
93ca41e
·
0 Parent(s):

Duplicate from fffiloni/LangChain-ChatGPT-plugins

Browse files

Co-authored-by: Sylvain Filoni <[email protected]>

Files changed (5) hide show
  1. .gitattributes +34 -0
  2. README.md +13 -0
  3. app.py +42 -0
  4. requirements.txt +3 -0
  5. style.css +11 -0
.gitattributes ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tflite filter=lfs diff=lfs merge=lfs -text
29
+ *.tgz filter=lfs diff=lfs merge=lfs -text
30
+ *.wasm filter=lfs diff=lfs merge=lfs -text
31
+ *.xz filter=lfs diff=lfs merge=lfs -text
32
+ *.zip filter=lfs diff=lfs merge=lfs -text
33
+ *.zst filter=lfs diff=lfs merge=lfs -text
34
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: LangChain + ChatGPT Plugins
3
+ emoji: 🦜🧩
4
+ colorFrom: purple
5
+ colorTo: purple
6
+ sdk: gradio
7
+ sdk_version: 3.28.2
8
+ app_file: app.py
9
+ pinned: false
10
+ duplicated_from: fffiloni/LangChain-ChatGPT-plugins
11
+ ---
12
+
13
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
app.py ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import os
2
+ import gradio as gr
3
+
4
+ from langchain.chat_models import ChatOpenAI
5
+ from langchain.agents import load_tools, initialize_agent
6
+ from langchain.agents import AgentType
7
+ from langchain.tools import AIPluginTool
8
+
9
+ def run(prompt, plugin_json, openai_api_key):
10
+ os.environ["OPENAI_API_KEY"] = openai_api_key
11
+ tool = AIPluginTool.from_plugin_url(plugin_json)
12
+ llm = ChatOpenAI(temperature=0, max_tokens=1000)
13
+ tools = load_tools(["requests_all"])
14
+ tools += [tool]
15
+ agent_chain = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=False, max_tokens_limit=4097)
16
+ return agent_chain.run(prompt)
17
+
18
+ title="""
19
+ <div style="text-align:center;">
20
+ <h1>LangChain + ChatGPT Plugins playground</h1>
21
+ <p>
22
+ This is a demo for the <a href="https://python.langchain.com/en/latest/modules/agents/tools/examples/chatgpt_plugins.html" target="_blank">ChatGPT Plugins LangChain</a> usecase<br />
23
+ Be aware that it currently only works with plugins that do not require auth.<br />
24
+ Find more plugins <a href="https://www.getit.ai/gpt-plugins" target="_blank">here</a>
25
+ </p>
26
+ </div>
27
+ """
28
+
29
+ with gr.Blocks(css="style.css") as demo:
30
+ with gr.Column(elem_id="col-container"):
31
+ gr.HTML(title)
32
+ prompt = gr.Textbox(label="Prompt", value="what t shirts are available in klarna?")
33
+ plugin = gr.Textbox(label="Plugin json", info="You need the .json plugin manifest file of the plugin you want to use. Be aware that it currently only works with plugins that do not require auth.", value="https://www.klarna.com/.well-known/ai-plugin.json")
34
+ openai_api_key = gr.Textbox(label="OpenAI API Key", info="*required", type="password")
35
+ run_btn = gr.Button("Run")
36
+ response = gr.Textbox(label="Response")
37
+ run_btn.click(fn=run,
38
+ inputs=[prompt, plugin, openai_api_key],
39
+ outputs=[response]
40
+ )
41
+
42
+ demo.queue().launch()
requirements.txt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ langchain
2
+ openai
3
+ compress-gpt
style.css ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #col-container {max-width: 440px; margin-left: auto; margin-right: auto;}
2
+
3
+ a, a:hover, a:visited {
4
+ text-decoration-line: underline;
5
+ font-weight: 600;
6
+ color: #1f2937 !important;
7
+ }
8
+
9
+ .dark a, .dark a:hover, .dark a:visited {
10
+ color: #f3f4f6 !important;
11
+ }