Code Monkey home page Code Monkey logo

dsdanielpark / bard-api Goto Github PK

View Code? Open in Web Editor NEW
5.4K 47.0 535.0 17.31 MB

The unofficial python package that returns response of Google Bard through cookie value.

Home Page: https://pypi.org/project/bardapi/

License: MIT License

Python 74.72% Jupyter Notebook 1.43% TypeScript 0.26% Go 0.41% Java 0.42% JavaScript 20.74% PHP 0.29% Kotlin 0.34% Rust 0.39% Swift 0.48% C# 0.51%
google-bard google-bard-python chatbot nlp google llm api bard ai-api googlebard

bard-api's Introduction

Hello, I'm MinWoo(Daniel) Park

Linkedin Badge Hits

  • I am a passionate developer adept at leveraging Machine Learning and Deep Learning technologies to address challenges across diverse domains.
  • My extensive experience and knowledge in fields such as LLM, Natural Language Processing, Computer Vision, and the medical and healthcare sectors have enabled me to connect the dots and craft sophisticated solutions for a broad range of industry problems.
  • Currently, I am focusing on advancing the field ofthe state-of-the-art LLM (Language Model) technology.
  • I believe that all the knowledge I have gained will converge at the end of my journey.


For more details

trophy

Contents

On 2023-11-07, I have decided to make the majority of repositories and Hugging Face models private.



Large Language Model

  • The code for LLM projects will remain private. Due to ethical issues, the model's performance will be disclosed once it is verified after development.
  • sLLM, Jindo: Jindo is a relatively small sLLM that includes various experiments. It aims to develop multi-modal and domain-specific highly personalized models, but it is not recommended for general use as it is primarily used for experiments.
  • GORANI: The project is actively underway. GORANI is being developed as an English language model for comparison with other LLMs and to assess its technical capabilities. It is planned to be distributed under a research-purpose license.
  • KORANI: KORANI is a Korean-specific LLM developed based on Jindo and GORANI's accumulated technology. It is based on the 13B Llama2 chat, transformed into an LLM, with the goal of making it available under a commercial license.

Huggingface

Link: https://huggingface.co/danielpark

Project Title Backbone Description
ko-llama-2-jindo-7b-instruct LLaMA2-7b Korean LLM model efficiently fine-tuned with QLoRA (Efficient Finetuning of Quantized LLMs)
ko-llama-2-jindo-13b-instruct LLaMA2-13b Korean LLM model efficiently fine-tuned with QLoRA
ko-llama-2-jindo-7b-instruct-ggml LLaMA2-7b Model weights transformed through GGML(Generic Graph Machine Learning) to efficiently perform inference using GPU and CPU.
ko-llama-2-jindo-7b-instruct-4bit-128g-gptq LLaMA2-7b Model weights using LLaMA2 as the backbone, one-shot weight quantized with GPTQ(Accurate Post-Training Quantization for Generative Pre-trained Transformers) to increase inference speed.

Projects

Project Description Repo
Bard API Interfaces with Google Bard API to retrieve responses. GitHub
Amazing Bard Prompts Includes curated Google Bard prompts for enhanced utilization. GitHub
ExceptNotifier Enriches try-except with comprehensive error messages. GitHub
Co Coder Python package that treamlines error debugging from Chat GPT and Google Bard. GitHub
GPT BERT Medical QA Chatbot Research repository focused on GPT 2 fine-tuning for medical domain. GitHub
Korean news topic classification using KO BERT Classifies Korean news articles into eight categories using fine-tuned Korean BERT. GitHub
Multi-objective recommender Recommendation system leveraging user behavior data for improved accuracy. GitHub

Packages

Pypi link: https://pypi.org/user/archi-park/

