Spaces:
Runtime error
Runtime error
| desc = """ | |
| Notebook implementation of the self-ask + Google tool use prompt. | |
| Adapted from https://github.com/ofirpress/self-ask | |
| """ | |
| from dataclasses import dataclass, replace | |
| from typing import Optional | |
| from minichain import prompt, show, OpenAI, Google | |
| class State: | |
| question: str | |
| history: str = "" | |
| next_query: Optional[str] = None | |
| final_answer: Optional[str] = None | |
| def self_ask(model, state): | |
| out = model(state) | |
| res = out.split(":", 1)[1] | |
| if out.startswith("Follow up:"): | |
| return replace(state, next_query=res) | |
| elif out.startswith("So the final answer is:"): | |
| return replace(state, final_answer=res) | |
| def google(model, state): | |
| if state.next_query is None: | |
| return state | |
| result = model(state.next_query) | |
| return State(state.question, | |
| state.history + "\nIntermediate answer: " + result + "\n") | |
| def selfask(question): | |
| state = State(question) | |
| for i in range(3): | |
| state = self_ask(state) | |
| state = google(state) | |
| return state | |
| gradio = show(selfask, | |
| examples=["What is the zip code of the city where George Washington was born?"], | |
| subprompts=[self_ask, google] * 3, | |
| description=desc, | |
| code=open("selfask.py", "r").read().split("$")[1].strip().strip("#").strip(), | |
| out_type="json" | |
| ) | |
| if __name__ == "__main__": | |
| gradio.launch() | |