For me , a simple guy , dify ,the tool you talk about previously , was so good for me and I love it so much ,it give me a better way to interact smoothly with functions and work flow to make a true "AI assistant" , still not perfect and really need alot of work , but for me it's better than using the "call function" way ,because as demonstrated here ,sometimes it doesn't give the correct response , and I don't want to leave it to the chance ,and I am way to noob to code a good app honestly , but anyway ,thanks for the video and hope you have a great day
New subscriber here. Thanks for the great content. I can't wait for the Ollama course. All this open LLM world is really fascinating and is bound to be a great part of our future.
the problem is for people who don't understand is that it is still just a wrapper ... the model does not have a seperate input for functions so the functions will always need to be embedded into the prompt !
as for your q: imo function calling working unreliably... i guess it could be worked around by implementing a checker and just running it again - maybe using 2 diff weather services as tool, and if not too far off, then cal the avg for the temp. but that's just for weather, diff approach needs to be taken per use case / tool implementation.
All I did was add a system prompt to exclude any additional information. Function calling works perfectly every time. Only think I wish I that we could send the functions only once and the model allows us to update and delete tools. I created something similar in JavaScript and have an interceptor send the tools along with my request. Just don’t like the size of the payload to send with tools, especially if you have a lot of tools.
I would love to hear some expertise on AMD vs Nvidia affordable hardware with Ollama. Like those old cards like M40, P100, MI25 etc. So many opinions out there and little fact.
You seem super knowledgeable about ollama so i hope you respond. How can we interact with a csv data in an effective way with ollama? It works for small stuff but when working with a large data set of vehicle parts and many differnt columns and rows it cant use it all very well? How can i vectorize the csv and make it either integrated into the local private model? Or somehow interact with the ability to have large data files
Hmmm, well the best most complete answer is probably going to come from the ollama discord at discord.gg/ollama. Depends on how large the data set is. Models have a context size which says how large the input text and output text can be. Some models say they have a context size of 128k or bigger, but all models start at 2k on Ollama. Its easy enough to change that in a new modelfile or in the command line or api. And then you should be able to work with large files.
I am super new at this (like 4 days new) so take what I say with a massive grain of salt. You might be able to use something like langchain with Ollamaemdding to make your life easier. You can try using FAISS as the vector data store. From there you can use langchain with ollama to query about the csv in the vector store. I havent tried with CSV data yet so im not sure how well it will work for your use case.
Not quite. First off langchain complicates rather than simplifies. I would only recommend that if doing something very complicated. Second embedding generates a vector based on text and that vector represents the semantic meaning of the text. Csv data has no meaning in it but rather is source data that needs to be interpreted. Maybe use a model to interpret many ways and then embed that, but it’s probably not possible to generate every interpretation of the data especially as it gets more complicated.
@@technovangelist Thanks a ton for correcting me :D! I actually didn't realize how CSV data doesn't really have meaning for the embedding to work properly.
{ toolCall: { toolName: 'toggleLightTool', args: { state: false }, res: 'Light now is off' } } { role: 'tool', content: 'Light now is off' } { role: 'assistant', content: "Ha ha, I'm afraid not! As a digital AI assistant, I don't have the capability to physically control or manipulate the physical world. I exist solely in the digital realm and can only interact with text-based inputs and outputs. So, unfortunately, I can't turn lights on or off for you. But if you'd like some information on how to do so, I'd be happy to help!" }
Thanks Matt. That was great as usual. If I may ask 1- what's the color theme you're using? 2- can you make a vedio on groq and the best practices to use it Thanks in advance
Yes. That’s new since the video was posted. But it’s such a minor part of the video it wasn’t worth updating. That’s one problem with videos. They are always out of date soon after publish.
@@technovangelist It might still be worth to write and pin the comment with instruction how to find it. BTW: When I tried to describe how to access it by appending the query parameter to the URL, my comment vanished :(
I'm not really seeing a real difference between this methid and the old one. I think the new approach is just missing some prompt engineering to explain to the model what's happening.
@technovangelist - We are looking for AI experts interested in part-time collaboration. If you're interested in contributing to cutting-edge AI projects for a startup, let's connect!
I was type and add some tools... base64DecodeTool, toggleLightTool and getAnimalNameRatingTool. My assist use it +-every chat user request, without user call context. Base64 args looks is strange, random animal names too 😂 { role: 'user', content: 'Hi' } { role: 'assistant', content: '' } { toolCall: { toolName: 'getAnimalNameRatingTool', args: { name: 'Jack' }, res: 'Rating of name "Jack" is: 7' } } { role: 'tool', content: 'Rating of name "Jack" is: 7' } { role: 'assistant', content: 'Hello!' } meta-llama-3.1-8b
I’m so glad you’re here to keep me up to date on ollama.
@@aliphian 💯
I think you are being intentionally great at explaining tech around ollama sir 😁
For me , a simple guy , dify ,the tool you talk about previously , was so good for me and I love it so much ,it give me a better way to interact smoothly with functions and work flow to make a true "AI assistant" , still not perfect and really need alot of work , but for me it's better than using the "call function" way ,because as demonstrated here ,sometimes it doesn't give the correct response , and I don't want to leave it to the chance ,and I am way to noob to code a good app honestly , but anyway ,thanks for the video and hope you have a great day
New subscriber here. Thanks for the great content. I can't wait for the Ollama course. All this open LLM world is really fascinating and is bound to be a great part of our future.
the problem is for people who don't understand is that it is still just a wrapper ... the model does not have a seperate input for functions so the functions will always need to be embedded into the prompt !
I still haven't used tools or functions before, but I like hearing that the process might be easier by the time I try it
as for your q: imo function calling working unreliably... i guess it could be worked around by implementing a checker and just running it again - maybe using 2 diff weather services as tool, and if not too far off, then cal the avg for the temp. but that's just for weather, diff approach needs to be taken per use case / tool implementation.
Relying on kludges like pydantic and other tools means it’s broken. Use the older more reliable approach. The tool itself works fine.
Always a good day when when you drop a new video
Stay hydrated! LLM's are thirsty work 😄
All I did was add a system prompt to exclude any additional information. Function calling works perfectly every time. Only think I wish I that we could send the functions only once and the model allows us to update and delete tools. I created something similar in JavaScript and have an interceptor send the tools along with my request. Just don’t like the size of the payload to send with tools, especially if you have a lot of tools.
Thank You ! i got it working now.
I would love to hear some expertise on AMD vs Nvidia affordable hardware with Ollama. Like those old cards like M40, P100, MI25 etc. So many opinions out there and little fact.
You seem super knowledgeable about ollama so i hope you respond.
How can we interact with a csv data in an effective way with ollama?
It works for small stuff but when working with a large data set of vehicle parts and many differnt columns and rows it cant use it all very well?
How can i vectorize the csv and make it either integrated into the local private model? Or somehow interact with the ability to have large data files
Hmmm, well the best most complete answer is probably going to come from the ollama discord at discord.gg/ollama. Depends on how large the data set is. Models have a context size which says how large the input text and output text can be. Some models say they have a context size of 128k or bigger, but all models start at 2k on Ollama. Its easy enough to change that in a new modelfile or in the command line or api. And then you should be able to work with large files.
I am super new at this (like 4 days new) so take what I say with a massive grain of salt. You might be able to use something like langchain with Ollamaemdding to make your life easier. You can try using FAISS as the vector data store. From there you can use langchain with ollama to query about the csv in the vector store.
I havent tried with CSV data yet so im not sure how well it will work for your use case.
Not quite. First off langchain complicates rather than simplifies. I would only recommend that if doing something very complicated. Second embedding generates a vector based on text and that vector represents the semantic meaning of the text. Csv data has no meaning in it but rather is source data that needs to be interpreted. Maybe use a model to interpret many ways and then embed that, but it’s probably not possible to generate every interpretation of the data especially as it gets more complicated.
@@technovangelist Thanks a ton for correcting me :D! I actually didn't realize how CSV data doesn't really have meaning for the embedding to work properly.
{
toolCall: {
toolName: 'toggleLightTool',
args: { state: false },
res: 'Light now is off'
}
}
{ role: 'tool', content: 'Light now is off' }
{
role: 'assistant',
content: "Ha ha, I'm afraid not! As a digital AI assistant, I don't have the capability to physically control or manipulate the physical world. I exist solely in the digital realm and can only interact with text-based inputs and outputs. So, unfortunately, I can't turn lights on or off for you. But if you'd like some information on how to do so, I'd be happy to help!"
}
Yeah. I see stuff like that a whole lot with the new approach. The older approach never does that stuff.
Thanks Matt. That was great as usual. If I may ask
1- what's the color theme you're using?
2- can you make a vedio on groq and the best practices to use it
Thanks in advance
Color theme? Ummm where?
Haven’t done anything with groq yet but need to
Nice, but i think you didn't add the folder code in the repository.
sorry, its there now
Of course you CAN filter model by tools and it's there for at least 3 days. There's even UI for that (just not in the place you looked for).
Yes. That’s new since the video was posted. But it’s such a minor part of the video it wasn’t worth updating. That’s one problem with videos. They are always out of date soon after publish.
@@technovangelist It might still be worth to write and pin the comment with instruction how to find it. BTW: When I tried to describe how to access it by appending the query parameter to the URL, my comment vanished :(
Great, now where is the code? Thanks.
It wouldn’t be me if it were there on time....its there now....thanks for the reminder
The last few minutes were spent in a state of confusion, like a real programmer, just like me
no water!? 😱
I'm not really seeing a real difference between this methid and the old one. I think the new approach is just missing some prompt engineering to explain to the model what's happening.
the first way qorks better , but thats not the way
@technovangelist - We are looking for AI experts interested in part-time collaboration. If you're interested in contributing to cutting-edge AI projects for a startup, let's connect!
I was type and add some tools... base64DecodeTool, toggleLightTool and getAnimalNameRatingTool. My assist use it +-every chat user request, without user call context. Base64 args looks is strange, random animal names too 😂
{ role: 'user', content: 'Hi' }
{ role: 'assistant', content: '' }
{
toolCall: {
toolName: 'getAnimalNameRatingTool',
args: { name: 'Jack' },
res: 'Rating of name "Jack" is: 7'
}
}
{ role: 'tool', content: 'Rating of name "Jack" is: 7' }
{
role: 'assistant',
content: 'Hello!'
}
meta-llama-3.1-8b