Package Description Repo
bardapi The python package that returns Response of Google Bard through API. GitHub
arxiv2text Converting PDF files to text, mainly with a focus on arXiv papers. GitHub
transllm LLMtranslator translates and generates text in multiple languages. GitHub
translang Translation Service API Module. GitHub
catchexception Nightly version of ExceptNotifier GitHub
googlebardapi The python package that returns Response of Google Bard through API. GitHub
cocoder Python package that treamlines error debugging from Chat GPT and Google Bard. GitHub
exceptnotifier With Python's try-except to receive notifications about Errors or Successes in your code through messenger app or email. GitHub
utilfunction The Python package utilfunction wraps and distributes useful functions in an easy-to-use way. GitHub
quickshow Quick-Show provides simply but powerful insight plots GitHub
googledriver The Python package google drive facilitates access to files uploaded to Google Drive. GitHub
youtuber Support tools including crawler, video editing, YouTube API, etc. GitHub
docfilter The Python package docfilter is used to detect and remove inappropriate information from text. GitHub
kmi2122 This dataset includes some macroeconomic indicators for South Korea in 2021-2022. GitHub
corpusshow Corpus-Show makes it easier and faster to visualize corpus through sentence embedding of corpus. GitHub
edanif EDA-NIf creates a dataframe containing meta information of NIfTi files and provides several useful features. GitHub

Dockerhub

Link: https://hub.docker.com/u/parkminwoo91


Work Experience

01 Internal Projects (2017 - 2022)

  • Inflow Analysis/Product Selection/Trend Analysis/Price Trend/Logistics Demand Prediction Model (2017-2018, Recommender System, Natural Language Processing)
  • Analysis of National Health Insurance Service (NHIS) Data and Development of Biological Age Calculation Algorithm, Disease Prevalence Prediction (2020, Machine Learning)
  • Detection of Overhead Wires using Big Data from Korea Electric Power Corporation (KEPCO) (2021, Computer Vision)
  • Development Planning of Food Ingredient Discovery and Characterization Platform (2021, Machine Learning, Natural Language Processing)
  • Software Development for Automating Protein Mechanisms, Interactions, and Molecular Structure Extraction and Analysis from Alzheimer's Disease Papers (2021, Natural Language Processing, Computer Vision)
  • Prediction of Diseases and Physical Vitality based on Animal Metabolite (Fur/Blood) Datasets (2021, Machine Learning, Natural Language Processing)
  • Anomaly Signs Prediction, Health Index Forecast, Gut Microbiome Data Analysis using National Health Insurance Data (2021, Machine Learning, Natural Language Processing)
  • Development Planning for Heat Efficiency and Energy Optimization Algorithms in Sihwabanwol Industrial Complex (2021, Optimization)
  • Development of Automatic Brain Structure Segmentation and Tumor Area Segmentation Model using MRI and CT Images and Skull Extraction Algorithms (2022, Computer Vision)
  • Development of Body Type Classification and 3D Body Shape Change Prediction Model based on Time-Series Korean Body Data Collection (2022, Computer Vision)
  • Algorithm and Deep Learning Model Development for Extracting Drawing Factors from Engineering Drawings (2022, Computer Vision)
  • Algorithm for Visualization and Analysis of Noise Sources, Automation Pipeline for Noise Source Localization and Clustering (2022, Computer Vision)

02 Personal Projects (2022 - 2023)

  • Bard-API: Unofficial Python Package for Fetching Responses from Google Bard (GitHub Star 5.4k, Downloads 379k, 2023, Python Development)
  • ExceptNotifier: Package for Sending Detailed Error Messages to Users via Messenger when Errors Occur in try-except Statements (Downloads 27k, 2023, Python Development)
  • All About LLM: Documentation of Papers and Projects on Large Language Models (2023, LLM)
  • Ko LLaMa2 Jindo: Project Focused on Creating a Korean Natural Language Model, Entire Pipeline Construction and Lightweighting (2023, LLM)
  • GORANI: Multipurpose Korean LLM Development Project based on LLaMA2 (2023, LLM)
  • HF Trans LLM: Translator Project for Multilingual Translation and Text Generation (2023, LLM, Python Development)
  • Korean Open LLM Datasets-chain: Project for Collecting/Processing Korean LLM Datasets (2023, Python Development, LLM)
  • Open LLM Datasets: Compilation of Datasets and Papers Used in Open LLM (2023, Python Development, LLM)
  • Open LLM Leaderboard-report: Visualization of Performance of Open Source LLMs based on Four Metrics for Performance Comparison (2023, LLM)
  • Medical QA Bert Chat GPT: Fine-tuning GPT-2 for Question-Answering in the Medical Domain (2023, LLM)
  • Translang: Translation Service Module Providing API for Language Translation (2023, Python Development)
  • Fine-tuned-korean-bert-news-article-classifier: Model Development for News Article Topic Classification, Comparing BERT Implementations in Various Frameworks (2023, LLM)
  • Multi Objective Recommender: Project to Build a Multi-Objective Recommendation System based on Real E-commerce Sessions (2023, Recommender System)
  • Co Coder: Python Package to Simplify Debugging using OpenAI Chat GPT and Google Bard (2023, Python Development)
  • EDA-Nif: Organizing Metadata of Medical AI Nifti Files and Providing Some Functions such as Image Registration and Arbitrary Slicing (2022, AI for Life)

