微信扫码
添加专属顾问
我要投稿
ollama run llama3.1
! pip install ollama openai "pymilvus[model]"
from pymilvus import MilvusClient, modelembedding_fn = model.DefaultEmbeddingFunction()docs = ["Artificial intelligence was founded as an academic discipline in 1956.","Alan Turing was the first person to conduct substantial research in AI.","Born in Maida Vale, London, Turing was raised in southern England.",]vectors = embedding_fn.encode_documents(docs)# The output vector has 768 dimensions, matching the collection that we just created.print("Dim:", embedding_fn.dim, vectors[0].shape)# Dim: 768 (768,)# Each entity has id, vector representation, raw text, and a subject label.data = [{"id": i, "vector": vectors[i], "text": docs[i], "subject": "history"}for i in range(len(vectors))]print("Data has", len(data), "entities, each with fields: ", data[0].keys())print("Vector dim:", len(data[0]["vector"]))# Create a collection and insert the dataclient = MilvusClient('./milvus_local.db')client.create_collection(collection_name="demo_collection",dimension=768,# The vectors we will use in this demo has 768 dimensions)client.insert(collection_name="demo_collection", data=data)
from pymilvus import modelimport jsonimport ollamaembedding_fn = model.DefaultEmbeddingFunction()# Simulates an API call to get flight times# In a real application, this would fetch data from a live database or APIdef get_flight_times(departure: str, arrival: str) -> str:flights = {'NYC-LAX': {'departure': '08:00 AM', 'arrival': '11:30 AM', 'duration': '5h 30m'},'LAX-NYC': {'departure': '02:00 PM', 'arrival': '10:30 PM', 'duration': '5h 30m'},'LHR-JFK': {'departure': '10:00 AM', 'arrival': '01:00 PM', 'duration': '8h 00m'},'JFK-LHR': {'departure': '09:00 PM', 'arrival': '09:00 AM', 'duration': '7h 00m'},'CDG-DXB': {'departure': '11:00 AM', 'arrival': '08:00 PM', 'duration': '6h 00m'},'DXB-CDG': {'departure': '03:00 AM', 'arrival': '07:30 AM', 'duration': '7h 30m'},}key = f'{departure}-{arrival}'.upper()return json.dumps(flights.get(key, {'error': 'Flight not found'}))# Search data related to Artificial Intelligence in a vector databasedef search_data_in_vector_db(query: str) -> str:query_vectors = embedding_fn.encode_queries([query])res = client.search(collection_name="demo_collection",data=query_vectors,limit=2,output_fields=["text", "subject"],# specifies fields to be returned)print(res)return json.dumps(res)
def run(model: str, question: str):client = ollama.Client()# Initialize conversation with a user querymessages = [{"role": "user", "content": question}]# First API call: Send the query and function description to the modelresponse = client.chat(model=model,messages=messages,tools=[{"type": "function","function": {"name": "get_flight_times","description": "Get the flight times between two cities","parameters": {"type": "object","properties": {"departure": {"type": "string","description": "The departure city (airport code)",},"arrival": {"type": "string","description": "The arrival city (airport code)",},},"required": ["departure", "arrival"],},},},{"type": "function","function": {"name": "search_data_in_vector_db","description": "Search about Artificial Intelligence data in a vector database","parameters": {"type": "object","properties": {"query": {"type": "string","description": "The search query",},},"required": ["query"],},},},],)# Add the model's response to the conversation historymessages.append(response["message"])# Check if the model decided to use the provided functionif not response["message"].get("tool_calls"):print("The model didn't use the function. Its response was:")print(response["message"]["content"])return# Process function calls made by the modelif response["message"].get("tool_calls"):available_functions = {"get_flight_times": get_flight_times,"search_data_in_vector_db": search_data_in_vector_db,}for tool in response["message"]["tool_calls"]:function_to_call = available_functions[tool["function"]["name"]]function_args = tool["function"]["arguments"]function_response = function_to_call(**function_args)# Add function response to the conversationmessages.append({"role": "tool","content": function_response,})# Second API call: Get final response from the modelfinal_response = client.chat(model=model, messages=messages)print(final_response["message"]["content"])
question = "What is the flight time from New York (NYC) to Los Angeles (LAX)?"run('llama3.1', question)
The flight time from New York (JFK/LGA/EWR) to Los Angeles (LAX) is approximately 5 hours and 30 minutes. However, please note that this time may vary depending on the airline, flight schedule, and any potential layovers or delays. It's always best to check with your airline for the most up-to-date and accurate flight information.
question = "What is Artificial Intelligence?"run('llama3.1', question)
data: ["[{'id': 0, 'distance': 0.4702666699886322, 'entity': {'text': 'Artificial intelligence was founded as an academic discipline in 1956.', 'subject': 'history'}}, {'id': 1, 'distance': 0.2702862620353699, 'entity': {'text': 'Alan Turing was the first person to conduct substantial research in AI.', 'subject': 'history'}}]"] , extra_info: {'cost': 0}53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-12-14
我微调了一个LangChain专家模型,离Vibe Agent又近了一步
2025-12-11
左脚踩右脚:大模型的有趣且简单的微调方式“SHADOW-FT”
2025-12-11
大模型训练的高效内存解决方案:流水线感知的细粒度激活卸载,实现显存开销与吞吐性能的联合最优
2025-12-08
一杯咖啡成本搞定多模态微调:FC DevPod + Llama-Factory 极速实战
2025-12-04
OpenAI公开新的模型训练方法:或许能解决模型撒谎问题,已在GPT-5 thiking验证
2025-11-23
微调Rerank模型完整指南
2025-11-22
大模型微调全流程实战指南:基于IPO框架的深度解析与优化
2025-11-21
AI基础 | Qwen3 0.6B 微调实现轻量级意图识别
2025-10-12
2025-10-14
2025-10-21
2025-09-24
2025-09-20
2025-09-25
2025-11-05
2025-11-05
2025-11-21
2025-12-04