Hi all,
I’m trying to make it work Guidance with LM Studio. This is my code:
from langchain.llms import OpenAI
import guidance
llm = OpenAI(
openai_api_key="NULL",
temperature=0,
openai_api_base="http://localhost:1234/v1",
max_tokens=-1
)
guidance.llm = llm
program = guidance("""Tweak this proverb to apply to model instructions instead.
{{proverb}}
- {{book}} {{chapter}}:{{verse}}
UPDATED
Where there is no guidance{{gen 'rewrite' stop="\\n-"}}
- GPT {{#select 'chapter'}}9{{or}}10{{or}}11{{/select}}:{{gen 'verse'}}""")
# execute the program on a specific proverb
executed_program = program(
proverb="Where there is no guidance, a people falls,\nbut in an abundance of counselors there is safety.",
book="Proverbs",
chapter=11,
verse=14
)
I’m getting this error at the line program = guidance(…): guidance is not callable. Can you explain me what I’m missing?
is your file is named “guidance.py”?
I get a different Error: “guidance\library\_select.py”, line 121, in recursive_select for k,v in logprobs_result[“top_logprobs”][0].items(): TypeError: ‘NoneType’ object is not subscriptable Error in program: ‘NoneType’ object is not subscriptable"
LM Studio sent a response " “text”: “there is no safety,\nbut with many advisers there is success.”, “logprobs”: null, "
I guess the “logprobs” are the Problem here. (I have no Idea what I’m doing, TBH).
I modified only Line 4 of the Example to :guidance.llm = guidance.llms.OpenAI("text-davinci-003", api_key = "foobar", api_base = "
http://localhost:1234/v1
")
I’m far from having a very technical understanding of any of this, but I have had zero luck with guidance, and some appreciable luck with llama.cpp grammars to constrain outputs. Might be worth having a look into it. Not sure how any of it works with LM studio though.
I use ChatGpt all the time to help me with new project and error :
The error message “guidance is not callable” indicates that
guidance
is being used as if it were a function, but it isn’t defined as one in the code you’ve provided. It seems likeguidance
is intended to be a module or package that contains certain functions or classes that you want to use.If
guidance
is a module you’ve imported, you should be calling a function within that module instead of the module itself. You need to check theguidance
module’s documentation or source code to see what functions or classes it provides, and then use one of those.For example, if
guidance
has a class or function namedcreate_program
, you would use it like this:program = guidance.create_program(...)
Alternatively, if
guidance
is supposed to be a callable object, then the issue might be with how you’re importing or definingguidance
. Make sure thatguidance
is imported correctly and that it refers to a callable object. Ifguidance
is the name of a function you intended to define, ensure that you have actually defined it before trying to call it.what is this script supposed to output?