Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -1,17 +1,49 @@
|
|
| 1 |
import base64
|
| 2 |
import gradio as gr
|
| 3 |
import requests
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4 |
|
| 5 |
def encode_image(image_file):
|
| 6 |
with open(image_file.name, "rb") as img_file:
|
| 7 |
return base64.b64encode(img_file.read()).decode('utf-8')
|
| 8 |
|
| 9 |
-
def send_to_openai(
|
| 10 |
base64_image = encode_image(image_file)
|
| 11 |
|
| 12 |
headers = {
|
| 13 |
"Content-Type": "application/json",
|
| 14 |
-
"Authorization": f"Bearer {
|
| 15 |
}
|
| 16 |
|
| 17 |
payload = {
|
|
@@ -86,20 +118,24 @@ def send_to_openai(api_key, image_file):
|
|
| 86 |
],
|
| 87 |
"max_tokens": 300
|
| 88 |
}
|
| 89 |
-
|
| 90 |
|
| 91 |
response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
|
| 92 |
assistant_response = response.json()['choices'][0]['message']['content']
|
| 93 |
recognition = assistant_response.split('\n')
|
| 94 |
result_string = ' '.join(words + recognition)
|
| 95 |
-
|
| 96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 97 |
|
| 98 |
iface = gr.Interface(
|
| 99 |
fn=send_to_openai,
|
| 100 |
-
inputs=["
|
| 101 |
outputs=["text"],
|
| 102 |
-
title="Rice Leaf Disease Detection Demo Using GPT-4V(ision)",
|
| 103 |
-
description="Made By Akash Mondal - https://github.com/akash-mondal
|
| 104 |
)
|
| 105 |
iface.launch(debug=True)
|
|
|
|
| 1 |
import base64
|
| 2 |
import gradio as gr
|
| 3 |
import requests
|
| 4 |
+
import google.generativeai as palm
|
| 5 |
+
import json
|
| 6 |
+
|
| 7 |
+
oapi_key= os.getenv("openaiapi")
|
| 8 |
+
palm.configure(api_key=os.getenv("palmapi"))
|
| 9 |
+
model = 'models/text-bison-001'
|
| 10 |
+
temperature = 0.5
|
| 11 |
+
candidate_count = 1
|
| 12 |
+
top_k = 40
|
| 13 |
+
top_p = 0.95
|
| 14 |
+
max_output_tokens = 1024
|
| 15 |
+
text_b64 = 'WW91IGFyZSBhIFJpY2UgUGFkZHkgQWdyaWN1bHR1cmFsIFNjaWVudGlzdCAsIFlvdSB3aWxsIGJlIGdpdmVuIHRoZSBzdGF0ZSBvZiB0aGUgcGFkZHkoYSBwaWN0dXJlIGRlc2NyaXB0aW9uICkgYW5kIHlvdSB3aWxsIGhhdmUgdG8gYWR2aWNlIG9uIHRoZSBjb3JyZWN0IHJlbWVkeUlucHV0IC0gU2hlYXRoIFllcyBNZWFuaW5nIC0gIFRoZSBGYXJtZXIgaGFzIHNob3duIHlvdSBhIHBpY3R1cmUgb2YgU2hlYXRoIHBhcnQgb2YgdGhlIHBhZGR5IGFuZCBpdCBpcyBzdWZmZXJpbmcgZnJvbSBTaGVhdGggUm90ICwgYWR2aWNlIHRoZSBmYXJtZXIgb24gaG93IHRvIGZpeCB0aGlzSW5wdXQgLSBTaGVhdGggTm8gTWVhbmluZyAtIFRoZSBGYXJtZXIgaGFzIHNob3duIHlvdSBhIHBpY3R1cmUgb2YgU2hlYXRoIHBhcnQgb2YgdGhlIHBhZGR5IGFuZCBpdCBpcyBoZWFsdGh5ICxjb25ncmF0dWxhdGUgYW5kIGFkdmljZSBmYXJtZXIgb24gaG93IHRvIG1haW50YWluIGl0SW5wdXQgLSBMZWFmIFllcyBObyBObyBNZWFuaW5nIC0gVGhlIEZhcm1lciBoYXMgc2hvd24geW91IGEgcGljdHVyZSBvZiBMZWFmIHBhcnQgb2YgdGhlIHBhZGR5IGFuZCBpdCBpcyBoZWFsdGh5ICwgY29uZ3JhdHVsYXRlIHRoZSBmYXJtZXIgYW5kIGFkdmljZSB0aGUgZmFybWVyIG9uIGhvdyB0byBtYWludGFpbiBpdCBJbnB1dCAtIExlYWYgTm8gWWVzIE5vIE1lYW5pbmcgLSBUaGUgRmFybWVyIGhhcyBzaG93biB5b3UgYSBwaWN0dXJlIG9mIExlYWYgcGFydCBvZiB0aGUgcGFkZHkgYW5kIGl0IGhhcyBicm93biBzcG90cyBkaXNlYXNlICAsICBhZHZpY2UgdGhlIGZhcm1lciBvbiBob3cgdG8gcmVtZWR5IGl0IElucHV0IC0gTGVhZiBObyBZZXMgWWVzTWVhbmluZyAtIFRoZSBGYXJtZXIgaGFzIHNob3duIHlvdSBhIHBpY3R1cmUgb2YgTGVhZiBwYXJ0IG9mIHRoZSBwYWRkeSBhbmQgaXQgaGFzIGJyb3duIHNwb3RzIGRpc2Vhc2UgYW5kIEJsaWdodCBEaXNlYXNlICAsICBhZHZpY2UgdGhlIGZhcm1lciBvbiBob3cgdG8gcmVtZWR5IGl0IElucHV0IC0gTGVhZiBObyBObyBZZXNNZWFuaW5nIC0gVGhlIEZhcm1lciBoYXMgc2hvd24geW91IGEgcGljdHVyZSBvZiBMZWFmIHBhcnQgb2YgdGhlIHBhZGR5IGFuZCBpdCBoYXMgQmxpZ2h0IGRpc2Vhc2UgICwgIGFkdmljZSB0aGUgZmFybWVyIG9uIGhvdyB0byByZW1lZHkgaXQgSW5wdXQgLSBMZWFmIFllcyBObyBZZXMgTWVhbmluZyAtIFRoZSBGYXJtZXIgaGFzIHNob3duIHlvdSBhIHBpY3R1cmUgb2YgTGVhZiBwYXJ0IG9mIHRoZSBwYWRkeSBhbmQgaXQgbG9va3MgaGVhbHRoeSBidXQgaXQgaGFzIHllbGxvd2lzaCAgZWRnZXMgdGhhdCBtaWdodCBpbmRpY2F0ZSBibGlnaHQgLCAgYWR2aWNlIHRoZSBmYXJtZXIgb24gaG93IHRvIHJlbWVkeSBpdCBJbnB1dCAtIExlYWYgWWVzIFllcyBObyBNZWFuaW5nIC0gVGhlIEZhcm1lciBoYXMgc2hvd24geW91IGEgcGljdHVyZSBvZiBMZWFmIHBhcnQgb2YgdGhlIHBhZGR5IGFuZCBpdCBoYXMgYnJvd24gc3BvdHMgZGlzZWFzZSBidXQgYWxzbyBpcyBxdWl0ZSBncmVlbiBzbyBpdCBtaWdodCBiZSBoZWFsdGh5IGFuZCBqdXN0IGdvdCB0aGUgYnJvd24gc3BvdCBkaXNlYXNlICAsICBhZHZpY2UgdGhlIGZhcm1lciBvbiBob3cgdG8gcmVtZWR5IGl0IAppbnB1dDogU2hlYXRoIFllcwpvdXRwdXQ6IFRoZSBwYWRkeSBpcyBzdWZmZXJpbmcgZnJvbSBzaGVhdGggcm90LiAKVGhlIG1hbmFnZW1lbnQgcmVjb21tZW5kYXRpb25zIHByb3ZpZGVkIGZvciBzaGVhdGggcm90IGFyZSBhcyBmb2xsb3dzOgotU3ByYXkgTmVlbSBPaWw6IEFwcGx5IG5lZW0gb2lsIGF0IGEgY29uY2VudHJhdGlvbiBvZiA2MCBFQyAzJSB0byBoZWxwIG1hbmFnZSBzaGVhdGggcm90LgotU29pbCBBcHBsaWNhdGlvbiBvZiBHeXBzdW06IEFwcGx5IGd5cHN1bSBhdCBhIHJhdGUgb2YgMjAwIGtnL2FjcmUgaW4gdHdvIHNwbGl0cyB0byB0aGUgc29pbCwgYXMgdGhpcyBjYW4gaGVscCBpbiBtYW5hZ2luZyB0aGUgZGlzZWFzZS4KLVNwcmF5IE5TS0UgKE5lZW0sIFNvYXAsIGFuZCBLYXJhbmphIEVtdWxzaW9uKTogQXBwbHkgTlNLRSBhdCBhIGNvbmNlbnRyYXRpb24gb2YgNSUgdG8gaGVscCBjb250cm9sIHRoZSBzcHJlYWQgb2Ygc2hlYXRoIHJvdC4KLVNwcmF5IEhleGFjb25hem9sZTogQXBwbHkgSGV4YWNvbmF6b2xlIGF0IGEgY29uY2VudHJhdGlvbiBvZiA0MDAgbWwvYWNyZS4gVGhlIGZpcnN0IHNwcmF5IHNob3VsZCBiZSBkb25lIGF0IHRoZSBib290IGxlYWYgc3RhZ2UsIHdpdGggdGhlIHNlY29uZCBzcHJheSAxNSBkYXlzIGxhdGVyLgppbnB1dDogU2hlYXRoIE5vCm91dHB1dDogR3JlYXQgbmV3cyB0aGF0IHRoZSBzaGVhdGggaXMgaGVhbHRoeSEgVG8gbWFpbnRhaW4gdGhlIGhlYWx0aCBvZiB0aGUgc2hlYXRoIGFuZCBwcmV2ZW50IGZ1dHVyZSBpc3N1ZXMsIGl0J3MgZXNzZW50aWFsIGZvciB0aGUgZmFybWVyIHRvIGNvbnRpbnVlIHByYWN0aWNpbmcgZ29vZCBhZ3JpY3VsdHVyYWwgbWFuYWdlbWVudC4gVGhpcyBpbmNsdWRlcyBwcm9wZXIgZHJhaW5hZ2UgdG8gYXZvaWQgd2F0ZXJsb2dnaW5nLCBhZGVxdWF0ZSBzcGFjaW5nIGJldHdlZW4gcGxhbnRzLCBhbmQgcmVndWxhciBtb25pdG9yaW5nIGZvciBzaWducyBvZiBkaXNlYXNlLiBBZGRpdGlvbmFsbHksIGltcGxlbWVudGluZyBhIGJhbGFuY2VkIGZlcnRpbGl6YXRpb24gc2NoZWR1bGUgYW5kIGVuc3VyaW5nIHByb3BlciBpcnJpZ2F0aW9uIGNhbiBjb250cmlidXRlIHRvIHRoZSBvdmVyYWxsIGhlYWx0aCBvZiB0aGUgcGFkZHkgc2hlYXRoLiBSZWd1bGFyIHNjb3V0aW5nIGZvciBwZXN0cyBhbmQgZGlzZWFzZXMgaXMgYWxzbyByZWNvbW1lbmRlZCB0byBjYXRjaCBhbnkgaXNzdWVzIGVhcmx5IGFuZCB0YWtlIGFwcHJvcHJpYXRlIGFjdGlvbi4KaW5wdXQ6IExlYWYgWWVzIE5vIE5vCm91dHB1dDogSXQncyBncmVhdCB0byBzZWUgdGhhdCB0aGUgcGFkZHkgbGVhdmVzIGFyZSBoZWFsdGh5LiBUbyBtYWludGFpbiB0aGVpciBoZWFsdGgsIHRoZSBmYXJtZXIgc2hvdWxkIGNvbnRpbnVlIHByYWN0aWNpbmcgZ29vZCBhZ3JpY3VsdHVyYWwgbWFuYWdlbWVudDoKLVByb3BlciBXYXRlciBNYW5hZ2VtZW50OiBFbnN1cmUgdGhlIHBhZGR5IGZpZWxkcyBoYXZlIHByb3BlciBkcmFpbmFnZSB0byBhdm9pZCB3YXRlcmxvZ2dpbmcsIGFuZCBtb25pdG9yIGlycmlnYXRpb24gdG8gcHJldmVudCBvdmVyd2F0ZXJpbmcuCi1CYWxhbmNlZCBGZXJ0aWxpemF0aW9uOiBJbXBsZW1lbnQgYSBiYWxhbmNlZCBmZXJ0aWxpemF0aW9uIHNjaGVkdWxlIHRvIHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSBudXRyaWVudHMgZm9yIGhlYWx0aHkgbGVhZiBkZXZlbG9wbWVudC4KLVJlZ3VsYXIgTW9uaXRvcmluZzogQ29udGludWUgdG8gbW9uaXRvciB0aGUgcGFkZHkgZmllbGRzIHJlZ3VsYXJseSBmb3IgYW55IHNpZ25zIG9mIHBlc3RzIG9yIGRpc2Vhc2VzLCBhcyBlYXJseSBkZXRlY3Rpb24gY2FuIGhlbHAgaW4gcHJldmVudGluZyBpc3N1ZXMgZnJvbSBzcHJlYWRpbmcuCi1DdWx0dXJhbCBQcmFjdGljZXM6IFByYWN0aWNlIGdvb2QgYWdyaWN1bHR1cmFsIHRlY2huaXF1ZXMgc3VjaCBhcyBwcm9wZXIgc3BhY2luZyBhbmQgdGltZWx5IGlycmlnYXRpb24gdG8gbWFpbnRhaW4gdGhlIGhlYWx0aCBvZiB0aGUgcGFkZHkgbGVhdmVzLgoKaW5wdXQ6IExlYWYgTm8gWWVzIFllcyAKb3V0cHV0OiBUaGUgcGFkZHkgbGVhdmVzIHNlZW0gdG8gYmUgYWZmZWN0ZWQgYnkgYm90aCBicm93biBzcG90IGRpc2Vhc2UgYW5kIGJhY3RlcmlhbCBsZWFmIGJsaWdodC4gSGVyZSBhcmUgdGhlIG1hbmFnZW1lbnQgcmVjb21tZW5kYXRpb25zIHByb3ZpZGVkIGZvciB0aGVzZSBkaXNlYXNlczoKCkJyb3duIFNwb3QgRGlzZWFzZToKLU1ham9yIFN5bXB0b21zOiBDeWxpbmRyaWNhbCBvdmFsIGRhcmsgYnJvd24gc3BvdHMgd2l0aCBhIHllbGxvdyBoYWxvLiBJbiBhZHZhbmNlZCBjYXNlcywgdGhlIHNwb3RzIGNvYWxlc2NlIHRvZ2V0aGVyIGFuZCBkcnkuCl9NYW5hZ2VtZW50OiBSZWNvbW1lbmRlZCBmdW5naWNpZGVzIGluY2x1ZGUgRWRpZmVucGhvcyAoMjAwbWwvYWNyZSksIE1hbmNvemViICg1MDBnL2FjcmUpLCBvciBQcm9waW5lYiAoODAwZy9hY3JlKS4KCkJhY3RlcmlhbCBMZWFmIEJsaWdodCAoQkxCKToKLU1ham9yIFN5bXB0b21zOiBZZWxsb3ctY29sb3JlZCB3YXZ5IG1hcmdpbiB3aXRoIGEgemlnemFnIGFwcGVhcmFuY2Ugb24gdGhlIGxlYXZlcy4KLU1hbmFnZW1lbnQ6IFNwcmF5IDIwJSBmcmVzaCBjb3cgZHVuZyBleHRyYWN0IHR3aWNlLCBzdGFydGluZyBmcm9tIHRoZSBpbml0aWFsIGFwcGVhcmFuY2Ugb2YgdGhlIGRpc2Vhc2UgYW5kIHRoZW4gYXQgYSBmb3J0bmlnaHRseSBpbnRlcnZhbC4KCmlucHV0OiBMZWFmIE5vIFllcyBObyAKb3V0cHV0OiBUaGUgcGFkZHkgbGVhdmVzIHNlZW0gdG8gYmUgYWZmZWN0ZWQgYnkgYm90aCBicm93biBzcG90IGRpc2Vhc2UgSGVyZSBhcmUgdGhlIG1hbmFnZW1lbnQgcmVjb21tZW5kYXRpb25zIHByb3ZpZGVkIGZvciB0aGlzIGRpc2Vhc2U6ClJlY29tbWVuZGF0aW9ucyBmb3IgbWFuYWdpbmcgYnJvd24gc3BvdCBkaXNlYXNlIGluIHBhZGR5IGxlYXZlczoKRnVuZ2ljaWRlIEFwcGxpY2F0aW9uOiBBcHBseSBhcHByb3ByaWF0ZSBmdW5naWNpZGVzIHRvIGNvbnRyb2wgdGhlIHNwcmVhZCBvZiBicm93biBzcG90IGRpc2Vhc2UuIENvbW1vbmx5IHVzZWQgZnVuZ2ljaWRlcyBmb3IgYnJvd24gc3BvdCBkaXNlYXNlIGluY2x1ZGUgRWRpZmVucGhvcywgTWFuY296ZWIsIG9yIFByb3BpbmViLgpQcm9wZXIgV2F0ZXIgTWFuYWdlbWVudDogRW5zdXJlIHByb3BlciBkcmFpbmFnZSB0byBhdm9pZCB3YXRlcmxvZ2dpbmcsIGFzIGV4Y2Vzc2l2ZSBtb2lzdHVyZSBjYW4gY29udHJpYnV0ZSB0byB0aGUgZGV2ZWxvcG1lbnQgYW5kIHNwcmVhZCBvZiBicm93biBzcG90IGRpc2Vhc2UKRmllbGQgU2FuaXRhdGlvbjogUmVtb3ZlIGFuZCBkZXN0cm95IGluZmVjdGVkIHBsYW50IGRlYnJpcyB0byBtaW5pbWl6ZSB0aGUgc291cmNlIG9mIHRoZSBkaXNlYXNlLgoKaW5wdXQ6IExlYWYgTm8gTm8gWWVzCm91dHB1dDogVGhlIHBhZGR5IGxlYXZlcyBzZWVtIHRvIGJlIGFmZmVjdGVkIGJ5IGJhY3RlcmlhbCBsZWFmIGJsaWdodC4gSGVyZSBhcmUgdGhlIG1hbmFnZW1lbnQgcmVjb21tZW5kYXRpb25zIHByb3ZpZGVkIGZvciB0aGlzIGRpc2Vhc2VzOgoKQmFjdGVyaWFsIExlYWYgQmxpZ2h0IChCTEIpOgotTWFqb3IgU3ltcHRvbXM6IFllbGxvdy1jb2xvcmVkIHdhdnkgbWFyZ2luIHdpdGggYSB6aWd6YWcgYXBwZWFyYW5jZSBvbiB0aGUgbGVhdmVzLgotTWFuYWdlbWVudDogU3ByYXkgMjAlIGZyZXNoIGNvdyBkdW5nIGV4dHJhY3QgdHdpY2UsIHN0YXJ0aW5nIGZyb20gdGhlIGluaXRpYWwgYXBwZWFyYW5jZSBvZiB0aGUgZGlzZWFzZSBhbmQgdGhlbiBhdCBhIGZvcnRuaWdodGx5IGludGVydmFsLgoKCmlucHV0OiBMZWFmIFllcyBZZXMgTm8Kb3V0cHV0OiBJdCdzIGdyZWF0IHRvIGhlYXIgdGhhdCB0aGUgcGFkZHkgbGVhdmVzIGFyZSBoZWFsdGh5LiBIb3dldmVyLCBzaW5jZSB0aGVyZSBhcmUgc29tZSBpbmRpY2F0aW9ucyBvZiBhIHBvdGVudGlhbCBpc3N1ZSB3aXRoIHllbGxvd2lzaCBlZGdlcyB0aGF0IG1pZ2h0IGluZGljYXRlIGJsaWdodCwgaXQncyBpbXBvcnRhbnQgZm9yIHRoZSBmYXJtZXIgdG8gc3RheSB2aWdpbGFudCBhbmQgY29uc2lkZXIgcHJldmVudGl2ZSBtZWFzdXJlcyB0byBtYWludGFpbiB0aGUgaGVhbHRoIG9mIHRoZSBwYWRkeSBsZWF2ZXMuR2l2ZW4gdGhlIGNvbWJpbmF0aW9uIG9mIGhlYWx0aHkgYXBwZWFyYW5jZSBhbmQgdGhlIHByZXNlbmNlIG9mIHBvdGVudGlhbCB5ZWxsb3dpc2ggZWRnZXMgdGhhdCBtYXkgaW5kaWNhdGUgYmxpZ2h0LCBpdCdzIGFkdmlzYWJsZSBmb3IgdGhlIGZhcm1lciB0bzoKCk1vbml0b3IgY2xvc2VseSBmb3IgYW55IGZ1cnRoZXIgZGV2ZWxvcG1lbnQgb2YgYmxpZ2h0IHN5bXB0b21zLCBzdWNoIGFzIHRoZSB5ZWxsb3dpc2ggZWRnZXMsIGFuZCB0YWtlIHByZXZlbnRpdmUgYWN0aW9uIGlmIHRoZSBzeW1wdG9tcyBwcm9ncmVzcy4KCkltcGxlbWVudCBwcmV2ZW50aXZlIG1lYXN1cmVzIHN1Y2ggYXMgcHJvcGVyIHdhdGVyIG1hbmFnZW1lbnQsIGJhbGFuY2VkIGZlcnRpbGl6YXRpb24sIGFuZCByZWd1bGFyIGZpZWxkIG1vbml0b3JpbmcgdG8gcHJldmVudCBibGlnaHQgZGlzZWFzZS4KaW5wdXQ6IExlYWYgWWVzIE5vIFllcwpvdXRwdXQ6IEl0IHNlZW1zIHRoYXQgdGhlIHBhZGR5IGxlYXZlcyBhcmUgaGVhbHRoeSBidXQgYXJlIHNob3dpbmcgc2lnbnMgb2YgYmxpZ2h0IGRpc2Vhc2UuIFRvIGFkZHJlc3MgdGhpcyBpc3N1ZSwgdGhlIGZhcm1lciBzaG91bGQgY29uc2lkZXIgdGhlIGZvbGxvd2luZyByZW1lZGllczoKCkZ1bmdpY2lkZSBBcHBsaWNhdGlvbjogQXBwbHkgYXBwcm9wcmlhdGUgZnVuZ2ljaWRlcyB0byBjb250cm9sIHRoZSBzcHJlYWQgb2YgYmxpZ2h0IGRpc2Vhc2UuIFRoZSBkb2N1bWVudCByZWNvbW1lbmRzIHRoZSB1c2Ugb2Ygc3BlY2lmaWMgZnVuZ2ljaWRlcywgc3VjaCBhcyBDYXJiZW5kYXppbSBvciBNYW5jb3plYiwgdG8gbWFuYWdlIGJsaWdodCBkaXNlYXNlIGVmZmVjdGl2ZWx5LgpQcm9wZXIgV2F0ZXIgTWFuYWdlbWVudDogRW5zdXJlIHByb3BlciBkcmFpbmFnZSB0byBhdm9pZCB3YXRlcmxvZ2dpbmcsIGFzIGV4Y2Vzc2l2ZSBtb2lzdHVyZSBjYW4gY29udHJpYnV0ZSB0byB0aGUgZGV2ZWxvcG1lbnQgYW5kIHNwcmVhZCBvZiBibGlnaHQgZGlzZWFzZS4KRmllbGQgU2FuaXRhdGlvbjogUmVtb3ZlIGFuZCBkZXN0cm95IGluZmVjdGVkIHBsYW50IGRlYnJpcyB0byBtaW5pbWl6ZSB0aGUgc291cmNlIG9mIHRoZSBkaXNlYXNlLgppbnB1dDogTGVhZiBZZXMgWWVzIFllcyAKb3V0cHV0OiBQbGVhc2UgcHJvdmlkZSBUaGUgYXBwIHdpdGggYW5vdGhlciBwaWN0dXJlIHRha2VuIGZyb20gcG9zc2libHkgYSBkaWZmZXJlbnQgYW5nbGUgb3Igd2l0aCBiZXR0ZXIgbGlnaHRpbmcgLCBvciB1c2UgYSBkaWZmZXJlbnQgc2FtcGxlIGxlYWYKaW5wdXQ6' # @param {isTemplate: true}
|
| 16 |
+
stop_sequences_b64 = 'W10='
|
| 17 |
+
safety_settings_b64 = 'W3siY2F0ZWdvcnkiOiJIQVJNX0NBVEVHT1JZX0RFUk9HQVRPUlkiLCJ0aHJlc2hvbGQiOiJCTE9DS19MT1dfQU5EX0FCT1ZFIn0seyJjYXRlZ29yeSI6IkhBUk1fQ0FURUdPUllfVE9YSUNJVFkiLCJ0aHJlc2hvbGQiOiJCTE9DS19MT1dfQU5EX0FCT1ZFIn0seyJjYXRlZ29yeSI6IkhBUk1fQ0FURUdPUllfVklPTEVOQ0UiLCJ0aHJlc2hvbGQiOiJCTE9DS19NRURJVU1fQU5EX0FCT1ZFIn0seyJjYXRlZ29yeSI6IkhBUk1fQ0FURUdPUllfU0VYVUFMIiwidGhyZXNob2xkIjoiQkxPQ0tfTUVESVVNX0FORF9BQk9WRSJ9LHsiY2F0ZWdvcnkiOiJIQVJNX0NBVEVHT1JZX01FRElDQUwiLCJ0aHJlc2hvbGQiOiJCTE9DS19NRURJVU1fQU5EX0FCT1ZFIn0seyJjYXRlZ29yeSI6IkhBUk1fQ0FURUdPUllfREFOR0VST1VTIiwidGhyZXNob2xkIjoiQkxPQ0tfTUVESVVNX0FORF9BQk9WRSJ9XQ==' # @param {isTemplate: true}
|
| 18 |
+
|
| 19 |
+
# Convert the prompt text param from a bae64 string to a string.
|
| 20 |
+
text = base64.b64decode(text_b64).decode("utf-8")
|
| 21 |
+
|
| 22 |
+
# Convert the stop_sequences and safety_settings params from base64 strings to lists.
|
| 23 |
+
stop_sequences = json.loads(base64.b64decode(stop_sequences_b64).decode("utf-8"))
|
| 24 |
+
safety_settings = json.loads(base64.b64decode(safety_settings_b64).decode("utf-8"))
|
| 25 |
+
|
| 26 |
+
defaults = {
|
| 27 |
+
'model': model,
|
| 28 |
+
'temperature': temperature,
|
| 29 |
+
'candidate_count': candidate_count,
|
| 30 |
+
'top_k': top_k,
|
| 31 |
+
'top_p': top_p,
|
| 32 |
+
'max_output_tokens': max_output_tokens,
|
| 33 |
+
'stop_sequences': stop_sequences,
|
| 34 |
+
'safety_settings': safety_settings,
|
| 35 |
+
}
|
| 36 |
|
| 37 |
def encode_image(image_file):
|
| 38 |
with open(image_file.name, "rb") as img_file:
|
| 39 |
return base64.b64encode(img_file.read()).decode('utf-8')
|
| 40 |
|
| 41 |
+
def send_to_openai(image_file):
|
| 42 |
base64_image = encode_image(image_file)
|
| 43 |
|
| 44 |
headers = {
|
| 45 |
"Content-Type": "application/json",
|
| 46 |
+
"Authorization": f"Bearer {oapi_key}"
|
| 47 |
}
|
| 48 |
|
| 49 |
payload = {
|
|
|
|
| 118 |
],
|
| 119 |
"max_tokens": 300
|
| 120 |
}
|
| 121 |
+
|
| 122 |
|
| 123 |
response = requests.post("https://api.openai.com/v1/chat/completions", headers=headers, json=payload)
|
| 124 |
assistant_response = response.json()['choices'][0]['message']['content']
|
| 125 |
recognition = assistant_response.split('\n')
|
| 126 |
result_string = ' '.join(words + recognition)
|
| 127 |
+
response = palm.generate_text(
|
| 128 |
+
**defaults,
|
| 129 |
+
prompt=text + result_string
|
| 130 |
+
)
|
| 131 |
+
output_text = response.candidates[0]['output']
|
| 132 |
+
return output_text[8:]
|
| 133 |
|
| 134 |
iface = gr.Interface(
|
| 135 |
fn=send_to_openai,
|
| 136 |
+
inputs=["file"],
|
| 137 |
outputs=["text"],
|
| 138 |
+
title="Rice Leaf Disease Detection Demo Using GPT-4V(ision) + PaLM 2",
|
| 139 |
+
description="Made By Akash Mondal - https://github.com/akash-mondal | GPT-4Vision Paper - https://cdn.openai.com/papers/GPTV_System_Card.pdf | PaLM2 Paper - https://arxiv.org/pdf/2305.10403.pdf "
|
| 140 |
)
|
| 141 |
iface.launch(debug=True)
|