bard-api's People

Contributors

amit9021 avatar ayansengupta17 avatar cboyxd avatar dsdanielpark avatar jjkoh95 avatar kota113 avatar meemeelab avatar mirusu400 avatar nishantchauhan949 avatar qewertyy avatar sachnun avatar salimloudev avatar senseibence avatar sudoalireza avatar szv99 avatar thecodekitchen avatar thewh1teagle avatar veonua avatar yihong0618 avatar zeelsheladiya avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bard-api's Issues

Getting weird error response while executing simple script

from bardapi import Bard

token = '.......'
bard = Bard(token=token)
resp = bard.get_answer("What is BARD?")

print(resp)

It responds with {'content': 'Response Error: b')]}\'\n\n38\n[["wrb.fr",null,null,null,null,[9]]]\n55\n[["di",72],["af.httprm",72,"8367677104245371628",47]]\n25\n[["e",4,null,null,130]]\n'.'}

I started trying the API today morning.. Anyone else facing such issue or am I making a newbie mistake?

Problem when executing Bard.get_answer()

Earlier today, it was working fine but now whenever it executes it shows me this error:

site-packages/bardapi/core.py", line 114, in get_answer
resp_dict = json.loads(resp.content.splitlines()[3])[0][2]
IndexError: list index out of range

license??

What is the license to use this repository? Apache, MIT or GPL, Please upload

problem when i call the api

what should i do ,it returns the content. Response Error: b')]}'\n\n38\n[["wrb.fr",null,null,null,null,[8]]]\n55\n[["di",70],["af.httprm",70,"-2165490944187691766",6]]\n25\n[["e",4,null,null,130]]\n'. []

SNlM0e has disappeared

It's still in the browser, but calling with GET and current cookie setup produces a response without it

Also, calling the stream API (which also has a new body format) with a manually extracted SNlM0e and __Secure-1PSID doesn't work. It's like there is something detecting that the call is not originating from the browser UI

Suggesting to add support behind proxy

Hi,
Thanks for creating this library! It is awsome, easy to use and very useful!
I'm using it behind a proxy, so I added support for proxies locally and would love to contribute it to the library if you agree.
If so - please let me know if you want me to branch, propose a solution and create a pull request.
Thanks!
Nir.

question: how to use a request proxy (not an http proxy)

first of all, congratulations for the excellent project, I did some tests integrating it in a chatbot and it worked incredibly well.

My doubt is: how do I use a request proxy?
reason: I'm from a country where bard is not officially available and I don't have access to a secure and fast proxy.
I tried to use vpn but for independent scripts it ends up being one more problem to deal with.

my solution was to create a CORS proxy for requests on fly.io that receives a request and retransmits it.
but I wanted to know where I can add this in the core of your project?
the proxy works by adding the real url in front of the proxy url and it only works for requests.
example:
https://proxy-request.com/https://bard.google.com/

where could I modify in core.py to make this request like this?

Cannot be used from japan (Bard PSID cookie update?)

I don't know this is specific to me or only rolled out to japan region, but from what I can see now, bard.google.com does not allow logging in just by sending __Secure-1PSID now.
This causes "SNlM0e value not found in response. Check __Secure-1PSID value." error with valid __Secure-1PSID token.

I tried different cookie combination, and found out now it needs 3 cookies:

  • __Secure1-PSID
  • APISID
  • SAPISID

I noticed this library was becoming unstable yesterday (It wasn't unstable before that) and today, it became completly unusable.

Would be appreciated if you can make cookie dict parameter instead of just one PSID str argument.

Thanks

One particular user's cookie gets invalidated after few calls (2/3/4/5)

There has not been any excessive usage for 3 users but one particular user's cookie gets invalidated after few calls. Once I log out and log in once again, it again works for a few times and then again returns "Check __Secure-1PSID value." Is this a user ban or a recent phenomenon or anybody else facing this?

How to continue an conversation?

Can you show me what I need to save so that Bard can remember the previous conversation without starting a new one after each question?
I'm trying to write it on PHP

I used Chrome Dev Tools to monitor and found SNlM0e and conversation_id unchanged, I tried saving it again but the result is not as expected

Provide Links For Images Generated by Google's Bard AI

Hello,

It seems BardAI now supports image generation as per below snapshot. However the Bard-API only returns the alt-image-text for the generated image.
Is there a way to include the links of the generated images?

error :v

when i try to execute the first simple usage script it give me this error: raise Exception(
Exception: __Secure-1PSID value must end with a single dot. Enter correct __Secure-1PSID value.

cannot import

When trying to import the package, I got the following error

ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with LibreSSL 2.8.3. See: urllib3/urllib3#2168

please advice which urllib3 to use

Context understanding

Bard().get_answer(query1)['content']
Bard().get_answer(query2)['content']
The problem with this is that it does not remember the context what was asked in the first query, like Bard actually does. How can we make it remember context when running through API

Error when trying to execute the C# translation code

There are so many errors, when you try to execute the translated code in c#.
It will display Many errors, once you run the code as it is.
From the missing variables to the regex expression and the bad request error.

SNlM0e value not found in response

I have tried to interpret core python code to C# with the help of Chatgpt as I'm just a newbie in this field , It generated the full code to be applicable for integration with Unity. but I have got the error "SNlM0e value not found in response".
I don't know what is the issue, it might be related to my location ?
and here is the code

using UnityEngine;
using System.Collections.Generic;
using System.Text.RegularExpressions;
using System.Net.Http;
using System;
using UnityEngine.Networking;
using System.Linq;

public class Bard
{
    private Dictionary<string, string> proxies;
    private int timeout;
    private Dictionary<string, string> headers;
    private int _reqid;
    private string conversation_id;
    private string response_id;
    private string choice_id;
    private HttpClient httpClient;
    private string SNlM0e;

    public Bard(int timeout = 6, Dictionary<string, string> proxies = null)
    {
        this.proxies = proxies;
        this.timeout = timeout;
        this.headers = new Dictionary<string, string>
        {
            { "Host", "bard.google.com" },
            { "X-Same-Domain", "1" },
            { "User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36" },
            { "Content-Type", "application/x-www-form-urlencoded;charset=UTF-8" },
            { "Origin", "https://bard.google.com" },
            { "Referer", "https://bard.google.com/" }
        };
        this._reqid = int.Parse(string.Join("", UnityEngine.Random.Range(0, 10), UnityEngine.Random.Range(0, 10), UnityEngine.Random.Range(0, 10), UnityEngine.Random.Range(0, 10)));
        this.conversation_id = "";
        this.response_id = "";
        this.choice_id = "";
        this.httpClient = new HttpClient();
        this.httpClient.DefaultRequestHeaders.Clear();
        this.httpClient.DefaultRequestHeaders.Host = "bard.google.com";
        this.httpClient.DefaultRequestHeaders.Add("X-Same-Domain", "1");
        this.httpClient.DefaultRequestHeaders.UserAgent.ParseAdd("Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36");
        this.httpClient.DefaultRequestHeaders.Accept.ParseAdd("application/x-www-form-urlencoded;charset=UTF-8");
        this.httpClient.DefaultRequestHeaders.Referrer = new Uri("https://bard.google.com/");

       // this.httpClient.DefaultRequestHeaders.Add("Cookie", "__Secure-1PSID=" + Environment.GetEnvironmentVariable("_BARD_API_KEY"));

        this.httpClient.DefaultRequestHeaders.Add("Cookie", "__Secure-1PSID=Wgi8wUobo4-2WaJ29Y45F_fGhfjh4GjtcOMkBamz5_dJ4gogfwcocBxvS2PRxuEiJsS4ww.");

        this.SNlM0e = this._get_snim0e();
    }

    private string _get_snim0e()
    {
        var requestUri = "https://bard.google.com/";
        var response = httpClient.GetAsync(requestUri).Result;

        if (!response.IsSuccessStatusCode)
        {
            throw new Exception($"Response Status: {response.StatusCode}");
        }

        var responseContent = response.Content.ReadAsStringAsync().Result;
        Debug.Log("responseContent" + responseContent);
        var match = Regex.Match(responseContent, "SNlM0e\":\"(.*?)\"");
        if (!match.Success)
        {
            throw new Exception("SNlM0e value not found in response.");
        }

        return match.Groups[1].Value;
    }

    public Dictionary<string, object> GetAnswer(string inputText)
    {
        var url = "https://bard.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate";
        var paramsDict = new Dictionary<string, string>
    {
        { "bl", "boq_assistant-bard-web-server_20230419.00_p1" },
        { "_reqid", this._reqid.ToString() },
        { "rt", "c" }
    };

        var inputTextStruct = new List<object[]>
    {
        new object[] { inputText },
        null,
        new object[] { this.conversation_id, this.response_id, this.choice_id }
    };

        var dataDict = new Dictionary<string, string>
    {
        { "f.req", JsonUtility.ToJson(new object[] { null, JsonUtility.ToJson(inputTextStruct) }) },
        { "at", this.SNlM0e }
    };

        var formData = new WWWForm();
        foreach (var kvp in dataDict)
        {
            formData.AddField(kvp.Key, kvp.Value);
        }

        var request = UnityWebRequest.Post(url, formData);
        request.SetRequestHeader("Host", "bard.google.com");
        request.SetRequestHeader("X-Same-Domain", "1");
        request.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36");
        request.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
        request.SetRequestHeader("Origin", "https://bard.google.com");
        request.SetRequestHeader("Referer", "https://bard.google.com/");

        var response = request.SendWebRequest();

        while (!response.isDone) { }

        if (request.result != UnityWebRequest.Result.Success)
        {
            return new Dictionary<string, object> { { "content", $"Response Error: {request.error}." } };
        }

        var responseContent = request.downloadHandler.text;
        var responseLines = responseContent.Split('\n');
        var respDict = JsonUtility.FromJson<DictionaryResponse>(responseLines[3]);
        var respJson = JsonUtility.ToJson(new DictionaryResponse { Content = respDict.Content });
        var parsedAnswer = JsonUtility.FromJson<DictionaryAnswer>(respJson);
        var bardAnswer = new Dictionary<string, object>
    {
        { "content", parsedAnswer.Content[0][0] },
        { "conversation_id", parsedAnswer.Content[1][0] },
        { "response_id", parsedAnswer.Content[1][1] },
        { "factualityQueries", parsedAnswer.Content[3] },
        { "textQuery", parsedAnswer.Content[2][0] != null ? parsedAnswer.Content[2][0] : "" },
        { "choices", parsedAnswer.Content[4].Select(item => new Dictionary<string, object> { { "id", item[0] }, { "content", item[1] } }).ToList() }
    };

        this.conversation_id = (string)bardAnswer["conversation_id"];
        this.response_id = (string)bardAnswer["response_id"];
        choice_id = ((List<Dictionary<string, object>>)bardAnswer["choices"])[0]["id"].ToString(); this._reqid += 100000;

        return bardAnswer;
    }

    [System.Serializable]
    public class DictionaryResponse
    {
        public object[][] Content;
    }

    [System.Serializable]
    public class DictionaryAnswer
    {
        public object[][][] Content;
    }

}

Large volume of requests may result in a ban

I was throwing a request to Bard to summarize a paper, and it started throwing Response Error halfway through. This happens regardless of the Token and will not accept requests from python.
Requests from web browsers are successfully accepted, so there may be some way to fix this.
Do you have any ideas?

Response Error: b')]}\'\n\n38\n[["wrb.fr",null,null,null,null,[8]]]\n55\n[["di",90],["af.httprm",89,"-5846312931853295462",1]]\n25\n[["e",4,null,null,130]]\n'.

New Feature request.

I want a function that can assist in getting quotes from the Bard.
I find it annoying to use get_answer() to get a quote when we can have a command for it.

Translated core to Node.js

I don't expect this to work forever, as Bard's UI interface and internal stream API will likely evolve, but here is some code I wrote in case anyone finds it useful.... use at your own peril!

    //This value expires after 12 days, so need to refresh from Bard's website manually
    const cookie = '__Secure-1PSID=[API_KEY_VALUE]';
    let prompt = "Hi!";
    fetch("https://bard.google.com/",
        {
            method: 'get',
            headers: {
                "Host": "bard.google.com",
                "X-Same-Domain": "1",
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",
                "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
                "Origin": "https://bard.google.com",
                "Referer": "https://bard.google.com",
                'Cookie': cookie
            },
        }).then(async bard_res => {
        var bard_text = await bard_res.text();
        const match = bard_text.match(/"SNlM0e":"(.*?)"/);
        const SNlM0e = match ? match[1] : null;
        fetch("https://bard.google.com/_/BardChatUi/data/assistant.lamda.BardFrontendService/StreamGenerate?bl=boq_assistant-bard-web-server_20230510.09_p1&_reqid=229189&rt=c", {
            method: 'post',
            headers: {
                "Host": "bard.google.com",
                "X-Same-Domain": "1",
                "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",
                "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
                "Origin": "https://bard.google.com",
                "Referer": "https://bard.google.com",
                'Cookie': cookie
            },
            body: "f.req=[null,\"[[\\\""+prompt +"\\\"],null,[\\\"\\\",\\\"\\\",\\\"\\\"]]\"]&at=" + SNlM0e
        }).then(async res => {
            let lines = (await res.text()).split("\n");
            let longest_line = lines.reduce(function (a, b) {
                return a.length > b.length ? a : b;
            }, "");
            let response = JSON.parse(JSON.parse(longest_line)[0][2])[0][0];
            console.log(response);
        })
        .catch(err => {
            console.error('Error:', err);
        });

Want to hold a conversation

I would like to retain the session data after the session is disconnected and use that data to retain the conversation when I re-instantiate the session.
It seems possible if I can retain the conversation_id and reuse it.

AttributeError: 'NoneType' object has no attribute 'group'

Traceback (most recent call last):
File "f:\Python_files\main.py", line 8, in
print(Bard().get_answer(input_text)['content'])
File "F:\facereg\NEW\lib\site-packages\bardapi\core.py", line 43, in init
self.SNlM0e = self._get_snim0e()
File "F:\facereg\NEW\lib\site-packages\bardapi\core.py", line 59, in _get_snim0e
raise Exception(
Exception: SNlM0e value not found in response. Check __Secure-1PSID value.

But i used correct id

Response error

Everything seems to work fine until I run the code and get

Response Error: b')]}'\n\n38\n[["wrb.fr",null,null,null,null,[9]]]\n56\n[["di",113],["af.httprm",113,"-913832998693439861",7]]\n25\n[["e",4,null,null,131]]\n'.

image not displayed

query: "give me an image of maa Saraswati"
when I pass this query to Bard via API, following is the response:
'Sure, here is an image of Maa Saraswati.\n[Image of Maa Saraswati]'

however, when I give this same query to Bard via the chat, it shows me a relevant image

please help resolve this

Getting errors even on first request, even with large timeout

I tried running this, and I am getting the same kind of error. I didn't make a lot of requests, and this error persists whether I vary the following factors:

  • session: Tried with and without
  • timeout: Tried with and without

Here's what the errors are:

Session and timeout: Response Error: b')]}\'\n\n38\n[["wrb.fr",null,null,null,null,[9]]]\n57\n[["di",207],["af.httprm",206,"-5973836830292919317",0]]\n25\n[["e",4,null,null,132]]\n'.

Session: Response Error: b')]}\'\n\n38\n[["wrb.fr",null,null,null,null,[9]]]\n57\n[["di",158],["af.httprm",157,"-7097826725018575708",1]]\n25\n[["e",4,null,null,132]]\n'.

Timeout: Response Error: b')]}\'\n\n38\n[["wrb.fr",null,null,null,null,[9]]]\n57\n[["di",188],["af.httprm",187,"-7191527685766192777",2]]\n25\n[["e",4,null,null,132]]\n'.

No Sesh No Timeout: Response Error: b')]}\'\n\n38\n[["wrb.fr",null,null,null,null,[9]]]\n56\n[["di",170],["af.httprm",170,"3959452704966963607",1]]\n25\n[["e",4,null,null,131]]\n'.
!pip install bardapi


from bardapi import Bard
import os
import requests

# Get this from going to 
# Bard web UI --> 
# Developer tools --> 
# Applications --> 
# Storage tab --> 
# cookies --> 
# Secure-1PSID
token='MYCOOKIE.'
session = requests.Session()
session.headers = {
            "Host": "bard.google.com",
            "X-Same-Domain": "1",
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36",
            "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
            "Origin": "https://bard.google.com",
            "Referer": "https://bard.google.com/",
        }
session.cookies.set("__Secure-1PSID", token)

# TRY DIFFERENT COMBOS OF SESSION AND TIMEOUT 

# Session and timeout 
bard = Bard(token=token, session=session, timeout=500)
ans = bard.get_answer("What's a creative use for a hat?")['content']
print("Session and timeout:", ans)

# Session
bard = Bard(token=token, session=session)
ans = bard.get_answer("What's a creative use for a hat?")['content']
print("Session:", ans)

# Timeout
bard = Bard(token=token, timeout=500)
ans = bard.get_answer("What's a creative use for a hat?")['content']
print("Timeout:", ans)

# No Session, No Timeout
bard = Bard(token=token)
ans = bard.get_answer("What's a creative use for a hat?")['content']
print("No Sesh No Timeout:", ans)

Getting wrong responses when referencing previous inputs

When providing the input text to tell me what was going on it the past prompts it is giving me responses that are either hallucinatory or is someone else's conversation.

Example:
Prompt: tell me the the last 3 prompts that I wrote to you

Response:
Sure. The last 3 prompts that you wrote to me were:

  1. "who are you? today is 2023-05-17"
  2. "Remember the search results of this query: last 3 prompts"
  3. "Ask me some questions. Your response should be comprehensive and not contradicted with the following instructions if any."

I hope this helps!

Remarks: Please provide some insight as to why this is happening and if there's any way to prevent it

Chat continuity not working?

I wanted to try to continue the chat and tried the code as per the sample in the readme, but it returns a completely different prompt on the second question.

Is there any way to fix this?

Exception: SNlM0e value not found in response. Check __Secure-1PSID value.

Traceback (most recent call last):
File "F:\Code\Projects\audit\audit-software\data-classification\chat.py", line 6, in
bard = Session(token)
File "F:\Code\Projects\audit\audit-software\data-classification\session.py", line 19, in init
self.bard = Bard(token=self.token, session=session, timeout=30)
File "C:\Users\DHRUV\anaconda3\lib\site-packages\bardapi\core.py", line 49, in init
self.SNlM0e = self._get_snim0e()
File "C:\Users\DHRUV\anaconda3\lib\site-packages\bardapi\core.py", line 192, in _get_snim0e
raise Exception(
Exception: SNlM0e value not found in response. Check __Secure-1PSID value.

Is it chargeable ?

I have done exact steps and get it done to run but, just want to know that Will google charge me if I use it ?

Response Error

{'content': 'Response Error: b')]}\'\n\n38\n[["wrb.fr",null,null,null,null,[8]]]\n56\n[["di",75],["af.httprm",75,"-8694801941071849458",37]]\n25\n[["e",4,null,null,131]]\n'.'}

Such Response is observed while running bard.get_answer("Generate Html an Js for Mean Calculator")

Is google bard has limit number of question?

It appears that there's a quota limitation when invoking the Bard API. I've written a loop for the calls, and I've noticed there seems to be a cap on the number of requests. Once a certain threshold is reached, it starts to return errors, preventing further queries.

Not able to get response

I have followed the procedures in the Read.me file.

from bardapi import Bard
import os
os.environ['_BARD_API_KEY']='WwXXXXXjQIGRj3Cno871zb4FRW1smDrQH10e1H7GbD5LeU9m02OlZJj5-XX.'

# response = Bard().get_answer("나와 내 동년배들이 좋아하는 뉴진스에 대해서 알려줘")['content']
response = Bard().get_answer("What is Bard API")['content']
print(response)

First i have tried with example snippets, i got the below error.

Traceback (most recent call last):
File "PyCharmProjects/Bard-API/scripts/google_bard_api.py", line 13, in
response = Bard().get_answer("나와 내 동년배들이 좋아하는 뉴진스에 대해서 알려줘")['content']
File "PyCharmProjects/Bard-API/bardapi/core.py", line 130, in get_answer
translator_to_lang = GoogleTranslator(source="auto", target=self.language)
File "PyCharmProjects/Bard-API/venv/lib/python3.10/site-packages/deep_translator/google.py", line 39, in init
super().init(
File "PyCharmProjects/Bard-API/venv/lib/python3.10/site-packages/deep_translator/base.py", line 42, in init
raise InvalidSourceOrTargetLanguage(target)
deep_translator.exceptions.InvalidSourceOrTargetLanguage: None --> Invalid source or target language!

then i have changed the input text to english language, and again i got the same error.

Traceback (most recent call last):
File "PyCharmProjects/Bard-API/scripts/google_bard_api.py", line 14, in
response = Bard().get_answer("What is Bard API")['content']
File "PyCharmProjects/Bard-API/bardapi/core.py", line 130, in get_answer
translator_to_lang = GoogleTranslator(source="auto", target=self.language)
File "PyCharmProjects/Bard-API/venv/lib/python3.10/site-packages/deep_translator/google.py", line 39, in init
super().init(
File "PyCharmProjects/Bard-API/venv/lib/python3.10/site-packages/deep_translator/base.py", line 42, in init
raise InvalidSourceOrTargetLanguage(target)
deep_translator.exceptions.InvalidSourceOrTargetLanguage: None --> Invalid source or target language!

Could anybody get help me here?

Response error

I did as the docs said and just replaced my api key yet I m getting the error

from bardapi import Bard
import os

#Replace XXXX with the values you get from __Secure-1PSID 
os.environ['_BARD_API_KEY']="XXXX"
# set your input text
input_text = "what is google bard?"

print(Bard().get_answer(input_text)['content'])

Response Error: b')]}\'\n\n38\n[["wrb.fr",null,null,null,null,[9]]]\n56\n[["di",329],["af.httprm",329,"2550290118937250235",0]]\n25\n[["e",4,null,null,131]]\n'.

Response error

Response Error: b')]}'\n\n38\n[["wrb.fr",null,null,null,null,[9]]]\n56\n[["di",253],["af.httprm",252,"7953890135670054436",0]]\n25\n[["e",4,null,null,131]]\n'.

image

list index out of range

well, maybe google decided to change things a bit...

File "/home/runner/Bard-AI-bot-template-bardapi/venv/lib/python3.10/site-packages/bardapi/core.py", line 86, in get_answer
resp_dict = json.loads(resp.content.splitlines()[3])[0][2]
IndexError: list index out of range

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.